Rencana Pelajaran Raspberry Pi Pico: 6 Minggu MicroPython di Kelas
Rencana pelajaran Raspberry Pi Pico: 6 minggu pelajaran MicroPython 40 menit dengan proyek gratis, pengaturan Thonny, daftar bahan untuk 24 siswa, dan contoh pelajaran.
Kalau kamu sedang mencari rencana pelajaran Raspberry Pi Pico, ini jawaban singkatnya: 6 minggu, satu pelajaran 40 menit per minggu, siswa berpasangan, dan satu konsep MicroPython baru setiap minggu. Di minggu 1 siswa menyalakan LED bawaan dengan satu baris di REPL Thonny; setelah itu menyusul variabel dan pengaturan waktu, fungsi, tombol dan kondisi, suara dan sensor jarak dengan PWM, dan di minggu terakhir piano lima tombol yang dibuat dengan list dan perulangan for. Proyek setiap minggu tersedia gratis di BlueGrays lengkap dengan skema rangkaian, daftar komponen, dan kodenya, jadi siswa tidak butuh Premium. Rencana ini memakai Raspberry Pi Pico atau Pico W dengan Thonny dan ditulis untuk siswa SMP dan SMA yang belum pernah menulis kode.
Pertama kita lihat kenapa Pico dan MicroPython sangat cocok untuk kelas, lalu persiapan sebelum pelajaran pertama: file UF2 MicroPython, tombol BOOTSEL, memilih interpreter di Thonny, dan hal-hal yang perlu diperhatikan di komputer sekolah. Setelah itu kamu mendapat rencana minggu demi minggu dengan padanan Arduino C++ untuk setiap konsep, daftar bahan untuk kelas berisi 24 siswa, contoh pelajaran menit demi menit, tiga contoh kode singkat, tabel penilaian, dan solusi untuk masalah yang paling sering muncul di kelas. Versi 8 minggu dari pendekatan ini dengan Arduino dan blok sudah kami bahas di rencana pelajaran coding blok; rencana ini tidak mengulanginya dan ditujukan untuk kelas yang ingin langsung mulai dengan kode berbasis teks atau beralih ke Python setelah blok.

