import machine
from time import sleep
button1 = machine.Pin(28, machine.Pin.IN, machine.Pin.PULL_UP)
button2 = machine.Pin(27, machine.Pin.IN, machine.Pin.PULL_UP)
button3 = machine.Pin(26, machine.Pin.IN, machine.Pin.PULL_UP)
leds = [machine.Pin(22, machine.Pin.OUT),
machine.Pin(21, machine.Pin.OUT),
machine.Pin(20, machine.Pin.OUT),
machine.Pin(19, machine.Pin.OUT),
machine.Pin(18, machine.Pin.OUT)]
def sequential_button1():
for led in leds:
led.value(0)
sleep(0.5)
for i in range(5):
leds[i].value(1)
print(f"LED {i+1} hidup")
sleep(1)
leds[i].value(0)
def sequential_button2():
for led in leds:
led.value(0)
sleep(0.5)
for _ in range(3):
for i in range(4):
leds[i].value(1)
print("LED 1 2 3 4 hidup")
sleep(1)
for i in range(4):
leds[i].value(0)
leds[4].value(1)
print("LED 5 hidup")
sleep(1)
leds[4].value(0)
def sequential_button3():
for led in leds:
led.value(0)
sleep(0.5)
for _ in range(2):
for led in leds:
led.value(1)
print("semua LED hidup")
sleep(3)
for led in leds:
led.value(0)
print("semua LED mati")
sleep(3)
for led in leds:
led.value(1)
print("semua LED terus hidup")
def handle_button(pin):
if pin == button1 and pin.value() == 0:
print("\nButton 1 ditekan\n")
sequential_button1()
elif pin == button2 and pin.value() == 0:
print("\nButton 2 ditekan\n")
sequential_button2()
elif pin == button3 and pin.value() == 0:
print("\nButton 3 ditekan\n")
sequential_button3()
button1.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_button)
button2.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_button)
button3.irq(trigger=machine.Pin.IRQ_FALLING, handler=handle_button)
try:
while True:
sleep(0.1)
except KeyboardInterrupt:
for led in leds:
led.value(0)