#
from machine import Pin
import time
####################################Test LEDs#################################################
# push_button = Pin(14, Pin.IN, Pin.PULL_DOWN)
# green_led = Pin(20, Pin.OUT)
# yellow_led = Pin(19, Pin.OUT)
# red_led = Pin(18, Pin.OUT)
# green_led.off()
# yellow_led.off()
# red_led.off()
# while True:
# print("Toggling green LED on…")
# green_led.on()
# yellow_led.off()
# red_led.off()
# time.sleep(2)
# print("Toggling yellow LED on…")
# green_led.off()
# yellow_led.on()
# red_led.off()
# time.sleep(2)
# print("Toggling red LED on…")
# green_led.off()
# yellow_led.off()
# red_led.on()
# time.sleep(2)
####################################Duck is crossing########################
push_button = Pin(14, Pin.IN, Pin.PULL_DOWN)
push_button = Pin(14, Pin.IN, Pin.PULL_DOWN)
green_led = Pin(20, Pin.OUT)
yellow_led = Pin(19, Pin.OUT)
red_led = Pin(18, Pin.OUT)
DUCK_IS_CROSSING = False
def push_button_interrupt_handler(pin):
print("Duck-Crossing Interrupt Detected!")
global DUCK_IS_CROSSING
DUCK_IS_CROSSING = True
time.sleep(1.0)
push_button.irq(trigger= Pin.IRQ_RISING, handler=push_button_interrupt_handler)
green_led.off()
yellow_led.off()
red_led.off()
while True:
if DUCK_IS_CROSSING == True:
print("Duck is crossing!")
print("Toggling red LED on…")
DUCK_IS_CROSSING = False #reset DUCK_IS_CROSSING
green_led.off()
yellow_led.off()
red_led.on()
time.sleep(5)
print("Toggling green LED on…")
green_led.on()
yellow_led.off()
red_led.off()
time.sleep(2)
print("Toggling yellow LED on…")
green_led.off()
yellow_led.on()
red_led.off()
time.sleep(2)
print("Toggling red LED on…")
green_led.off()
yellow_led.off()
red_led.on()
time.sleep(2)