from machine import Pin
from time import sleep
print("Hello, ESP32!")
semaforo_sur_norte = [Pin(13, Pin.OUT), Pin(14, Pin.OUT), Pin(12, Pin.OUT)]
semaforo_oriente_occidente = [Pin(25, Pin.OUT), Pin(5, Pin.OUT), Pin(19, Pin.OUT)]
semaforo_peatonal = [Pin(4, Pin.OUT), Pin(15, Pin.OUT), Pin(2, Pin.OUT)]
def encender_semaforo_verde(semaforo):
semaforo[0].value(1) # Verde
semaforo[1].value(0) # Rojo
semaforo[2].value(0) # Rojo
def encender_semaforo_amarillo(semaforo):
semaforo[0].value(0) # Rojo
semaforo[1].value(0) # Rojo
semaforo[2].value(1) # Amarillo
def encender_semaforo_rojo(semaforo):
semaforo[0].value(0) # Rojo
semaforo[1].value(1) # Amarillo
semaforo[2].value(1) # Amarillo
while True:
# Mientras el semaforo_sur_norte esté en verde
encender_semaforo_verde(semaforo_sur_norte)
encender_semaforo_rojo(semaforo_oriente_occidente)
encender_semaforo_rojo(semaforo_peatonal)
sleep(5)
# Mientras el semaforo_sur_norte esté en amarillo
encender_semaforo_amarillo(semaforo_sur_norte)
encender_semaforo_rojo(semaforo_oriente_occidente)
encender_semaforo_rojo(semaforo_peatonal)
sleep(5)
# Mientras el semaforo_sur_norte esté en rojo
encender_semaforo_rojo(semaforo_sur_norte)
encender_semaforo_amarillo(semaforo_oriente_occidente)
encender_semaforo_amarillo(semaforo_peatonal)
sleep(5)
# Todos se ponen en verde mientras el semaforo_sur_norte sigue en rojo
encender_semaforo_verde(semaforo_oriente_occidente)
encender_semaforo_verde(semaforo_peatonal)
sleep(5)