# El objetivo del programa es crear un semáforo para el tráfico y los peatones
# con un zumbador que indica cuando es seguro cruzar para los peatones
#
#
#
#-----------------------------MICROPYTHON--------------------------------
#
#
#
#
# Hecho por Rodrigo González Quidiello
from machine import Pin
from picozero import Speaker
import utime
# Los pines aconsejables para encender un LED son los siguientes:
# 2, 4-5, 9-10, 12-15, 18-19, 21-23, 25-27 y 32-33.
led_rojo_trafico = Pin(0, Pin.OUT)
led_amarillo_trafico = Pin(2,Pin.OUT)
led_verde_trafico = Pin(9,Pin.OUT, pull = None, value = 1)
led_rojo_peatones = Pin(10,Pin.OUT, pull = None, value = 1)
led_verde_peatones = Pin(12,Pin.OUT)
boton=Pin(28,Pin.IN,Pin.PULL_DOWN)
buzzer=Speaker(16)
# Declaramos esta variable para definir el tiempo de paso para los peatones
duracion_paso_peatones = 10
while True:
# led_verde_trafico.on()
# led_rojo_peatones.on()
estado = boton.value()
print(estado)
if boton.value():
estado = boton.value()
print(estado)
led_verde_trafico.off()
utime.sleep_ms(3000)
led_amarillo_trafico.on()
utime.sleep(3)
led_amarillo_trafico.off()
led_rojo_trafico.on()
utime.sleep(5)
led_rojo_peatones.off()
led_verde_peatones.on()
# En el siguiente bucle lo que hacemos es fijar la duración del semáforo de los peatones
# y el sonido del zumbador cada medio segundo el cual suena durante ese tiempo
for i in range(duracion_paso_peatones):
buzzer.on()
utime.sleep_ms(500)
buzzer.off()
utime.sleep_ms(500)
utime.sleep(2)
led_verde_peatones.off()
led_rojo_peatones.on()
utime.sleep(3)
led_rojo_trafico.off()
utime.sleep_ms(50)
led_rojo_peatones.off()
utime.sleep_ms(50)