from machine import Pin
import time
# Vehículos
verdeV = Pin(18, Pin.OUT)
amarilloV = Pin(17, Pin.OUT)
rojoV = Pin(16, Pin.OUT)
# Peatones
verdeP = Pin(20, Pin.OUT)
rojoP = Pin(19, Pin.OUT)
boton = Pin(15, Pin.IN, Pin.PULL_UP)
ocupado = False
def estado_normal():
verdeV.on()
amarilloV.off()
rojoV.off()
boton.off()
verdeP.off()
rojoP.on()
print("ESTADO: VERDE VEHICULAR / ROJO PEATONAL")
estado_normal()
while True:
if boton.value() == 0 and not ocupado:
ocupado = True
print("Solicitud peatonal registrada")
time.sleep_ms(200)
print("ESTADO: AMARILLO VEHICULAR")
verdeV.off()
amarilloV.on()
time.sleep(5)
print("ESTADO: CRUCE PEATONAL")
amarilloV.off()
rojoV.on()
rojoP.off()
verdeP.on()
time.sleep(8)
print("ESTADO: PARPADEO PEATONAL")
for i in range(6):
verdeP.off()
time.sleep(0.5)
verdeP.on()
time.sleep(0.5)
verdeP.off()
rojoP.on()
rojoV.off()
verdeV.on()
print("ESTADO: VERDE VEHICULAR / ROJO PEATONAL")
while boton.value() == 0:
pass
ocupado = False
time.sleep_ms(50)