PERCOBAAN 5
1. Prosedur[Kembali]
- Rangkai semua komponen sesuai dengan percobaan 5 pada modul
- Buat program untuk Rspberry pi pico, sesuaikan konfigurasinya dengan rangkaian dan kondisi yang dipakai
- Masukkan Program ke Thony (micropython)
- Upload program ke Raspberry Pi Pico
2. Hardware dan Diagram Blok[Kembali]
1. Raspberry PI PICO
3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]
Rangkaian:
Rangkaian ini menggunakan Raspberry Pi Pico sebagai mikrokontroler utama yang mengontrol dua tombol push button dan sebuah buzzer sebagai output suara. Tombol-tombol tersebut dikonfigurasi sebagai input dengan pull-up resistor internal, sedangkan buzzer dikendalikan sebagai output menggunakan salah satu pin GPIO. Program yang dijalankan pada Raspberry Pi Pico secara terus-menerus membaca status kedua tombol. Ketika salah satu tombol ditekan, statusnya berubah dari HIGH (1) ke LOW (0), yang kemudian terdeteksi oleh program. Jika tombol ditekan, buzzer akan menyala selama 100 milidetik untuk memberikan umpan balik suara sebelum kembali dimatikan. Untuk menghindari deteksi ganda akibat noise mekanis dari tombol, digunakan mekanisme debounce sederhana dengan penundaan waktu singkat menggunakan
utime.sleep_ms(1)
. Selain itu, variabel lastButton1State
dan lastButton2State
digunakan untuk menyimpan status sebelumnya dari tombol, sehingga buzzer hanya berbunyi ketika terjadi transisi dari HIGH ke LOW. Rangkaian ini dapat digunakan dalam berbagai aplikasi sederhana, seperti sistem notifikasi berbasis suara atau alat bantu aksesibilitas bagi pengguna dengan kebutuhan khusus.
Listing Program:
from machine import Pin
import utime
# Konfigurasi pin
BUZZER = Pin(12, Pin.OUT)
Button1= Pin(10, Pin.IN, Pin.PULL_UP)
Button2= Pin(7, Pin.IN, Pin.PULL_UP)
lastButton1State = True
lastButton2State = True
def buzz(duration):
BUZZER.value(1) # Nyalakan buzzer
utime.sleep_ms(duration)
BUZZER.value(0) # Matikan buzzer
while True:
Button1State = Button1.value()
Button2State = Button2.value()
if Button1State == 0 and lastButton1State == 1:
print("Tombol 1 Ditekan")
buzz(100)
lastButton1State = Button1State
if Button2State == 0 and lastButton2State == 1:
print("Tombol 2 Ditekan")
buzz(100)
lastButton2State = Button2State
utime.sleep_ms(1) # Debounce sederhana
5. Analisa[Kembali]
Datasheet Raspberry Pi Pico [Download]