Dasar · 5 mnt baca

Apa Itu Raspberry Pi Pico? Instalasi MicroPython, Pinout, dan Proyek Pertama

Apa itu Raspberry Pi Pico dan apa bedanya dengan Raspberry Pi dan Arduino? Fitur RP2040, Pico W dan Pico 2, pinout, instalasi MicroPython dengan Thonny, serta kode pertama untuk LED, tombol, PWM, dan pembacaan analog.

Raspberry Pi Pico adalah board mikrokontroler yang sangat murah dan seukuran telapak tangan, dibangun di sekitar RP2040, chip yang dirancang sendiri oleh Raspberry Pi Foundation. Keunggulan utamanya, board ini bisa diprogram dengan MicroPython, dengan kata lain dengan Python: kamu menulis kode, menjalankannya, dan langsung melihat hasilnya tanpa menunggu kompilasi. Itu menjadikannya pintu masuk yang bagus bagi siswa yang belajar Python dan pemula elektronika. Kalau mau, kamu juga bisa memprogramnya dengan C/C++ atau dengan Arduino IDE.

Board mikrokontroler Raspberry Pi Pico
Raspberry Pi Pico: chip persegi di tengah adalah RP2040; di salah satu ujungnya ada soket micro USB dan tombol BOOTSEL, dengan 20 pin di setiap sisinya.

Apa itu Raspberry Pi Pico? Bedanya dengan Raspberry Pi

Meskipun namanya mirip, Pico bukan komputer seperti Raspberry Pi 4 atau 5. Pico tidak punya sistem operasi, output HDMI, maupun desktop; seperti Arduino, Pico adalah board mikrokontroler yang menjalankan satu program. Programmu langsung mulai begitu board diberi daya, konsumsi energinya sangat kecil, dan board ini menangani tugas seperti membaca sensor, menyalakan LED, dan menggerakkan motor secara real time.

FiturRaspberry Pi PicoArduino Uno R3Raspberry Pi 4 / 5
JenisBoard mikrokontrolerBoard mikrokontrolerKomputer papan tunggal
Sistem operasiTidak adaTidak adaLinux
Bahasa pemrogramanMicroPython, C/C++, ArduinoC/C++ (Arduino)Python dan hampir semua bahasa
Waktu bootingInstanInstan20–30 detik
Konsumsi dayaSekitar 25 mASekitar 45 mABeberapa watt
Pemakaian umumSensor, LED, motor, pengaturan waktuSensor, LED, motorKamera, server, komputer desktop

Spesifikasi: Pico, Pico W, dan Pico 2

FiturPicoPico WPico 2
ChipRP2040, Cortex-M0+ dua inti, 133 MHzRP2040, Cortex-M0+ dua inti, 133 MHzRP2350, Cortex-M33 dua inti, 150 MHz
RAM264 KB264 KB520 KB
Flash2 MB2 MB4 MB
NirkabelTidak adaWi-Fi (2,4 GHz) + BluetoothTidak ada (tersedia di Pico 2 W)
GPIO yang bisa dipakai262626
Input analog (ADC)3 channel, 12-bit3 channel, 12-bit3 channel, 12-bit
Tegangan kerja3,3 V3,3 V3,3 V

Pinout Pico

Pico punya total 40 pin di kedua sisinya. Setiap pin dari 26 pin GPIO, mulai GP0 sampai GP28, bisa mengeluarkan PWM, dan I2C, SPI, serta UART bisa dipakai di beberapa pin alternatif. Input analog hanya tersedia di GP26, GP27, dan GP28. Kamu bisa melihat peta pin lengkap board ini di alat Pinout; pin daya dan pin khusus yang penting adalah:

PinFungsi
VBUS5 V dari USB
VSYSInput catu daya eksternal (1,8–5,5 V)
3V3(OUT)Output 3,3 V untuk sensor (sampai sekitar 300 mA)
GNDGround (ada 8 di board)
GP0–GP22Input/output digital, PWM, I2C, SPI, UART
GP26–GP28Juga input analog (ADC0–ADC2)
RUNMe-reset board ketika dihubungkan ke GND
Pin Pico bekerja di 3,3 V dan tidak tahan 5 V. Jangan hubungkan sensor dengan output 5 V secara langsung; pasang Pembagi tegangan di antaranya. Secara bawaan setiap pin memberi 4 mA dan paling banyak 12 mA; resistor 220–330 Ω sudah cukup untuk LED, tetapi beban seperti motor dan relay selalu harus dikendalikan melalui transistor.

