from machine import Pin
import time
# setup
button = Pin(4, Pin.IN, Pin.PULL_UP)
blue = Pin(17, Pin.OUT)
green = Pin(18, Pin.OUT)
red = Pin(19, Pin.OUT)
state = 0 # 0=blue, 1=green, 2=red
last_button = 1
while True:
current = button.value()
# detect button press (when it changes from 1 to 0)
if last_button == 1 and current == 0:
state = state + 1
if state > 2:
state = 0
time.sleep(0.2) # debounce
last_button = current
# control LEDs based on state
if state == 0:
blue.on()
green.off()
red.off()
elif state == 1:
blue.off()
green.on()
red.off()
elif state == 2:
blue.off()
green.off()
red.on()