# Nama : Yuningsih Vebhy Selvania
# NIM : 2210953042
# Kelompok 9
# Modul 1 Percobaan 7 Kondisi 1
# Buatlah rangkaian seperti gambar pada percobaan 7 dan output akhir rangkaian keseluruhannya ditunjukkan dengan LED RGB menampilkan warna sesuai dengan input push button tetapi saat push button LED RGB warna merah ditekan, Buzzer berbunyi dan push button warna lainnya Buzzer mati
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
# Variabel status tombol sebelumnya
lastRedBtnState = True
lastGreenBtnState = True
lastBlueBtnState = True
def updateLEDs():
LED_RED.value(redState) # LED merah
LED_GREEN.value(greenState) # LED hijau
LED_BLUE.value(blueState) # LED biru
def buzz(duration):
BUZZER.value(1) # Nyalakan buzzer
utime.sleep_ms(duration)
BUZZER.value(0) # Matikan buzzer
while True:
# Membaca status tombol
redBtnState = BTN_RED.value()
greenBtnState = BTN_GREEN.value()
blueBtnState = BTN_BLUE.value()
# Tombol merah ditekan
if redBtnState == 0 and lastRedBtnState == 1:
redState = True # Nyalakan LED merah
greenState = False # Matikan LED hijau
blueState = False # Matikan LED biru
print("Tombol Merah Ditekan")
buzz(100) # Bunyi buzzer
# Tombol hijau ditekan
elif greenBtnState == 0 and lastGreenBtnState == 1:
redState = False # Matikan LED merah
greenState = True # Nyalakan LED hijau
blueState = False # Matikan LED biru
print("Tombol Hijau Ditekan")
# Tombol biru ditekan
elif blueBtnState == 0 and lastBlueBtnState == 1:
redState = False # Matikan LED merah
greenState = False # Matikan LED hijau
blueState = True # Nyalakan LED biru
print("Tombol Biru Ditekan")
# Perbarui LED sesuai status tombol yang ditekan
updateLEDs()
# Update status tombol sebelumnya untuk deteksi perubahan status tombol
lastRedBtnState = redBtnState
lastGreenBtnState = greenBtnState
lastBlueBtnState = blueBtnState
# Debounce
utime.sleep_ms(50)