Menginstal MicroPython (dengan Thonny)

  1. Unduh dan instal Thonny dari thonny.org.
  2. Tahan tombol BOOTSEL di Pico sambil mencolokkan kabel USB ke komputer; Pico akan muncul sebagai drive bernama RPI-RP2 (RP2350 di Pico 2).
  3. Di menu interpreter di kanan bawah Thonny, pilih MicroPython (Raspberry Pi Pico), lalu pakai “Install or update MicroPython” untuk menginstal versi yang sesuai dengan board-mu (Pico, Pico W, atau Pico 2). Kamu juga bisa mengunduh file .uf2 dari micropython.org lalu menyeretnya ke drive tersebut.
  4. Ketika instalasi selesai, Pico akan restart. Kalau kamu melihat prompt >>> di Shell di bagian bawah Thonny, kamu sudah siap.
  5. Kalau kodemu kamu simpan ke Pico sebagai main.py, kode itu otomatis berjalan setiap kali board diberi daya, bahkan ketika tidak terhubung ke komputer.

Program pertama: mengedipkan LED bawaan

MicroPython
1from machine import Pin
2import time
3
4led = Pin(25, Pin.OUT)      # Pico'da dahili LED; Pico W ve Pico 2 W'de Pin("LED") yaz
5                            # onboard LED on Pico; use Pin("LED") on Pico W / Pico 2 W
6
7while True:
8    led.toggle()            # durumu tersine çevir / flip the state
9    time.sleep(0.5)

Mengendalikan LED dengan tombol

Hubungkan LED ke GP15 melalui resistor 220 Ω dan tombol ke GP14. Kaki tombol yang lain masuk ke GND, dan resistor pull-up internal Pico diaktifkan, jadi tombol membaca 1 ketika dilepas dan 0 ketika ditekan:

MicroPython
1from machine import Pin
2
3led = Pin(15, Pin.OUT)
4button = Pin(14, Pin.IN, Pin.PULL_UP)   # butonun diğer ucu GND'de / other leg to GND
5
6while True:
7    led.value(not button.value())        # basılıyken yanar / on while pressed
Chip RP2350 di Pico 2 punya masalah yang sudah diketahui (E9) pada resistor pull-down internalnya: pin kadang bisa tertahan di HIGH. Menghubungkan tombol ke GND dan memakai PULL_UP adalah cara paling aman di Pico maupun Pico 2. Untuk penjelasan lebih lanjut soal pengkabelan tombol, lihat Cara Menghubungkan Push Button ke Arduino; logikanya sama.

Kecerahan LED dengan PWM

Setiap pin GPIO di Pico bisa mengeluarkan PWM. Di MicroPython, nilai duty berkisar dari 0 sampai 65535. Kode di bawah menerangkan LED pelan-pelan lalu mengulanginya dari awal; konsep di balik PWM dijelaskan secara detail di Apa Itu PWM?

MicroPython
1from machine import Pin, PWM
2import time
3
4led = PWM(Pin(15), freq=1000)
5
6while True:
7    for d in range(0, 65536, 1024):   # yavaşça yan / fade in
8        led.duty_u16(d)
9        time.sleep_ms(10)

Pembacaan analog dan sensor suhu bawaan

Hubungkan pin tengah potensiometer ke GP26 dan pin luarnya ke 3V3 dan GND. read_u16() mengembalikan nilai dari 0 sampai 65535. Pico juga punya sensor suhu di dalamnya yang terhubung ke channel ke-4 ADC; pembacaannya hanya kasar, tetapi ini cara yang seru untuk mengukur suhu tanpa komponen tambahan:

MicroPython
1from machine import ADC
2import time
3
4pot = ADC(26)                    # GP26 (ADC0) / potansiyometre orta ucu / pot wiper
5sensor = ADC(4)                  # dahili sıcaklık sensörü / internal temperature sensor
6
7while True:
8    value = pot.read_u16()                       # 0–65535
9    volts = sensor.read_u16() * 3.3 / 65535
10    temp = 27 - (volts - 0.706) / 0.001721       # °C (yaklaşık / approximate)
11    print(value, round(temp, 1))
12    time.sleep(1)

