import machine
import utime
# -----------------------------
# OUTPUT DEFINITIONS
# -----------------------------
led_onboard = machine.Pin(25, machine.Pin.OUT)
led_red = machine.Pin(2, machine.Pin.OUT)
led_yellow = machine.Pin(3, machine.Pin.OUT)
led_green = machine.Pin(4, machine.Pin.OUT)
# -----------------------------
# INPUT DEFINITIONS
# Buttons use PULL_DOWN configuration
# -----------------------------
btn1 = machine.Pin(5, machine.Pin.IN, machine.Pin.PULL_DOWN)
btn2 = machine.Pin(6, machine.Pin.IN, machine.Pin.PULL_DOWN)
btn3 = machine.Pin(7, machine.Pin.IN, machine.Pin.PULL_DOWN)
# -----------------------------
# INITIAL STATES
# -----------------------------
led_onboard.value(1) # turn on onboard LED
led_red.value(0)
led_yellow.value(0)
led_green.value(0)
print("Program started! Press buttons...")
# -----------------------------
# MAIN LOOP
# -----------------------------
while True:
# Button 1 controls RED LED
if btn1.value() == 1:
led_red.value(1)
else:
led_red.value(0)
# Button 2 controls YELLOW LED
if btn2.value() == 1:
led_yellow.value(1)
else:
led_yellow.value(0)
# Button 3 exits
if btn3.value() == 1:
break
utime.sleep(0.05) # small debounce delay
# -----------------------------
# EXIT SEQUENCE
# -----------------------------
print("Finished!")
led_onboard.value(0)
led_red.value(0)
led_yellow.value(0)
led_green.value(0)