Kenapa Raspberry Pi Pico dan MicroPython?
Pico adalah board mikrokontroler kecil buatan Raspberry Pi yang dibangun di atas chip RP2040 milik mereka sendiri. Pico bukan komputer; seperti Arduino, board ini menjalankan satu program berulang-ulang. Ada tiga kelebihannya di kelas. Yang pertama adalah MicroPython, versi Python yang dirampingkan untuk mikrokontroler. Bahasanya mudah dibaca dan tidak memakai titik koma atau kurung kurawal, jadi siswa yang sudah mengenal Python di pelajaran informatika memakai bahasa yang sama untuk mengendalikan LED atau buzzer. Yang kedua, tidak ada kompilasi: begitu kamu menekan Run di Thonny, kode langsung berjalan di board, dan kamu tidak perlu menunggu kompilasi dan upload setelah setiap perubahan kecil. Dalam pelajaran 40 menit, itu berarti jauh lebih banyak percobaan dalam waktu yang sama. Yang ketiga adalah REPL: ketik satu baris di Shell Thonny, tekan Enter, dan board langsung menjalankannya. Ketika seorang siswa mengetik led.on() dan LED menyala, dalam lima menit ia paham bahwa memprogram berarti memberi perintah ke board. Harganya yang murah dan board yang bisa langsung ditancapkan ke breadboard juga membuat kerja berpasangan jadi realistis. Kapan Arduino jadi pilihan yang lebih mudah? Dengan siswa yang lebih muda yang baru lancar membaca, atau kalau sebagian besar kit-mu berupa modul 5 V, mulai dengan Arduino dan blok akan memberi lebih sedikit kejutan. Untuk spesifikasi dan pinout board-nya, lihat Apa Itu Raspberry Pi Pico?
| Fitur | Raspberry Pi Pico + MicroPython | Arduino Uno + C++ |
|---|---|---|
| Tegangan pin | 3,3 V (tidak tahan 5 V) | 5 V |
| Bahasa dan editor | MicroPython, Thonny | C++, Arduino IDE |
| Menjalankan kode | Langsung begitu kamu menekan Run, tanpa kompilasi | Kompilasi dan upload setiap kali ada perubahan |
| Uji baris demi baris (REPL) | Ya: >>> di Shell Thonny | Tidak |
| Input analog | 3 pin (GP26–GP28), read_u16() 0–65535 | 6 pin (A0–A5), analogRead() 0–1023 |
| Port USB | Micro USB | USB-B (Uno R3) |
| Di breadboard | Pico H / WH sudah ada header-nya dan langsung bisa ditancapkan | Board di luar, dihubungkan dengan kabel jumper |
| Harga | Biasanya jelas lebih murah daripada Uno | Lebih mahal |
Sebelum pelajaran pertama: MicroPython dan Thonny
- Kenali board-mu: Pico, Pico W, Pico 2, dan Pico 2 W masing-masing butuh file MicroPython yang berbeda. Cek tulisan di board, lalu unduh file .uf2 terbaru khusus untuk board itu dari halaman unduhan resmi MicroPython. Dengan file yang salah, board tidak mau menyala atau Wi-Fi tidak berfungsi.
- Colokkan sambil menahan BOOTSEL: tahan tombol BOOTSEL putih di sebelah port USB sambil mencolokkan kabel ke komputer, lalu lepaskan. Sebuah drive bernama RPI-RP2 muncul di komputer (di Pico 2 namanya RP2350).
- Salin file UF2: seret file .uf2 ke drive itu. Board akan restart dalam beberapa detik dan drive-nya hilang; itu bukan error, artinya MicroPython sudah terinstal. MicroPython tetap tersimpan di board, jadi kamu tidak perlu menginstal ulang setiap pelajaran.
- Pilih interpreter di Thonny: di Tools > Options > Interpreter, pilih “MicroPython (Raspberry Pi Pico)” dan biarkan port pada deteksi otomatis. Pilihan yang sama bisa kamu lakukan dengan mengklik pojok kanan bawah jendela Thonny.
- Uji koneksinya: kamu seharusnya melihat prompt >>> di Shell bagian bawah. Ketik print("hello") lalu tekan Enter; kalau ada balasan, board siap untuk kelas.
Jangan menunda pengaturan di komputer sekolah sampai pelajaran berlangsung; bicarakan dengan tim IT seminggu sebelumnya. Thonny berjalan di Windows, macOS, dan Linux dan sudah membawa Python sendiri, jadi tidak ada Python terpisah yang perlu diinstal. Ada juga versi portable untuk Windows yang sama sekali tidak perlu instalasi, dan ini sangat memudahkan di lab terkunci yang hanya mengizinkan tim IT menginstal software. Windows 10 dan 11 mengenali Pico sebagai port serial (COM) tanpa driver tambahan. Beberapa sekolah memblokir flashdisk USB; dalam kasus itu drive RPI-RP2 mungkin tidak muncul di komputer siswa, tetapi kalau kamu sudah menginstal MicroPython di board-board itu sebelumnya di komputermu sendiri, tidak masalah, karena pelajaran hanya memakai koneksi serial. Terakhir, tunjukkan ke siswa dua pilihan di dialog simpan Thonny: “This computer” menyimpan file ke komputer, “Raspberry Pi Pico” menyimpannya ke board. Pasangan yang tidak tahu mana yang mereka pilih tidak akan menemukan kodenya di minggu 6.
Rencana pelajaran Raspberry Pi Pico 6 minggu
Setiap pelajaran dirancang untuk 40 menit dengan siswa berpasangan. Setiap proyek di tabel tersedia gratis di BlueGrays, dan proyek tiga minggu pertama juga punya tampilan blok di samping kodenya. Urutannya disengaja: output (LED) dulu, lalu variabel dan pengaturan waktu, fungsi, lalu input dan kondisi, suara dan sensor dengan PWM, dan terakhir list dan perulangan. Setiap minggu menambah satu ide baru di atas minggu sebelumnya. Kolom terakhir menunjukkan konsep yang sama di Arduino C++, sehingga terbangun jembatan bagi siswa yang nanti akan beralih ke Arduino; untuk sisi C++ secara detail, lihat dasar pemrograman Arduino.
| Minggu | Tujuan | Proyek BlueGrays gratis | Konsep MicroPython baru | Padanan Arduino C++ |
|---|---|---|---|---|
| 1 | Mengenal Pico, program pertama, output digital | Kedip LED Bawaan Raspberry Pi Pico (Pico dan Pico W), Raspberry Pi Pico: Mengendalikan LED Eksternal (GP14 + Breadboard) | REPL (>>>), from machine import Pin, Pin(14, Pin.OUT), led.on() / led.off(), time.sleep(0.5), while True:, indentasi | pinMode(14, OUTPUT); digitalWrite(14, HIGH); delay(500); void loop() (output digital) |
| 2 | Variabel, pengaturan waktu, dua output | Dua LED Bergantian Raspberry Pi Pico (Pola Kedip Bergantian, GP14 + GP13), Efek Lampu Strobo Polisi Raspberry Pi Pico (Merah + Biru, GP11 + GP12) | WAIT_MS = 300 (variabel), led.value(1), led.toggle(), sleep_ms(300) | int waitMs = 300; digitalWrite(13, !digitalRead(13)); delay(waitMs); (variabel dan toggle) |
| 3 | Lebih sedikit pengulangan: fungsi | Simulator Lampu Lalu Lintas Raspberry Pi Pico (3 LED Berurutan, GP11/GP12/GP13) | def all_off():, memanggil fungsi, detik desimal dengan sleep(1.5) | void allOff() { … } ; delay(1500); (fungsi) |
| 4 | Input, kondisi, dan state | Lampu Lalu Lintas Raspberry Pi Pico dengan Pemilih 4 Mode lewat Tombol (State Machine, GP11-13 + GP4) | Pin(4, Pin.IN, Pin.PULL_UP), if / elif / else, mode = (mode + 1) % 4, time.ticks_ms() (input dan kondisi) | pinMode(4, INPUT_PULLUP); if / else if / else; millis() (input dan kondisi) |
| 5 | Sensor dan suara | Sensor Parkir Raspberry Pi Pico (HC-SR04 + 3 LED + Buzzer) | PWM(Pin(17)), freq(), duty_u16(), time_pulse_us(), def … return (PWM dan fungsi dengan nilai kembalian) | tone(17, 1200); pulseIn(); return (suara dan sensor) |
| 6 | List, perulangan for, proyek akhir | Piano Tombol Raspberry Pi Pico (5 Tombol + Buzzer + Perekam Melodi) | NOTE_HZ = (523, 587, 659, 698, 784), for … in, lima tombol dengan kode yang sama | int notes[] = {523, 587, 659, 698, 784}; for (int i = 0; i < 5; i++) (array dan perulangan for) |

