from machine import Pin
import utime
# Konfigurasi pin
LED_RED = Pin(5, Pin.OUT)
LED_GREEN = Pin(6, Pin.OUT)
LED_BLUE = Pin(11, Pin.OUT)
BUZZER = Pin(12, Pin.OUT)
BTN_RED = Pin(10, Pin.IN, Pin.PULL_UP)
BTN_GREEN = Pin(7, Pin.IN, Pin.PULL_UP)
BTN_BLUE = Pin(8, Pin.IN, Pin.PULL_UP)
# Variabel status LED (awalannya mati)
redState = False
greenState = False
blueState = False
lastRedBtnState = True
lastGreenBtnState = True
lastBlueBtnState = True
def updateLEDs():
LED_RED.value(redState) # Common Katode
LED_GREEN.value(greenState)
LED_BLUE.value(blueState)
def buzz(duration):
BUZZER.value(1) # Nyalakan buzzer
utime.sleep_ms(duration)
BUZZER.value(0) # Matikan buzzer
while True:
redBtnState = BTN_RED.value()
greenBtnState = BTN_GREEN.value()
blueBtnState = BTN_BLUE.value()
# Tombol Merah Ditekan
if redBtnState == 0 and lastRedBtnState == 1:
redState = not redState
print("Tombol Merah Ditekan")
buzz(100)
lastRedBtnState = redBtnState
# Tombol Hijau Ditekan
if greenBtnState == 0 and lastGreenBtnState == 1:
greenState = not greenState
print("Tombol Hijau Ditekan")
buzz(100) # Buzzer hanya berbunyi saat tombol hijau ditekan
lastGreenBtnState = greenBtnState
# Tombol Biru Ditekan
if blueBtnState == 0 and lastBlueBtnState == 1:
blueState = not blueState
print("Tombol Biru Ditekan")
buzz(100)
lastBlueBtnState = blueBtnState
# Cek kondisi tombol untuk menyalakan atau mematikan buzzer
if greenBtnState == 0: # Tombol hijau ditekan, buzzer hidup
BUZZER.value(1)
else: # Tombol lain ditekan, buzzer mati
BUZZER.value(0)
updateLEDs()
utime.sleep_ms(50) # Debounce sederhana
# Nama: AISYAH HELVIA JONIUS
# NIM : 2210951020