Panduan · 14 mnt baca

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.

Board Raspberry Pi Pico WH dengan header pin yang sudah disolder, port micro USB, dan tombol BOOTSEL putih di sebelahnya
Pico WH: header pinnya sudah disolder, jadi bisa langsung ditancapkan ke breadboard. Tombol putih di sebelah port USB adalah BOOTSEL; kamu akan memakainya untuk menginstal MicroPython.

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?

FiturRaspberry Pi Pico + MicroPythonArduino Uno + C++
Tegangan pin3,3 V (tidak tahan 5 V)5 V
Bahasa dan editorMicroPython, ThonnyC++, Arduino IDE
Menjalankan kodeLangsung begitu kamu menekan Run, tanpa kompilasiKompilasi dan upload setiap kali ada perubahan
Uji baris demi baris (REPL)Ya: >>> di Shell ThonnyTidak
Input analog3 pin (GP26–GP28), read_u16() 0–655356 pin (A0–A5), analogRead() 0–1023
Port USBMicro USBUSB-B (Uno R3)
Di breadboardPico H / WH sudah ada header-nya dan langsung bisa ditancapkanBoard di luar, dihubungkan dengan kabel jumper
HargaBiasanya jelas lebih murah daripada UnoLebih mahal
Pin Pico bekerja di 3,3 V dan tidak tahan 5 V. Kalau kamu menghubungkan output yang mengeluarkan 5 V ke pin GPIO (misalnya pin ECHO dari HC-SR04 yang diberi daya 5 V), pin itu bisa rusak permanen; karena itu di minggu 5 kita memasang pembagi tegangan dari resistor 1 kΩ dan 2 kΩ di jalur ECHO. Di pelajaran pertama, tunjukkan ke siswa pin VBUS (pin 40, 5 V dari USB), VSYS (pin 39), dan 3V3(OUT) (pin 36), lalu tulis aturannya di papan tulis: tombol dan output sensor tidak pernah dihubungkan ke VBUS. Selalu hubungkan LED lewat resistor 220 Ω; di 3,3 V, arus sekitar 6 mA mengalir lewat LED merah. Kamu bisa mencari pin-pinnya bersama siswa di alat diagram pin.

Sebelum pelajaran pertama: MicroPython dan Thonny

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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.

Supaya pengaturan beres sekaligus, instal MicroPython di setiap board sendiri sebelum kursus dimulai, beri nomor board dan kabel dari 1 sampai 13, dan pastikan setiap pasangan mendapat nomor yang sama setiap minggu. Tautan “Install or update MicroPython” di jendela interpreter Thonny menemukan board yang sedang dalam mode BOOTSEL dan memintamu memilih varian yang tepat, jadi kamu bisa menginstal tanpa mengunduh UF2 sendiri. Kalau kamu melihat >>> di Shell ketika mencoba sebuah board, pasangan board dan kabel itu sudah siap.

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.

MingguTujuanProyek BlueGrays gratisKonsep MicroPython baruPadanan Arduino C++
1Mengenal Pico, program pertama, output digitalKedip 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:, indentasipinMode(14, OUTPUT); digitalWrite(14, HIGH); delay(500); void loop() (output digital)
2Variabel, pengaturan waktu, dua outputDua 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)
3Lebih sedikit pengulangan: fungsiSimulator 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)
4Input, kondisi, dan stateLampu 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)
5Sensor dan suaraSensor 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)
6List, perulangan for, proyek akhirPiano Tombol Raspberry Pi Pico (5 Tombol + Buzzer + Perekam Melodi)NOTE_HZ = (523, 587, 659, 698, 784), for … in, lima tombol dengan kode yang samaint notes[] = {523, 587, 659, 698, 784}; for (int i = 0; i < 5; i++) (array dan perulangan for)
Blok proyek Lampu Lalu Lintas Raspberry Pi Pico: fungsi all_off, GP11, GP12, dan GP13 sebagai pin output, serta blok tulis dan tunggu detik di dalam perulangan selamanya
Minggu 3: Lampu Lalu Lintas. Blok fungsi all_off mematikan ketiga LED dan dipanggil tiga kali di dalam perulangan; blok tunggu 4, 1.5, 3, dan 1 detik sama persis dengan baris sleep() di kode.

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.

BarangPer kelompokUntuk satu kelas (12 kelompok + 1 cadangan)Dipakai di minggu
Raspberry Pi Pico H atau Pico WH (header sudah disolder)113Semua
Kabel data micro USB113Semua
Breadboard (400 atau 830 lubang)113Semua
Kabel jumper male-to-male20sekitar 260Semua
LED 5 mm (merah, kuning, hijau, biru)4sekitar 601–5
Resistor 220 Ω4sekitar 601–5
Push button (4 kaki)5sekitar 704, 6
Buzzer pasif1135, 6
Sensor jarak ultrasonik HC-SR041135
Resistor 1 kΩ dan 2 kΩ (pembagi tegangan ECHO)1 + 113 + 135
Komputer dengan Thonny112Semua
Potensiometer 10 kΩ (opsional, untuk ADC)113Kelompok cepat
Ketika membeli board, pilih Pico H, Pico WH, atau versi yang header-nya sudah disolder. Pico tanpa header tidak bisa masuk ke breadboard, dan menyolder 40 pin di 13 board butuh waktu satu akhir pekan; kalau kamu memang ingin menjadikan menyolder bagian dari kursus, lihat Cara Menyolder. Pastikan kabelnya kabel data: kabel micro USB murah yang khusus pengisian daya memang memberi daya ke board, tetapi komputer tidak pernah melihat Pico, dan itulah pemakan waktu terbesar di pelajaran pertama. Simpan resistor di kotak terpisah sesuai nilainya; kamu bisa mengecek gelang warnanya dengan alat kode warna resistor dan nilai yang tepat untuk LED dengan kalkulator resistor LED bersama siswa.

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.