Memprogram Pico dengan Arduino IDE

Kalau kamu lebih suka C++ dan library Arduino, Pico juga bisa dipakai dengan Arduino IDE. Tambahkan https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json ke kolom URL board tambahan di File > Preferences, lalu instal paket Raspberry Pi Pico/RP2040/RP2350 buatan Earle Philhower dari Boards Manager. Untuk upload pertama, tahan tombol BOOTSEL sambil menghubungkan board; setelah itu, upload berjalan normal. Contoh Blink dengan LED_BUILTIN dan sebagian besar library Arduino berfungsi tanpa masalah.

Pico, ESP32, atau Arduino?

Yang kamu butuhkanBoard yang disarankan
Proyek pertama, sensor 5 V, contoh dan sumber belajar paling banyakArduino Uno
Wi-Fi, Bluetooth, internet, kendali dari ponselESP32 atau Pico W
Belajar pemrograman dengan PythonRaspberry Pi Pico
Harga sangat murah, pewaktuan presisi (PIO)Raspberry Pi Pico
Proyek kamera dan audioESP32-S3 atau ESP32-CAM

Untuk proyek yang butuh nirkabel, kenali ESP32 di Apa Itu ESP32? Kekuatan khas Pico adalah blok PIO (input/output yang bisa diprogram): blok ini menangani tugas yang kritis soal pewaktuan, seperti LED strip WS2812B atau protokol komunikasi khusus, tanpa membebani prosesor.

Ide proyek dengan Raspberry Pi Pico

  • Lampu lalu lintas: lampu lalu lintas dengan tiga LED yang menyala berurutan.
  • Knight Rider: efek cahaya yang berlari bolak-balik di enam LED.
  • Tombol dan interrupt (IRQ): kode yang menangkap tekanan tombol tanpa menunggu loop utama.
  • Siklus warna RGB: efek pelangi di LED RGB dengan tiga channel PWM.
  • Web server Pico W: kendalikan LED atau relay dari halaman yang dibuka di ponselmu.
  • Termometer mini: tampilkan hasil pembacaan sensor suhu bawaan di layar OLED.

Kesalahan umum dan cara mengatasinya

  • Drive RPI-RP2 tidak muncul: board dicolokkan tanpa menahan BOOTSEL, atau kabelnya hanya untuk mengecas; pakai kabel data.
  • Thonny tidak menemukan board: interpreter yang dipilih salah, atau MicroPython belum terinstal di board.
  • LED tidak menyala di Pico W: di Pico W, LED bawaan terhubung ke chip nirkabel; pakai Pin("LED"), bukan Pin(25).
  • Menghubungkan sinyal 5 V: GPIO bekerja di 3,3 V; sinyal 5 V bisa merusak pin.
  • Kode tidak berjalan ketika dicabut dari komputer: kodenya tidak disimpan ke Pico sebagai main.py.
  • Tegangan terlalu tinggi di VSYS: VSYS menerima paling tinggi 5,5 V; jangan hubungkan adaptor 9 V atau 12 V secara langsung.

Dengan harganya yang murah dan dukungan Python, Raspberry Pi Pico adalah salah satu cara termudah untuk memadukan coding dan elektronika. Dasar-dasar LED bisa kamu temukan di Apa Itu LED?; di aplikasi BlueGrays kamu akan menemukan proyek Pico untuk mengedipkan LED, lampu lalu lintas, Knight Rider, interrupt tombol, efek bernapas dengan PWM, dan siklus warna RGB, langkah demi langkah lengkap dengan skema rangkaian dan kode MicroPython.

Pertanyaan umum

Apakah Raspberry Pi Pico adalah komputer Raspberry Pi?

Bukan. Pico adalah board mikrokontroler buatan Raspberry Pi Foundation; board ini tidak punya sistem operasi, output layar, maupun desktop. Seperti Arduino, Pico menjalankan satu program. Raspberry Pi 4 dan 5 adalah komputer lengkap yang menjalankan Linux.

