Percobaan 5 Kondisi 5 (Mikro)
Persiapan
- Pastikan Raspberry Pi Pico telah terhubung ke komputer dan memiliki firmware yang sesuai.
- Rangkaian terdiri dari:
- Push button pertama sebagai pemicu untuk mengaktifkan buzzer.
- Push button kedua sebagai pemicu untuk mematikan buzzer.
- Buzzer sebagai indikator suara.
-
Inisialisasi
- Konfigurasi Raspberry Pi Pico dengan:
- Push button pertama sebagai input (misalnya, dihubungkan ke GPIO 16).
- Push button kedua sebagai input (misalnya, dihubungkan ke GPIO 17).
- Buzzer sebagai output (misalnya, dihubungkan ke GPIO 18).
- Konfigurasi Raspberry Pi Pico dengan:
-
Proses Kerja
- Program akan membaca status kedua tombol:
- Jika push button pertama ditekan, maka buzzer aktif dan berbunyi terus.
- Jika push button kedua ditekan, maka buzzer mati dan berhenti berbunyi.
- Program akan membaca status kedua tombol:
-
Looping Program
- Sistem akan terus memantau status kedua tombol, memastikan buzzer hanya aktif saat tombol pertama ditekan dan tetap berbunyi sampai tombol kedua ditekan.
2. Hardware dan Diagram Blok [Kembali]
- Push button pertama untuk mengaktifkan buzzer.
- Push button kedua untuk mematikan buzzer.
3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]
Rangkaian ini menggunakan Raspberry Pi Pico, dua push button, dan satu buzzer untuk mengontrol suara berdasarkan input tombol.
- Saat push button pertama ditekan, Raspberry Pi Pico akan mengaktifkan buzzer sehingga buzzer mulai berbunyi.
- Buzzer tetap menyala meskipun tombol pertama sudah dilepas.
- Saat push button kedua ditekan, Raspberry Pi Pico akan mematikan buzzer sehingga buzzer berhenti berbunyi.
- Sistem akan terus memantau tombol untuk memastikan buzzer hanya menyala ketika tombol pertama ditekan dan mati saat tombol kedua ditekan.
4. Flowchart dan Listing Program[Kembali]
Flowchart
Listing Program
from machine import Pin
import utime
# Konfigurasi pin
BUZZER = Pin(12, Pin.OUT)
Button1 = Pin(10, Pin.IN, Pin.PULL_UP) # Tombol 1 untuk mematikan buzzer
Button2 = Pin(7, Pin.IN, Pin.PULL_UP) # Tombol 2 untuk menyalakan buzzer
buzzer_on = False # Status buzzer awal (mati)
last_button1_state = 1 # Simpan status terakhir tombol 1
last_button2_state = 1 # Simpan status terakhir tombol 2
while True:
# Baca status tombol
button1_state = Button1.value()
button2_state = Button2.value()
# Cek jika tombol 2 ditekan (rising edge) -> Nyalakan buzzer
if button2_state == 0 and last_button2_state == 1:
buzzer_on = True # Nyalakan buzzer
print("Buzzer AKTIF")
utime.sleep_ms(200) # Debounce
# Cek jika tombol 1 ditekan (rising edge) -> Matikan buzzer
if button1_state == 0 and last_button1_state == 1:
buzzer_on = False # Matikan buzzer
print("Buzzer MATI")
utime.sleep_ms(200) # Debounce
# Simpan status tombol terakhir
last_button1_state = button1_state
last_button2_state = button2_state
# Atur status buzzer
BUZZER.value(1 if buzzer_on else 0)
utime.sleep_ms(50) # Delay untuk mengurangi polling cepat
Buatlah Rangkaian seperti gambar pada percobaan 5 dengan kondisi ketika push button ditekan maka buzzer akan aktif selama 3 detik
Komentar
Posting Komentar