from machine import Pin
import utime
# Konfigurasi pin untuk buzzer
buzzer_pins = [12, 13, 14] # GP12, GP13, GP14 sebagai output
buzzers = [Pin(pin, Pin.OUT) for pin in buzzer_pins]
# Konfigurasi pin untuk tombol dengan pull-up resistor
button_pins = [5, 7, 10] # GP5, GP7, GP10 sebagai input
buttons = [Pin(pin, Pin.IN, Pin.PULL_UP) for pin in button_pins]
# Variabel untuk menyimpan status terakhir tombol
lastButtonState = [1, 1, 1]
# Fungsi untuk menyalakan buzzer
def buzz(index, duration):
for buzzer in buzzers:
buzzer.value(0) # Matikan semua buzzer terlebih dahulu
buzzers[index].value(1) # Nyalakan buzzer yang sesuai
utime.sleep_ms(duration)
buzzers[index].value(0) # Matikan buzzer
while True:
for i in range(3):
buttonState = buttons[i].value()
if buttonState == 0 and lastButtonState[i] == 1: # Jika tombol ditekan
print(f"Tombol {i+1} Ditekan")
buzz(i, 100) # Nyalakan buzzer sesuai tombol
lastButtonState[i] = buttonState # Simpan status tombol
utime.sleep_ms(1) # Debounce sederhana