from machine import Pin
from time import *
from pin_numbers import *
print('3 LEDs + button + switch Example')
print('press button 1 to toggle between 3 LEDs')
r_led = Pin(D1, Pin.OUT)
y_led = Pin(D2, Pin.OUT)
g_led = Pin(D3, Pin.OUT)
btn1 = Pin(D8, Pin.IN, Pin.PULL_UP)
btn2 = Pin(D7, Pin.IN, Pin.PULL_UP)
btn1_val_last = 1
btn2_val_last = 1
r_led.on()
led_state = 'red'
while True:
#print('btn =', btn.value())
# check that the button changed from high to low:
'''
if btn1.value() == 0: # button value is low
if btn1_val_last == 1: # last button value was high
# toggle between yellow and red LEDs:
if led_state == 'yellow':
r_led.on()
y_led.off()
g_led.off()
led_state = 'red'
elif led_state == 'red':
r_led.off()
y_led.off()
g_led.on()
led_state = 'green'
elif led_state == 'green':
r_led.off()
y_led.on()
g_led.off()
led_state = 'yellow'
print('led_state =', led_state)
# update the last button value:
btn1_val_last = btn1.value()
'''
if (btn1.value() == 0) and (btn2.value() == 0):
print('switch is on and button 1 is pressed..')
g_led.on()
y_led.on()
r_led.on()
sleep_ms(500)
elif (btn2.value() == 0):
print('switch is on..')
# blink all 3 LEDs:
for i in range(3):
g_led.on()
y_led.on()
r_led.on()
sleep_ms(500)
g_led.off()
y_led.off()
r_led.off()
sleep_ms(500)
else:
# automatically change from green to yellow to red
# every 3 seconds:
if led_state == 'yellow':
r_led.on()
y_led.off()
g_led.off()
led_state = 'red'
sleep_ms(3000)
elif led_state == 'red':
r_led.off()
y_led.off()
g_led.on()
led_state = 'green'
if btn1.value() == 0:
for i in range(3):
g_led.on()
sleep_ms(500)
g_led.off()
sleep_ms(500)
else:
sleep_ms(3000)
elif led_state == 'green':
r_led.off()
y_led.on()
g_led.off()
led_state = 'yellow'
sleep_ms(3000)