Ketika menjalankan rencana ini, jadikan aturan bahwa siswa mengubah satu nilai di akhir setiap minggu. Di minggu 1, proyek LED bawaan memanggil LED dengan nama “LED”, jadi berjalan sama di Pico dan Pico W; LED eksternal dihubungkan ke GP14, yaitu pin fisik 19, dan pin 18 tepat di sebelahnya adalah GND. Di minggu 2, menurunkan WAIT_MS di Efek Lampu Strobo Polisi dari 300 ke 80 menunjukkan bahwa satu variabel mengubah ritme kedua LED sekaligus. Di minggu 3, Lampu Lalu Lintas memanggil all_off() tiga kali di dalam perulangan; minta siswa menghapus fungsinya dan menulis hal yang sama secara manual, dan begitu melihat sembilan baris menumpuk, mereka sendiri yang akan menjelaskan kenapa fungsi itu ada. Minggu 4 adalah proyek tingkat menengah: tombol dihubungkan dengan PULL_UP, jadi terbaca 0 ketika ditekan, dan setiap tekanan mengganti mode secara bergiliran: normal, merah saja, kuning berkedip, dan mati. Kodenya panjang, jadi baca dulu dengan langkah-langkah di tab Pahami kode. Di minggu 5, HC-SR04 bekerja di 5 V, jadi jangan lupa menghubungkan ECHO lewat pembagi tegangan; bermain dengan nilai GREEN_CM 100, YELLOW_CM 50, RED_CM 25, dan STOP_CM 10 memberi siswa gambaran tentang ambang. Cara kerja sensornya ada di artikel Sensor Jarak HC-SR04, dan cara membuat suara dengan PWM di Apa Itu Buzzer?; pakai buzzer pasif, karena proyeknya mengubah frekuensi. Di minggu 6, piano memainkan lima nada dari DO sampai SOL antara 523 dan 784 Hz, dan menahan tombol DO selama satu detik memulai perekaman melodi. Kode lengkapnya panjang untuk level ini; alih-alih meminta siswa mengetik semuanya, minta mereka mengubah frekuensi di list NOTE_HZ dan membuat tangga nada sendiri.
Pertanyaan penutup untuk setiap minggu
- Minggu 1: Apa yang terjadi kalau baris led.on() dan time.sleep(0.5) ditukar? Kenapa baris-baris di bawah while True: dimulai lebih menjorok ke dalam?
- Minggu 2: Bagaimana strobo berubah kalau WAIT_MS kamu naikkan dari 300 ke 1000? Dua baris mana yang digantikan oleh toggle() sendirian?
- Minggu 3: Berapa baris lagi yang harus kamu tulis tanpa fungsi all_off()? Apa bedanya mendefinisikan fungsi dan memanggilnya?
- Minggu 4: Kenapa button.value() mengembalikan 0 ketika kamu menekan tombol yang memakai PULL_UP? Kalau mode bernilai 3 dan kamu menekan tombol, berapa nilai mode sekarang?
- Minggu 5: Kenapa pin ECHO dari HC-SR04 tidak kita hubungkan langsung ke Pico? Baris duty_u16(0) membuat buzzer melakukan apa?
- Minggu 6: List mana saja di kode yang perlu kamu ubah untuk menambahkan tuts keenam ke piano?
Daftar bahan untuk kelas berisi 24 siswa
Bagi 24 siswa menjadi pasangan dan kamu mendapat 12 kelompok; dengan satu cadangan, siapkan 13 set. Karena Pico murah, kerja berpasangan alih-alih kelompok bertiga bisa dilakukan di sebagian besar sekolah, dan setiap siswa mendapat lebih banyak waktu di depan keyboard; kalau kamu memilih kelompok bertiga, kurangi jumlahnya menjadi 9 set. Setiap kelompok butuh satu komputer, karena Thonny berkomunikasi dengan Pico lewat USB. Ponsel atau tablet dipakai untuk membuka proyek minggu itu, skema rangkaiannya, dan tab Pahami kode di BlueGrays. Tidak ada yang perlu disolder; semuanya ditancapkan ke breadboard.
| Barang | Per kelompok | Untuk satu kelas (12 kelompok + 1 cadangan) | Dipakai di minggu |
|---|---|---|---|
| Raspberry Pi Pico H atau Pico WH (header sudah disolder) | 1 | 13 | Semua |
| Kabel data micro USB | 1 | 13 | Semua |
| Breadboard (400 atau 830 lubang) | 1 | 13 | Semua |
| Kabel jumper male-to-male | 20 | sekitar 260 | Semua |
| LED 5 mm (merah, kuning, hijau, biru) | 4 | sekitar 60 | 1–5 |
| Resistor 220 Ω | 4 | sekitar 60 | 1–5 |
| Push button (4 kaki) | 5 | sekitar 70 | 4, 6 |
| Buzzer pasif | 1 | 13 | 5, 6 |
| Sensor jarak ultrasonik HC-SR04 | 1 | 13 | 5 |
| Resistor 1 kΩ dan 2 kΩ (pembagi tegangan ECHO) | 1 + 1 | 13 + 13 | 5 |
| Komputer dengan Thonny | 1 | 12 | Semua |
| Potensiometer 10 kΩ (opsional, untuk ADC) | 1 | 13 | Kelompok cepat |
Contoh pelajaran: minggu 1, program pertama
Rencana di bawah ini untuk minggu 1. Pelajaran pertama adalah yang paling berisiko, karena di sinilah masalah pengaturan muncul. Kami menganggap kamu sudah menginstal MicroPython di board-board sebelumnya dan Thonny sudah terinstal di komputer. Kerangka yang sama bisa kamu pakai di minggu-minggu lainnya: pemanasan, membaca bersama, prediksi, rangkaian, menjalankan kode, mengubah satu nilai, dan pertanyaan penutup. Kalau kamu punya pelajaran ganda 80 menit, perpanjang tahap “ubah satu nilai” dan biarkan pasangan-pasangan mempresentasikan jawaban penutup mereka.
| Waktu | Tahap | Apa yang terjadi |
|---|---|---|
| 0–5 mnt | Pemanasan | Pertanyaan: apa yang perlu kamu katakan ke sebuah board supaya ia “menyalakan LED”? Jawaban ditulis di papan tulis. Board dibagikan, lalu tombol BOOTSEL dan port USB ditunjukkan. |
| 5–12 mnt | Perintah pertama di REPL | Shell Thonny di proyektor: from machine import Pin, led = Pin("LED", Pin.OUT), led.on(). Pasangan mengetik tiga baris yang sama di komputer mereka sendiri, lalu mematikannya dengan led.off(). |
| 12–18 mnt | Membaca proyek bersama | Buka proyek Kedip LED Bawaan di BlueGrays. Baca bloknya dulu dengan Tampilkan sebagai blok dinyalakan, lalu kodenya; bahas while True dan indentasi. |
| 18–22 mnt | Menjalankan | Tempel kode ke Thonny dan tekan Run (F5). LED berkedip setiap 0,5 detik. Tunjukkan tombol Stop untuk menghentikannya. |
| 22–32 mnt | Rangkaian LED eksternal | Cabut USB. GP14 (pin 19) → 220 Ω → kaki panjang LED, kaki pendek → GND (pin 18). Jalankan kode proyek LED eksternal. Peran: perakit dan pemeriksa. |
| 32–37 mnt | Ubah satu nilai | Ubah time.sleep(0.5) menjadi 0.1, lalu menjadi 2. Pasangan yang mau bisa memindahkan LED ke GP15 dan mengganti 14 menjadi 15 di kode. |
| 37–40 mnt | Pertanyaan penutup | Satu pertanyaan di kertas: apa yang akan terjadi kalau baris-baris di bawah while True: tidak dimulai lebih menjorok? Board dicabut dan dikembalikan ke kotak bernomornya. |
Tiga contoh MicroPython singkat untuk kelas
Di antara Pico dan Pico W, LED bawaanlah yang paling sering membingungkan. Di Pico klasik, LED terhubung ke GP25, itulah sebabnya contoh-contoh lama memakai Pin(25). Di Pico W, LED terhubung ke chip Wi-Fi dan tidak punya nomor pin GP, jadi Pin(25) tidak akan menyalakannya di sana. Cara yang berfungsi di keduanya adalah memanggil LED dengan namanya: Pin("LED"). Rilis MicroPython terbaru mendefinisikan nama ini untuk Pico, Pico W, dan Pico 2, itulah sebabnya proyek LED bawaan di BlueGrays memakainya. Kalau kelasmu punya campuran board, kamu bisa membagikan kode yang sama ke semua siswa. Kalau firmware lama tidak mengenal nama “LED”, solusinya adalah memperbarui file UF2.
1from machine import Pin
2import time
3
4# "LED" adı Pico, Pico W ve Pico 2'de karttaki LED'i bulur / The name "LED" finds the onboard LED on Pico, Pico W and Pico 2
5led = Pin("LED", Pin.OUT)
6# Eski firmware'li klasik Pico'da: Pin(25, Pin.OUT) / Classic Pico with old firmware: Pin(25, Pin.OUT)
7# Pico W'de Pin(25) LED'i yakmaz / On the Pico W, Pin(25) does not light the LED
8
9while True:
10 led.toggle() # Durumu tersine çevir / Flip the state
11 time.sleep(0.5) # 0,5 saniye bekle / Wait 0.5 seconds
12Kode LED eksternal memakai kerangka yang sama; hanya nomor pinnya yang berubah. Di sini kami memindahkan waktu tunggu ke variabel bernama WAIT, yang menjadi baris pertama yang diubah siswa di minggu 2. Variabel count dan baris print() menulis angka ke Shell Thonny setiap kali LED menyala, jadi siswa bisa melihat di layar bahwa perulangannya benar-benar berjalan. Angka 14 di kode adalah nomor GP, bukan nomor pin fisik; inilah hal yang paling sering tertukar oleh siswa.
1from machine import Pin
2import time
3
4LED_PIN = 14 # LED'in bağlı olduğu GP pini (fiziksel pin 19) / GP pin the LED is wired to (physical pin 19)
5WAIT = 0.5 # Bekleme süresi, saniye / Wait time in seconds
6
7led = Pin(LED_PIN, Pin.OUT) # Pini çıkış yap / Make the pin an output
8count = 0 # Kaç kez yandığını say / Count how many times it lit
9
10while True:
11 led.on() # LED'i yak / Turn the LED on
12 count = count + 1
13 print("LED", count) # Thonny Shell'e yaz / Print to the Thonny Shell
14 time.sleep(WAIT)
15 led.off() # LED'i söndür / Turn the LED off
16 time.sleep(WAIT)
17Ada dua cara menghubungkan tombol, dan keduanya layak ditunjukkan. Dengan PULL_UP, satu kaki tombol dihubungkan ke GP15 dan kaki di seberangnya ke GND; resistor di dalam Pico menarik pin ke 3,3 V, menekan tombol menghubungkan pin ke GND, dan terbaca 0. Semua proyek tombol Pico di BlueGrays memakai cara ini karena tidak butuh kabel tambahan. Dengan PULL_DOWN, kaki di seberangnya dihubungkan ke pin 3V3(OUT) (pin 36) dan tombol terbaca 1 ketika ditekan; logikanya terasa lebih alami, tetapi kabelnya mudah tertancap ke VBUS (pin 40, 5 V) tanpa sengaja. Kaki mana saja dari empat kaki tombol yang saling terhubung sudah kami jelaskan di artikel cara menghubungkan tombol. Kamu bisa memulai minggu 4 dengan kode singkat di bawah, lalu lanjut ke pemilih mode.
1from machine import Pin
2import time
3
4led = Pin(14, Pin.OUT) # GP14 -> 220 ohm -> LED -> GND / GP14 -> 220 ohm -> LED -> GND
5button = Pin(15, Pin.IN, Pin.PULL_UP) # Buton GP15 ile GND arasında / Button between GP15 and GND
6# PULL_DOWN: Pin(15, Pin.IN, Pin.PULL_DOWN), buton GP15 ile 3V3(OUT) arasında / button between GP15 and 3V3(OUT)
7# PULL_DOWN ile koşul == 1 olur / With PULL_DOWN the condition becomes == 1
8
9while True:
10 if button.value() == 0: # PULL_UP: basınca 0 okunur / PULL_UP: reads 0 when pressed
11 led.on()
12 else:
13 led.off()
14 time.sleep_ms(10) # Döngüyü biraz yavaşlat / Slow the loop down a little
15Cara memakai BlueGrays dalam pelajaran Pico
- Panduan kode, jalur MicroPython: Panduan kode di bagian Belajar menawarkan jalur MicroPython berisi 18 kartu di samping jalur Arduino C++: import, print, output pin, input pin (PULL_UP, PULL_DOWN), time.sleep, while True, indentasi, variabel, if / elif / else, for dan range, list, def dan return, ADC, PWM, ticks_ms, Pin.irq, try / except, dan I2C. Setiap kartu berisi Fungsinya apa?, Sintaks, contoh dengan tab Blok · Arduino · MicroPython, Kesalahan umum, dan tes mini. Sarankan kartu-kartu untuk konsep minggu itu agar dibaca siswa di antara pelajaran; setiap siswa melihat progres MicroPython x/18 miliknya sendiri di layar Level-ku.
- Lihat di proyek: tautan di akhir setiap kartu ini menampilkan daftar proyek yang kodenya memakai perintah tersebut, dari yang mudah sampai yang sulit. Siswa yang sudah membaca sebuah perintah di kartu bisa lanjut dari sini untuk menemukannya di kode proyek sungguhan.
- Soal harian: pengaturan “Bahasa kode di soal” menawarkan pilihan Keduanya, Arduino, dan MicroPython. Kalau kamu mengajar dengan Pico, minta siswa memilih MicroPython; soal umum tanpa kode tetap muncul di setiap pilihan. Setiap hari ada satu set sekitar 3 menit, tes penempatan 15 soal, dan 6 level dari A1 sampai C2, sehingga terbentuk kebiasaan pengulangan harian yang baik di antara pelajaran.
- Tampilkan sebagai blok: lima proyek Pico gratis (LED Bawaan, LED Eksternal, Dua LED Bergantian, Lampu Lalu Lintas, dan Strobo Polisi) punya tampilan blok di samping kodenya. Bagi siswa yang baru pertama kali melihat Python, menunjukkan blok lebih dulu lalu kode dari program yang sama akan membangun gagasan “logikanya sama, cara tulisnya berbeda”; langkah ini sudah kami bahas detail di dari coding blok ke MicroPython. Blok itu untuk dibaca; blok tidak bisa diedit di aplikasi, dan yang masuk ke board selalu kode MicroPython.
- Pahami kode dan Atasi masalah: setiap proyek Pico gratis punya keduanya. Tab Pahami kode dimulai dengan ringkasan Kode ini ngapain?, berlanjut dengan penjelasan Langkah demi langkah, dan diakhiri dengan Kalau mentok serta tugas Coba sendiri. Untuk kode panjang di minggu 4 dan 6, tab ini jadi penolong terbesarmu bagi pasangan yang belum bisa membaca dengan cepat.
- Yuk bikin bareng dan Salin tautan: mode terpandu berjalan dalam empat langkah dan, di langkah kode, mengingatkan siswa untuk memilih interpreter MicroPython di Thonny. Salin tautan di bagian Kode sumber memberi tautan untuk membuka kode di komputer, jadi siswa tidak perlu mengetik ulang kode dari ponsel ke Thonny.
Penilaian dan diferensiasi
| Kriteria | 1 – Mulai | 2 – Berkembang | 3 – Mantap |
|---|---|---|---|
| Merakit rangkaian | Merakit dengan bantuan, lupa GND | Merakit dari skema, mencocokkan nomor GP dengan kode | Bisa membedakan pin fisik dan nomor GP, menemukan kesalahan teman |
| Membaca kode | Membaca baris-barisnya, belum bisa menjelaskan fungsinya | Menjelaskan secara umum apa yang dilakukan program | Menjelaskan setiap baris dan arti indentasi |
| Mengubah dan menguji | Mengubah nilai, belum bisa menjelaskan efeknya | Memprediksi hasil sebelum mencoba | Menemukan penyebab dari pesan error di Shell ketika prediksi meleset |
| Mencocokkan dengan C++ | Belum bisa mencocokkan | Mencocokkan Pin, sleep, dan while True | Juga mencocokkan if, for, dan fungsi |
- Kelompok cepat, pembacaan analog: rencana ini tidak punya minggu khusus ADC; pasangan yang selesai lebih awal menghubungkan kaki tengah potensiometer 10 kΩ ke GP26, membaca nilai dari 0 sampai 65535 dengan ADC(26).read_u16(), lalu memakainya untuk mengatur kecepatan strobo minggu 2. Untuk tantangan yang lebih besar, proyek gratis Api Unggun LED Raspberry Pi Pico (Matriks NeoPixel 8x8 + Potensiometer + Buzzer) menggerakkan matriks NeoPixel 8x8 dengan potensiometer yang sama.
- Kelompok cepat, menggabungkan: menambahkan tombol minggu 4 ke sensor parkir minggu 5 untuk menulis “mode senyap” yang menyalakan dan mematikan suara adalah langkah nyata pertama menuju menulis kode sendiri.
- Kelompok yang lebih lambat: bagikan rangkaian yang sudah dirakit, atau letakkan cetakan besar skema rangkaian di meja. Biarkan mereka maju langkah demi langkah dengan tab Pahami kode dan targetkan mengubah satu nilai saja hari itu; itu sudah hasil yang berharga.
Masalah umum dan solusi cepat
| Masalah | Kemungkinan penyebab | Solusi |
|---|---|---|
| Komputer sama sekali tidak melihat Pico | Kabel khusus pengisian daya, sambungan longgar, hub USB | Coba kabel data yang sudah pasti berfungsi, colokkan board langsung ke komputer, coba port USB lain. |
| Drive RPI-RP2 terbuka setiap kali dicolokkan | Belum ada MicroPython di board, atau BOOTSEL macet | Salin file UF2 ke drive itu; colokkan lagi tanpa menekan tombol. |
| RPI-RP2 tidak pernah muncul | BOOTSEL ditekan setelah dicolokkan | Cabut, tahan BOOTSEL sambil mencolokkan lagi, lalu lepaskan. |
| Thonny tidak bisa terhubung, “Device is busy” atau error port | Interpreter atau port salah, port terbuka di program lain, kode yang sedang berjalan sibuk | Pilih “MicroPython (Raspberry Pi Pico)” di pojok kanan bawah, tekan Stop/Restart, tutup jendela Thonny kedua, cabut dan colokkan lagi USB. |
| “No module named 'machine'” | Kode berjalan di Python komputer | Atur interpreter ke MicroPython (Raspberry Pi Pico). |
| IndentationError atau SyntaxError | Indentasi campur aduk, titik dua hilang | Buka nomor baris yang ada di error; baris while, if, dan def butuh titik dua di akhir dan 4 spasi di baris-baris di bawahnya. |
| Kode berjalan tetapi LED tetap padam | LED terbalik, tidak ada GND, nomor GP di kode berbeda dengan rangkaian, Pin(25) di Pico W | Kaki panjang ke arah resistor (sisi GP), cek kabel GND, pakai Pin("LED") untuk LED bawaan. |
| Kode berhenti bekerja ketika dicabut dari komputer | File tersimpan di komputer, atau tidak bernama main.py | Di Thonny pilih simpan > Raspberry Pi Pico dan beri nama main.py; kode akan mulai sendiri setiap kali board mendapat daya. |
| main.py menjalankan perulangan tanpa akhir dan Thonny tidak bisa masuk | Kode langsung mulai ketika boot | Tekan Stop beberapa kali atau Ctrl+C di Shell; kalau gagal, hapus flash dengan flash_nuke.uf2 resmi lalu instal ulang MicroPython (semua file di board terhapus). |
Daftar periksa sebelum pelajaran
- MicroPython sudah terinstal di setiap board, dan board serta kabel sudah diberi nomor 1 sampai 13.
- Thonny terbuka di setiap komputer dengan “MicroPython (Raspberry Pi Pico)” terpilih sebagai interpreter.
- Setiap pasangan board dan kabel sudah diuji dan menampilkan >>> di Shell.
- Resistor disimpan di kotak terpisah sesuai nilainya: 220 Ω, 1 kΩ, 2 kΩ.
- Proyek minggu itu sudah terbuka di BlueGrays di proyektor; Tampilkan sebagai blok sudah siap untuk tiga minggu pertama.
- Kertas pertanyaan penutup sudah dicetak dan peran (perakit, pemeriksa) sudah dibagikan ke setiap pasangan.
- Sebelum minggu 5, resistor pembagi tegangan HC-SR04 sudah disisihkan untuk setiap kelompok.
- Di akhir pelajaran, kabel USB dicabut dan komponen dihitung kembali ke kotak bernomornya.
Setiap proyek yang akan kamu pakai selama enam minggu ini bisa dibuka gratis di aplikasi BlueGrays, lengkap dengan skema rangkaian, daftar komponen, kode MicroPython, dan tab Pahami kode, jadi kamu mudah memimpin pelajaran dari proyektor sementara siswa mengikutinya di ponsel masing-masing. Kalau setelah enam minggu kamu ingin lanjut ke proyek Pico Premium dengan kecerahan LED lewat PWM, servo, layar OLED, atau keypad, kamu bisa membagikan kode pendidik alih-alih langganan perorangan; kode ini dibeli sekali dan tidak diperpanjang otomatis.
Pertanyaan umum
Bagaimana cara mengajar dengan Raspberry Pi Pico?
Masukkan satu konsep baru di setiap pelajaran dan urutkan seperti ini: output, variabel, fungsi, input dan kondisi, PWM dan sensor, lalu list dan perulangan. Biarkan setiap pelajaran mengikuti kerangka yang sama: pemanasan, membaca bersama, prediksi, rangkaian, menjalankan kode, mengubah satu nilai, dan pertanyaan penutup. Rencana 6 minggu di artikel ini disusun dengan cara itu, memakai proyek gratis.
Bagaimana cara menginstal MicroPython di Raspberry Pi Pico?
Tahan tombol BOOTSEL sambil mencolokkan Pico ke komputer lewat USB; sebuah drive bernama RPI-RP2 akan muncul. Salin file .uf2 MicroPython untuk board-mu ke drive itu, dan board akan restart. Kamu juga bisa menginstalnya lewat opsi “Install or update MicroPython” di pengaturan interpreter Thonny.
Thonny tidak melihat Raspberry Pi Pico-ku. Apa yang harus kulakukan?
Pertama, pastikan kamu memakai kabel USB yang bisa membawa data, karena komputer tidak bisa melihat board lewat kabel khusus pengisian daya. Lalu atur interpreter di Thonny ke “MicroPython (Raspberry Pi Pico)” dan tekan Stop/Restart. Kalau drive RPI-RP2 terbuka setiap kali dicolokkan, berarti board belum punya MicroPython, jadi instal file UF2-nya.
Raspberry Pi Pico atau Arduino untuk sekolah?
Keduanya titik awal yang bagus; pilihannya tergantung bahasa dan siswanya. Kalau kamu mengajar Python atau ingin eksperimen cepat tanpa menunggu kompilasi, Pico dengan MicroPython terasa nyaman. Dengan siswa yang lebih muda, kalau kamu ingin mulai dengan blok, atau kalau kit-mu terdiri dari modul 5 V, Arduino memberi lebih sedikit kejutan.
Bagaimana cara menjalankan kode di Pico tanpa komputer?
Di Thonny, simpan kode ke board dengan opsi “Raspberry Pi Pico” dan beri nama main.py. Pico menjalankan main.py sendiri setiap kali mendapat daya, jadi charger USB atau power bank sudah cukup. Untuk menghentikan kode, hubungkan board ke Thonny lagi dan tekan Stop.
Apakah ada perbedaan antara Pico dan Pico W di kelas?
Setiap proyek di rencana ini berjalan di keduanya dengan pin yang sama; satu-satunya perbedaan adalah LED bawaan. Di Pico klasik, LED terhubung ke GP25, di Pico W ke chip Wi-Fi, jadi pakai Pin("LED") yang berfungsi di keduanya. Pico W juga punya Wi-Fi dan Bluetooth, tetapi kamu tidak akan membutuhkannya di enam minggu pertama.
Proyek untuk dibuat setelah membaca ini
Lihat semua proyek
Kedip LED Bawaan Raspberry Pi Pico (Pico dan Pico W)
Proyek pembuka seri Raspberry Pi Pico! Kita mengedipkan LED hijau bawaan untuk memastikan board bekerja; percobaan "Hello World" klasik. TANPA komponen eksternal, hanya Pico dan kabel USB. Kodenya ditulis dalam MicroPython (bahasa resmi dari Raspberry Pi Foundation). Pelajari kelas machine.Pin, mode Pin.OUT, metode led.on()/off(), dan time.sleep() di Thonny IDE, dan ikuti setiap perubahan di output Serial (REPL). Juga pas untuk menguji firmware MicroPython.

