from machine import Pin
import utime
# SWITCH SETUP
switch = Pin(13, Pin.IN, Pin.PULL_UP) #pull_up setting keeps the pin at logic 1
#led setup pro pro pro pro
atas_red = Pin(1, Pin.OUT)
atas_yellow = Pin(2, Pin.OUT)
atas_green = Pin(3, Pin.OUT)
kiri_red = Pin(5, Pin.OUT)
kiri_yellow = Pin(8, Pin.OUT)
kiri_green = Pin(9, Pin.OUT)
bawah_red = Pin(16, Pin.OUT)
bawah_yellow = Pin(17, Pin.OUT)
bawah_green = Pin(18, Pin.OUT)
kanan_red = Pin(20, Pin.OUT)
kanan_yellow = Pin(21, Pin.OUT)
kanan_green = Pin(22, Pin.OUT)
def all_off():
for light in [atas_red, atas_yellow, atas_green,
kiri_red, kiri_yellow, kiri_green,
bawah_red, bawah_yellow, bawah_green,
kanan_red, kanan_yellow, kanan_green]:
light.off()
while True:
if switch.value() == 0: #check kalau switch ON or OFF (0: on, 1: off)
# ATAS PHASE
all_off()
atas_green.on()
kiri_red.on()
bawah_red.on()
kanan_red.on()
utime.sleep(5)
if switch.value() == 1: continue #check kalau user turned off the switch
atas_green.off()
atas_yellow.on()
atas_red.on()
utime.sleep(2)
# KIRI PHASE
all_off()
kiri_green.on()
atas_red.on()
bawah_red.on()
kanan_red.on()
utime.sleep(5)
if switch.value() == 1: continue
kiri_green.off()
kiri_yellow.on()
kiri_red.on()
utime.sleep(2)
# BAWAH PHASE
all_off()
bawah_green.on()
kiri_red.on()
atas_red.on()
kanan_red.on()
utime.sleep(5)
if switch.value() == 1: continue
bawah_green.off()
bawah_yellow.on()
bawah_red.on()
utime.sleep(2)
# KANAN PHASE
all_off()
kanan_green.on()
kiri_red.on()
bawah_red.on()
atas_red.on()
utime.sleep(5)
if switch.value() == 1: continue
kanan_green.off()
kanan_yellow.on()
kanan_red.on()
utime.sleep(2)
else:
#kalau switch off, SEMUA led off
all_off()
utime.sleep(0.1)OFF: right position
ON: left position