# UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD LERMA
# SEMÁFORO DE CRUCERO CON SEMÁFORO PEATONAL
# NEFTALI GONZALEZ FLORES
# ALAN EDUARDO ORTEGA HERNANDEZ
from machine import Pin #librería para manejo de pines
from time import sleep #librería para retardos
# Inicialización de LEDs para semáforos
r1 = Pin(21, Pin.OUT) #rojo1 semáforo1
a1 = Pin(19, Pin.OUT) #ambar1 semáforo1
v1 = Pin(18, Pin.OUT) #verde1 semáforo1
r2 = Pin(5, Pin.OUT) #rojo2 semáforo2
a2 = Pin(17, Pin.OUT) #ambar2 semáforo2
v2 = Pin(16, Pin.OUT) #verde2 semáforo2
# Inicialización del LED peatonal
p = Pin(25, Pin.OUT) #peatonal
p2 = Pin(33, Pin.OUT) #peatonal
while True: #ciclo infinito
# Secuencia 1: Verde1 ON, Rojo2 ON
p2.value(1)
v1.value(1)
r2.value(1)
sleep(3)
# Secuencia 2: Verde1 OFF, Amarillo1 ON/OFF
v1.value(0)
for i in range(7):
a1.value(1)
sleep(0.2)
a1.value(0)
sleep(0.3)
p2.value(0)
# Secuencia 3: Rojo1 ON, Verde2 ON
p.value(1)
r1.value(1)
r2.value(0)
v2.value(1)
sleep(15) # Espera antes de cambiar a la siguiente secuencia
# Apagar el LED peatonal al final de cada ciclo
# Secuencia 4: Verde2 OFF, Amarillo2 ON/OFF
v2.value(0)
for i in range(7):
a2.value(1)
sleep(0.2)
a2.value(0)
sleep(0.3)
p.value(0)
#Secuencia 5: Rojo1 OFF
r1.value(0)