Raspberry Pi Pico: Mengendalikan LED Eksternal (Breadboard)
Langkah berikutnya setelah LED bawaan Pico: menyambungkan LED eksternal ke breadboard dan mengendalikannya lewat pin GP14. Di proyek ini, kamu belajar memakai pin GPIO serbaguna Pico mana pun sebagai output, polaritas LED (kaki panjang = anoda/+, kaki pendek = katoda/–), dan kenapa resistor pembatas arus (220Ω) diperlukan. Tanpa resistor, arus berlebih mengalir melalui LED dan LED bisa terbakar. Rangkaiannya sangat sederhana: Pico GP14 → resistor 220Ω → LED → GND.

Dua LED Bergantian Raspberry Pi Pico (Pola Kedip Bergantian)
Langkah berikutnya setelah satu LED di Pico: dua LED berkedip bergantian dengan pola flip-flop klasik. Ketika satu mati, yang lain menyala; contoh paling dasar koordinasi beberapa GPIO. Dua LED berbeda warna (merah di GP14, hijau di GP13) bertukar status setiap 500 ms, dan metode Pin.toggle() MicroPython membuat kodenya singkat. Logika yang sama menjadi dasar lampu lalu lintas, lampu polisi, dan LED berjalan. Setiap LED memakai resistor 220Ω-nya sendiri.

