Laporan Akhir 2
2. Buat program untuk mikrokontroler Raspberry Pi Pico di software Thonny.
3. Inputkan program ke dalam mikrokontroler melalui USB.
4. Setelah program diinputkan, uji rangkaian yang telah dirangkai sesuai dengan output yang ditentukan.
Sistem ini memanfaatkan microcontroller, seperti Raspberry Pi Pico, untuk mengendalikan sebuah buzzer berdasarkan masukan dari dua tombol. Tombol berfungsi sebagai input dengan mode pull-up, di mana dalam keadaan normal memiliki nilai 1 dan berubah menjadi 0 saat ditekan. Ketika tombol ditekan, program akan mendeteksi perubahan nilai tersebut dan mengaktifkan buzzer untuk berbunyi selama 100 milidetik sebagai bentuk feedback kepada pengguna.
Agar pembacaan tombol lebih tepat, sistem menerapkan teknik debounce dengan menambahkan jeda 50 milidetik sebelum membaca kembali status tombol. Setelah tombol ditekan dan dilepaskan, sistem menyimpan status terakhir tombol untuk dibandingkan dengan kondisi selanjutnya. Dengan metode ini, sistem mampu beroperasi secara konsisten dalam mengontrol Buzzer berdasarkan input dari tombol tersebut.
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)
# State terakhir tombol (untuk deteksi tepi)
lastButton1State = True
lastButton2State = True
def buzz(duration_ms):
"""Nyalakan buzzer selama duration_ms milidetik."""
BUZZER.value(1)
utime.sleep_ms(duration_ms)
BUZZER.value(0)
while True:
# Baca status tombol (active-low)
button1State = Button1.value()
button2State = Button2.value()
# Deteksi penekanan tombol 1 (tepi turun)
if button1State == 0 and lastButton1State == 1:
print("Tombol 1 Ditekan")
buzz(100)
lastButton1State = button1State
# Deteksi penekanan tombol 2 (tepi turun)
if button2State == 0 and lastButton2State == 1:
print("Tombol 2 Ditekan")
buzz(100)
lastButton2State = button2State
# Debounce sederhana
utime.sleep_ms(1)
Tidak ada komentar:
Posting Komentar