Dengan bahasa apa Raspberry Pi Pico diprogram?

Pilihan paling umum adalah MicroPython; mudah diinstal dengan Thonny dan siapa pun yang bisa Python bisa langsung mulai. SDK C/C++ resmi dan Arduino IDE (dengan paket buatan Earle Philhower) juga bisa dipakai. CircuitPython juga didukung.

Apa perbedaan Pico dan Pico W?

Pico W menambahkan chip nirkabel yang memberi Pico Wi-Fi 2,4 GHz dan Bluetooth; selebihnya sama. Karena LED bawaan di Pico W terhubung ke chip itu, di kode kamu memakai Pin("LED"), bukan Pin(25).

Apakah Raspberry Pi Pico bisa bekerja dengan 5 V?

Board ini bisa diberi daya dari 5 V USB atau dengan 1,8–5,5 V di pin VSYS. Namun pin GPIO bekerja di 3,3 V dan tidak tahan 5 V, jadi kamu tidak boleh menghubungkan sinyal 5 V langsung ke pin-pin itu.

Berapa banyak input analog di Pico?

Ada tiga input analog yang bisa dipakai: GP26 (ADC0), GP27 (ADC1), dan GP28 (ADC2). Channel ke-4 ADC juga terhubung ke sensor suhu di dalam chip. Di MicroPython, read_u16() mengembalikan nilai dari 0 sampai 65535.

Bisakah Raspberry Pi Pico diprogram dengan Arduino IDE?

Bisa. Setelah kamu menginstal paket board Raspberry Pi Pico/RP2040/RP2350 buatan Earle Philhower di Arduino IDE, kamu bisa memprogram Pico dengan perintah Arduino dan memakai sebagian besar library Arduino. Untuk upload pertama, kamu perlu menahan tombol BOOTSEL sambil menghubungkan board.

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
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
LED Berjalan Raspberry Pi Pico (6 LED)
#153Pemula

LED Berjalan Raspberry Pi Pico (6 LED)

Animasi "LED berjalan" klasik dengan Pico, versi 6 LED! 6 LED menyala berurutan dari kiri ke kanan, seperti cahaya yang berjalan. Pelajari list Python, list comprehension ([Pin(p, Pin.OUT) for p in LED_PINS]), loop for dengan kendali pin, dan enumerate(). 6 LED di GP9-GP14, masing-masing dengan resistor 220Ω. Alih-alih mendefinisikan LED satu per satu, kita memakai list; kamu bisa menambah LED sebanyak pin GPIO yang bebas. Untuk 100 LED, pakai LED beralamat seperti WS2812B.

0.0(0)
8
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
Debounce Tombol Raspberry Pi Pico: IRQ vs Polling Perangkat Lunak
#159Menengah
Premium

Debounce Tombol Raspberry Pi Pico: IRQ vs Polling Perangkat Lunak

Tekan tombol sekali, kode menghitung 3-4? Itu pantulan kontak: kontak logam bergetar beberapa mikrodetik! Bandingkan 2 metode di Serial: polling MENTAH (ikut menghitung pantulan) vs IRQ + debounce perangkat lunak (akurat). Pelajari pantulan kontak, debounce perangkat lunak (ticks_diff() > 50ms), interrupt Pin.irq(), pemicu IRQ_FALLING, handler ISR, serta global + keamanan ISR. LED berbalik lewat IRQ, dan Serial menampilkan kedua penghitung.

0.0(0)
12
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
Siklus Warna LED RGB Raspberry Pi Pico (PWM 3 Kanal)
#161Pemula

Siklus Warna LED RGB Raspberry Pi Pico (PWM 3 Kanal)

Satu LED, jutaan warna! LED RGB berisi 3 LED: merah, hijau, dan biru. Masing-masing digerakkan dengan kanal PWM Pico sendiri: merah + hijau = kuning, hijau + biru = cyan, ketiganya = putih. LED berputar melewati 8 warna. Pelajari beberapa kanal PWM, mendefinisikan fungsi (def set_color(...)), pencampuran warna RGB (cara kerja layar), konversi 8-bit → 16-bit (x257 memetakan 0–255 ke 0–65535), dan LED katoda bersama vs anoda bersama.

0.0(0)
6