import machine
import utime
# LEDs p/ autos
led_rojo = machine.Pin(11, machine.Pin.OUT)
led_amarillo = machine.Pin(8, machine.Pin.OUT)
led_verde = machine.Pin(5, machine.Pin.OUT)
# LEDs p/ peatón
peaton_rojo = machine.Pin(10, machine.Pin.OUT)
peaton_verde = machine.Pin(9, machine.Pin.OUT)
# Botón
boton = machine.Pin(21, machine.Pin.IN, machine.Pin.PULL_UP)
while True:
# AUTOS EN ROJO / lleds de peaton peude cruzar
led_rojo.value(1)
led_amarillo.value(0)
led_verde.value(0)
peaton_rojo.value(0)
peaton_verde.value(1)
utime.sleep(5)
# AUTOS EN VERDE / led peaton no puede cruzar
tiempo_verde = 5
for i in range(tiempo_verde):
# si peatón presiona botón salir del ciclo antes
if boton.value() == 0:
break
led_rojo.value(0)
led_amarillo.value(0)
led_verde.value(1)
peaton_rojo.value(1)
peaton_verde.value(0)
utime.sleep(0.2)
#TRANSICIÓN
led_rojo.value(0)
led_amarillo.value(1)
led_verde.value(0)
peaton_rojo.value(1)
peaton_verde.value(0)
utime.sleep(2)