WaktuTahapApa yang terjadi
0–5 mntPemanasanPertanyaan: 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 mntPerintah pertama di REPLShell 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 mntMembaca proyek bersamaBuka proyek Kedip LED Bawaan di BlueGrays. Baca bloknya dulu dengan Tampilkan sebagai blok dinyalakan, lalu kodenya; bahas while True dan indentasi.
18–22 mntMenjalankanTempel kode ke Thonny dan tekan Run (F5). LED berkedip setiap 0,5 detik. Tunjukkan tombol Stop untuk menghentikannya.
22–32 mntRangkaian LED eksternalCabut USB. GP14 (pin 19) → 220 Ω → kaki panjang LED, kaki pendek → GND (pin 18). Jalankan kode proyek LED eksternal. Peran: perakit dan pemeriksa.
32–37 mntUbah satu nilaiUbah 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 mntPertanyaan penutupSatu 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.

MicroPython
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
12

Kode 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.

MicroPython
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)
17

Ada 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.

MicroPython
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
15

Cara 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

Kriteria1 – Mulai2 – Berkembang3 – Mantap
Merakit rangkaianMerakit dengan bantuan, lupa GNDMerakit dari skema, mencocokkan nomor GP dengan kodeBisa membedakan pin fisik dan nomor GP, menemukan kesalahan teman
Membaca kodeMembaca baris-barisnya, belum bisa menjelaskan fungsinyaMenjelaskan secara umum apa yang dilakukan programMenjelaskan setiap baris dan arti indentasi
Mengubah dan mengujiMengubah nilai, belum bisa menjelaskan efeknyaMemprediksi hasil sebelum mencobaMenemukan penyebab dari pesan error di Shell ketika prediksi meleset
Mencocokkan dengan C++Belum bisa mencocokkanMencocokkan Pin, sleep, dan while TrueJuga 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

MasalahKemungkinan penyebabSolusi
Komputer sama sekali tidak melihat PicoKabel khusus pengisian daya, sambungan longgar, hub USBCoba kabel data yang sudah pasti berfungsi, colokkan board langsung ke komputer, coba port USB lain.
Drive RPI-RP2 terbuka setiap kali dicolokkanBelum ada MicroPython di board, atau BOOTSEL macetSalin file UF2 ke drive itu; colokkan lagi tanpa menekan tombol.
RPI-RP2 tidak pernah munculBOOTSEL ditekan setelah dicolokkanCabut, tahan BOOTSEL sambil mencolokkan lagi, lalu lepaskan.
Thonny tidak bisa terhubung, “Device is busy” atau error portInterpreter atau port salah, port terbuka di program lain, kode yang sedang berjalan sibukPilih “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 komputerAtur interpreter ke MicroPython (Raspberry Pi Pico).
IndentationError atau SyntaxErrorIndentasi campur aduk, titik dua hilangBuka 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 padamLED terbalik, tidak ada GND, nomor GP di kode berbeda dengan rangkaian, Pin(25) di Pico WKaki panjang ke arah resistor (sisi GP), cek kabel GND, pakai Pin("LED") untuk LED bawaan.
Kode berhenti bekerja ketika dicabut dari komputerFile tersimpan di komputer, atau tidak bernama main.pyDi 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 masukKode langsung mulai ketika bootTekan 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.

Lihat semua proyek
Kedip LED Bawaan Raspberry Pi Pico (Pico dan Pico W)
#147Pemula

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.

5.0(1)
10
Raspberry Pi Pico: Mengendalikan LED Eksternal (Breadboard)
#148Pemula

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.

4.5(2)
7
Dua LED Bergantian Raspberry Pi Pico (Pola Kedip Bergantian)
#149Pemula

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.

5.0(2)
19
Simulator Lampu Lalu Lintas Raspberry Pi Pico (3 LED Berurutan)
#150Pemula

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.

4.0(1)
12
Efek Lampu Strobo Polisi Raspberry Pi Pico (Merah + Biru)
#151Pemula

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.

4.7(3)
10
Lampu Lalu Lintas Raspberry Pi Pico dengan Pemilih 4 Mode lewat Tombol (State Machine)
#158Menengah

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).

5.0(1)
15
LED yang Dikendalikan Tombol Raspberry Pi Pico (Tekan)
#155Pemula
Premium

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.

0.0(0)
11
LED Fade PWM Raspberry Pi Pico (Efek Bernapas)
#160Pemula

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.

0.0(0)
4