Percobaan 1 Kondisi 1
Led & Switch
- Rangkai semua komponen
- Buat program di website wokwi
- Jalankan program dan cobakan sesuai kondisi
Rangkaian ini bekerja
dengan prinsip sederhana, yaitu mengontrol enam LED menggunakan tiga push
button yang terhubung ke Raspberry Pi Pico. Setiap push button berfungsi
sebagai saklar digital yang mengendalikan sepasang LED tertentu. Raspberry Pi
Pico membaca status masing-masing tombol melalui pin GPIO yang telah
dikonfigurasi sebagai input dengan pull-down resistor, sehingga saat tombol
tidak ditekan, nilainya tetap terbaca sebagai logika rendah, dan saat
ditekan, nilainya berubah menjadi logika tinggi.
Ketika tombol pertama,
yang terhubung ke GPIO0, ditekan, Raspberry Pi Pico mendeteksi perubahan nilai
dari 0 menjadi 1. Sebagai respons, mikrokontroler mengaktifkan LED pertama dan
kedua yang terhubung ke GPIO28 dan GPIO27 dengan mengatur nilai keluarannya
menjadi tinggi (1). Jika tombol dilepaskan, nilai kembali ke rendah (0)
sehingga kedua LED tersebut mati. Prinsip yang sama berlaku untuk tombol kedua
pada GPIO1, yang mengontrol LED ketiga dan keempat yang terhubung ke GPIO26 dan
GPIO22, serta tombol ketiga pada GPIO2, yang mengontrol LED kelima dan keenam
yang terhubung ke GPIO21 dan GPIO20.
Program ini berjalan
dalam loop tanpa henti, yang secara terus-menerus membaca status dari ketiga
tombol dan memperbarui kondisi LED sesuai dengan input yang diterima. Agar
sistem lebih stabil, ditambahkan delay sebesar 0,1 detik di dalam loop utama.
Delay ini membantu mencegah pembacaan yang salah akibat efek bouncing pada
tombol, yaitu kondisi di mana tombol mengalami getaran mekanis saat ditekan
atau dilepas yang bisa menyebabkan pembacaan yang tidak diinginkan.
from machine import Pin
import time
# Inisialisasi push button sebagai input dengan pull-down
button1 = Pin(0, Pin.IN, Pin.PULL_DOWN)
button2 = Pin(1, Pin.IN, Pin.PULL_DOWN)
button3 = Pin(2, Pin.IN, Pin.PULL_DOWN)
# Inisialisasi LED sebagai output
led1 = Pin(28, Pin.OUT)
led2 = Pin(27, Pin.OUT)
led3 = Pin(26, Pin.OUT)
led4 = Pin(22, Pin.OUT)
led5 = Pin(21, Pin.OUT)
led6 = Pin(20, Pin.OUT)
while True:
if button1.value() == 1: # Jika tombol 1 ditekan
led1.value(1)
led2.value(1)
else:
led1.value(0)
led2.value(0)
if button2.value() == 1: # Jika tombol 2 ditekan
led3.value(1)
led4.value(1)
else:
led3.value(0)
led4.value(0)
if button3.value() == 1: # Jika tombol 3 ditekan
led5.value(1)
led6.value(1)
else:
led5.value(0)
led6.value(0)
time.sleep(0.1) # Tambahkan sedikit delay untuk stabilitas
5. Video Demo [Kembali]
6. Kondisi [Kembali]
Buatlah rangkaian seperti gambar pada percobaan 1 dengan input 3 input Push button dan 6 output led merah, dengan 1 input masing-masing menghidupkan 2 output
HTML [Download]
Tidak ada komentar:
Posting Komentar