Simulator Lampu Lalu Lintas Raspberry Pi Pico (3 LED Berurutan)
Kita menyimulasikan lampu lalu lintas sungguhan dengan LED merah, kuning, dan hijau; proyek 3 LED pertama di seri Pico! Hijau 4 detik "jalan", kuning 1,5 detik "siap", merah 3 detik "berhenti", dan merah+kuning 1 detik "bersiap" (pola Eropa). Pelajari pendefinisian fungsi (def all_off()), logika state machine, dan sinkronisasi beberapa GPIO. 3 LED di GP11 (Hijau), GP12 (Kuning), GP13 (Merah), masing-masing dengan resistor 220Ω, berdampingan di board.

Efek Lampu Strobo Polisi Raspberry Pi Pico (Merah + Biru)
Kita menyimulasikan bar lampu mobil polisi dengan Raspberry Pi Pico dalam bentuk paling sederhana! LED merah dan biru menyala bergantian (flip-flop): ketika merah menyala, biru mati, dan keduanya bertukar setiap 0,3 detik, selamanya. Kode menulis dua langkah itu langsung di satu loop while True; kecepatannya diatur dengan konstanta WAIT_MS.

Lampu Lalu Lintas Raspberry Pi Pico dengan Pemilih 4 Mode lewat Tombol (State Machine)
4 mode lampu lalu lintas dengan 1 tombol! Setiap tekanan mengganti mode: Siklus normal (merah → kuning → hijau), Hanya Merah (tanda berhenti), Kuning Berkedip (mode malam), Mati (perawatan). Konsep: state machine (variabel mode menentukan perilaku), perputaran mode dengan modulo ((mode + 1) % 4 → 0→1→2→3→0), waktu non-blocking (fase LED dengan time.ticks_ms() + time.ticks_diff(); jeda debounce singkat tetap memakai sleep_ms).

