Push Button LED merupakan salah satu proyek sederhana yang cocok untuk mempelajari dasar-dasar pemrograman Raspberry Pi Pico. Pada proyek ini, sebuah tombol push button digunakan sebagai input untuk mengontrol LED sebagai output. Saat tombol ditekan, Raspberry Pi Pico akan membaca perubahan kondisi pada pin input kemudian menyalakan LED. Ketika tombol dilepas, LED dapat dimatikan kembali. Proyek ini terlihat sederhana, tetapi menjadi dasar penting untuk memahami konsep input dan output GPIO pada Raspberry Pi Pico. Pada artikel ini akan membahas tentang cara menghubungkan push button dan LED ke Raspberry Pi Pico, prinsip kerja rangkaian, serta contoh program Raspberry Pi Pico menggunakan MicroPython.
Apa Itu Push Button LED?
Push Button LED adalah rangkaian sederhana yang menggabungkan sebuah push button sebagai perangkat input dan LED (Light Emitting Diode) sebagai perangkat output. Push button digunakan untuk memberikan perintah kepada Raspberry Pi Pico. Sementara itu, LED digunakan untuk menunjukkan hasil dari perintah tersebut. Contoh paling sederhana:
- Tombol tidak ditekan → LED mati.
- Tombol ditekan → LED menyala.
Konsep ini sering digunakan sebagai latihan awal sebelum membuat proyek yang lebih kompleks seperti kontrol lampu, alarm, robot, dan sistem otomatisasi.
Komponen yang Dibutuhkan
Untuk membuat proyek Push Button LED dengan Raspberry Pi Pico, siapkan beberapa komponen berikut:
1. Raspberry Pi Pico
2. Push button
3. LED
4. Resistor 220Ω/330Ω untuk LED
5. Breadboard
6. Kabel jumper
7. Kabel USB untuk menghubungkan Raspberry Pi Pico ke komputer
Fungsi Setiap Komponen
1. Raspberry Pi Pico
Raspberry Pi Pico berfungsi sebagai mikrokontroler yang membaca kondisi tombol dan mengontrol LED melalui pin GPIO.
2. Push Button
Push button berfungsi sebagai input digital. Tombol memiliki dua kondisi utama, yaitu HIGH dan LOW, yang dapat dibaca oleh Raspberry Pi Pico.
3. LED
LED berfungsi sebagai output untuk menunjukkan kondisi yang sedang terjadi pada program.
4. Resistor
Resistor digunakan untuk membatasi arus yang mengalir menuju LED sehingga LED tidak menerima arus berlebihan.
Rangkaian Push Button LED Raspberry Pi Pico
Pada contoh ini, Anda menggunakan GPIO 15 untuk push button dan GPIO 14 untuk LED. Hubungkan komponen seperti berikut:
Catatan: Posisi kaki push button pada breadboard perlu diperhatikan. Pada push button 4 kaki, dua kaki pada sisi yang sama umumnya sudah terhubung secara internal. Pastikan tombol dipasang melintasi celah tengah breadboard agar koneksi input dapat bekerja dengan benar.
Cara Kerja Push Button LED
Prinsip kerja proyek ini cukup sederhana. Ketika push button tidak ditekan, Raspberry Pi Pico membaca kondisi tertentu pada GPIO 15. Ketika tombol ditekan, pin tersebut terhubung ke GND sehingga kondisinya berubah. Program kemudian memeriksa kondisi pin tersebut. Alur sederhananya sebagai berikut:
Push Button → GPIO Raspberry Pi Pico → Program → GPIO LED → LED
Jika tombol ditekan:
GPIO 15 = LOW → LED ON
Jika tombol dilepas:
GPIO 15 = HIGH → LED OFF
Pada contoh ini Anda menggunakan internal pull-up resistor pada Raspberry Pi Pico. Dengan konfigurasi tersebut, pin input akan berada pada kondisi HIGH ketika tombol tidak ditekan dan menjadi LOW ketika tombol ditekan.
Mengapa Menggunakan Pull-Up?
Input digital tidak sebaiknya dibiarkan dalam kondisi yang tidak jelas atau floating. Kondisi floating dapat menyebabkan pembacaan pin berubah-ubah meskipun tombol tidak ditekan. Raspberry Pi Pico menyediakan internal pull-up resistor sehingga kita tidak perlu menambahkan resistor pull-up eksternal. Pada MicroPython, konfigurasi tersebut dapat dibuat menggunakan:
Pin.PULL_UP
Dengan konfigurasi ini:
- Tombol dilepas → GPIO membaca HIGH
- Tombol ditekan → GPIO membaca LOW
Konsep ini penting untuk dipahami karena banyak rangkaian tombol pada proyek Raspberry Pi Pico menggunakan metode pull-up.
Program Push Button LED Raspberry Pi Pico dengan MicroPython
Setelah rangkaian selesai dibuat, selanjutnya Anda dapat membuat program menggunakan MicroPython. Program berikut akan membuat LED menyala ketika push button ditekan dan mati ketika tombol dilepas.
from machine import Pin
from time import sleep
# Pin LED
led = Pin(14, Pin.OUT)
# Pin push button dengan internal pull-up
button = Pin(15, Pin.IN, Pin.PULL_UP)
while True:
if button.value() == 0:
led.value(1)
else:
led.value(0)
sleep(0.05)
Penjelasan Program
1. Mengimpor Modul Pin
from machine import Pin
Baris ini digunakan untuk mengimpor fungsi Pin dari modul machine. Pin digunakan untuk mengatur GPIO Raspberry Pi Pico sebagai input maupun output.
2. Mengimpor Fungsi Sleep
from time import sleep
Fungsi sleep() digunakan untuk memberikan jeda dalam program. Pada program ini digunakan sleep(0.05). Artinya program memberikan jeda selama 0,05 detik atau 50 milidetik.
3. Mengatur GPIO LED
led = Pin(14, Pin.OUT)
Baris tersebut menetapkan GPIO 14 sebagai output. GPIO tersebut digunakan untuk mengontrol LED. Pin.OUT berarti pin dikonfigurasikan sebagai output.
4. Mengatur GPIO Push Button
button = Pin(15, Pin.IN, Pin.PULL_UP)
GPIO 15 digunakan sebagai input untuk membaca push button. Terdapat tiga bagian penting:
- 15 → nomor GPIO yang digunakan.
- Pin.IN → menjadikan GPIO sebagai input.
- Pin.PULL_UP → mengaktifkan internal pull-up resistor.
5. Membaca Kondisi Tombol
if button.value() == 0:
Program memeriksa nilai yang dibaca dari GPIO 15. Karena menggunakan konfigurasi pull-up, nilai 0 menunjukkan bahwa tombol sedang ditekan. Jika kondisi tersebut benar, program menjalankan led.value(1) LED akan menyala.
6. Mematikan LED
Jika tombol tidak ditekan, program menjalankan bagian else:
else:
led.value(0)
Nilai 0 membuat GPIO LED berada pada kondisi LOW sehingga LED mati.
Cara Menjalankan Program di Thonny IDE
Program Raspberry Pi Pico MicroPython dapat ditulis dan dijalankan menggunakan Thonny IDE.
Langkah 1: Hubungkan Raspberry Pi Pico
Hubungkan Raspberry Pi Pico ke komputer menggunakan kabel USB.
Langkah 2: Buka Thonny IDE
Jalankan Thonny IDE, kemudian pastikan interpreter yang digunakan adalah MicroPython untuk Raspberry Pi Pico.
Langkah 3: Buat Program
Masukkan kode Push Button LED berikut ke editor Thonny:
from machine import Pin
from time import sleep
led = Pin(14, Pin.OUT)
button = Pin(15, Pin.IN, Pin.PULL_UP)
while True:
if button.value() == 0:
led.value(1)
else:
led.value(0)
sleep(0.05)
Langkah 4: Jalankan Program
Klik tombol Run pada Thonny. Jika muncul pilihan untuk menyimpan program, simpan sebagai main.py. Menyimpan program dengan nama main.py memungkinkan program dijalankan secara otomatis ketika Raspberry Pi Pico dinyalakan kembali.
Langkah 5: Uji Push Button
Tekan push button. Jika rangkaian dan program sudah benar, LED akan menyala selama tombol ditekan. Ketika tombol dilepas, LED akan kembali mati.
Mengubah Perilaku LED Menjadi Toggle
Selain membuat LED menyala selama tombol ditekan, push button juga dapat digunakan untuk membuat sistem toggle. Pada sistem toggle:
- Tekan sekali → LED menyala.
- Tekan lagi → LED mati.
- Tekan lagi → LED menyala.
- Begitu seterusnya.
Konsep ini lebih mirip dengan sakelar lampu.
Contoh programnya:
from machine import Pin
from time import sleep
led = Pin(14, Pin.OUT)
button = Pin(15, Pin.IN, Pin.PULL_UP)
led_state = 0
while True:
if button.value() == 0:
sleep(0.05)
# Tunggu sampai tombol dilepas
while button.value() == 0:
pass
led_state = not led_state
led.value(led_state)
sleep(0.05)
Program tersebut menggunakan variabel led_state untuk menyimpan kondisi LED. Jika LED sebelumnya mati, menekan tombol akan membuat LED menyala. Jika LED sebelumnya menyala, menekan tombol berikutnya akan mematikannya.
Apa Itu Debouncing pada Push Button?
Ketika push button ditekan, kontak mekanis di dalam tombol tidak selalu langsung menghasilkan satu perubahan kondisi yang sempurna. Kontak tersebut dapat mengalami perubahan HIGH dan LOW dengan sangat cepat sebelum benar-benar stabil. Fenomena ini disebut button bouncing atau debouncing. Akibatnya, satu kali tekanan tombol dapat terbaca sebagai beberapa kali tekanan oleh mikrokontroler.
Untuk mengatasinya, program dapat memberikan jeda singkat setelah tombol terdeteksi ditekan. Contohnya: sleep(0.05). Jeda tersebut memberikan waktu agar kondisi tombol menjadi lebih stabil. Untuk proyek sederhana Raspberry Pi Pico, metode delay seperti ini sudah cukup untuk memahami konsep dasar debouncing. Pada proyek yang lebih kompleks, debouncing dapat dibuat menggunakan metode berbasis waktu tanpa menghentikan keseluruhan program.
Troubleshooting Push Button LED
Jika LED tidak menyala ketika tombol ditekan, beberapa hal berikut dapat diperiksa.
1. Periksa Posisi LED
LED memiliki polaritas. Kaki panjang biasanya merupakan anoda (+), sedangkan kaki pendek merupakan katoda (-). Pastikan pemasangannya benar.
2. Periksa Resistor LED
Pastikan LED terhubung melalui resistor, misalnya 220Ω atau 330Ω.
3. Periksa Pin GPIO
Pastikan kode menggunakan pin yang sama dengan rangkaian. Dalam contoh ini:
LED → GP14
Push Button → GP15
Jika LED dipasang pada GP14 tetapi program menggunakan GP13, rangkaian tidak akan bekerja sesuai harapan.
4. Periksa GND
Pastikan LED dan push button memiliki koneksi GND yang benar ke Raspberry Pi Pico.
5. Periksa Push Button
Jika tombol 4 kaki digunakan, perhatikan orientasi pemasangannya di breadboard. Kesalahan posisi dapat menyebabkan kaki yang digunakan ternyata sudah terhubung secara internal.
6. Periksa Konfigurasi Pull-Up
Program menggunakan:
Pin.PULL_UP
Karena itu tombol dihubungkan antara GPIO 15 dan GND. Jangan mengubah rangkaian menjadi konfigurasi lain tanpa menyesuaikan programnya.
Baca juga: LDR Light Sensor pada Raspberry Pi Pico: Cara Mendeteksi Intensitas Cahaya
Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino






0 Komentar