1. Sediakan alat dan bahan percobaan
2. Rangkailah rangkaian di breadboard sesuai modul
3. Buka aplikasi thonny dan masukkan listing program ke dalam aplikasi tersebut
4. Hubungkan rangkaian dengan software dengan kabel USB
5. Jalankan program
1. Rasberry Pi Pico
2. Push Button
3. LED
Rangkaian ini menggunakan Raspberry Pi Pico sebagai pusat pemrosesan dengan 7 push button sebagai input dan 7 LED sebagai output. Sumber tegangan berasal dari port USB, yang memberikan daya sebesar 3.3V untuk mengoperasikan Raspberry Pi Pico dan komponen lainnya. Setiap push button terhubung ke GPIO 9, 10, 11, 12, 13, 14, dan 17 serta dikonfigurasi sebagai input dengan pull-down resistor, sehingga dalam kondisi default tombol memiliki nilai LOW (0) dan berubah menjadi HIGH (1) saat ditekan.
Ketika rangkaian beroperasi, Raspberry Pi Pico terus membaca status tombol dalam loop while. Jika tombol pertama ditekan, maka LED pertama yang terhubung ke GPIO 2 akan menyala. Begitu juga, jika tombol kedua ditekan, LED kedua yang terhubung ke GPIO 3 akan menyala. dan begitupun seterusnya. Sebaliknya, jika tidak ada tombol yang ditekan, semua LED akan mati. Program juga menyertakan delay 0.1 detik untuk mengatasi efek bouncing pada tombol, sehingga pembacaan input lebih stabil.
Pada bagian output, ketujuh LED berfungsi sebagai indikator dan masing-masing terhubung melalui resistor pembatas arus untuk mencegah kerusakan akibat arus berlebih. LED pertama menyala saat tombol pertama ditekan, sedangkan LED kedua menyala saat tombol kedua ditekan. Dengan demikian, sistem ini memungkinkan kontrol LED berbasis tombol dengan logika OR, di mana setiap tombol mengendalikan satu LED sesuai dengan program yang telah dikodekan.
import time
# Daftar GPIO untuk LED dan push button
led_pins = [2, 3, 4, 5, 6, 7, 16] # Output LED
button_pins = [9, 10, 11, 12, 13, 14, 17] # Input dari push button
# Inisialisasi LED sebagai output
leds = [Pin(pin, Pin.OUT) for pin in led_pins]
# Inisialisasi push button sebagai input dengan pull-down
buttons = [Pin(pin, Pin.IN, Pin.PULL_DOWN) for pin in button_pins]
while True: for i in range(7): if buttons[i].value() == 1: # Jika push button ditekan
leds[i].on() # Nyalakan LED
else: leds[i].off() # Matikan LED
time.sleep(0.05) # Delay untuk debounce sederhana
Tidak ada komentar:
Posting Komentar