LED yang Dikendalikan Tombol Raspberry Pi Pico (Tekan)
Proyek input pertama dengan Pico: membaca tombol! LED menyala selama tombol ditekan, dan mati ketika dilepas. Ini langkah besar setelah animasi LED: sinyal masuk dari dunia luar ke Pico. Pelajari Pin.IN (mode input), Pin.PULL_UP (resistor pull-up internal, standar untuk tombol), dan pembacaan button.value(). LED di GP14, tombol di GP2 (PULL_UP internal). Ditekan = LOW (0), dilepas = HIGH (1); logika terbalik ini awalnya terasa membingungkan, tetapi merupakan standar industri.

LED Fade PWM Raspberry Pi Pico (Efek Bernapas)
LED tidak lagi sekadar berkedip, ia bernapas! Dengan PWM (Pulse Width Modulation) Pico, kecerahan LED naik lalu turun perlahan, seperti lampu MacBook yang tidur. Pelajari kelas machine.PWM, duty_u16() (kecerahan 16-bit 0–65535), frekuensi PWM (freq(1000): 1000 siklus per detik, tanpa kedipan terlihat), loop range() bertahap, dan output mirip analog dari pin digital. PWM juga dipakai untuk warna RGB, motor, servo, dan buzzer.
Artikel lainnya
Aplikasi BlueGrays
Rakit rangkaian ini langkah demi langkah di ponselmu
Skema pengkabelan, kode, dan daftar komponen dalam satu layar. 200+ proyek Arduino, ESP32, dan Pico siap dibuat.
Pindai dengan ponselmu
Arahkan kamera ke kode ini dan toko aplikasi di ponselmu akan terbuka.
atau buka toko aplikasi

