#P1K7 : Buatlah rangkaian seperti gambar pada percobaan 1 dengan input
# 6 input Push button dan 3 output led merah, dengan 2 input
# masing-masing menghidupkan 1 output
from machine import Pin
import time
# Konfigurasi GPIO untuk LED dan tombol
led_pins = [2, 3, 16] # 3 LED merah
button_pins = [10, 11, 12, 13, 14, 17] # 6 tombol
# Inisialisasi LED sebagai output
leds = [Pin(pin, Pin.OUT) for pin in led_pins]
# Inisialisasi push button sebagai input dengan pull-down
buttons = [Pin(pin, Pin.IN, Pin.PULL_DOWN) for pin in button_pins]
# Mapping tombol ke LED (2 tombol per LED)
button_to_led = {
(0, 1): 0, # Tombol 0 & 1 mengontrol LED 0
(2, 3): 1, # Tombol 2 & 3 mengontrol LED 1
(4, 5): 2 # Tombol 4 & 5 mengontrol LED 2
}
while True:
for (btn1, btn2), led_idx in button_to_led.items():
if buttons[btn1].value() and buttons[btn2].value(): # Kedua tombol harus ditekan bersamaan
time.sleep(0.1) # Debounce
if buttons[btn1].value() and buttons[btn2].value(): # Pastikan masih ditekan
leds[led_idx].value(1) # Nyalakan LED
else:
leds[led_idx].value(0) # Matikan LED jika salah satu tombol dilepas
time.sleep(0.05) # Delay loop utama