from machine import Pin
import time
# Configuración de pines
Led_rojo = Pin(15, Pin.OUT)
Led_amarillo = Pin(14, Pin.OUT)
Led_verde = Pin(13, Pin.OUT)
button = Pin(12, Pin.IN, Pin.PULL_UP) # Botón pulsador
# Variable para controlar el estado del semáforo
running = True
# Variable para registrar el estado anterior del botón
last_button_state = 1
def check_button():
global running, last_button_state
current_button_state = button.value()
if current_button_state == 0 and last_button_state == 1:
running = not running # Cambia el estado del semáforo
time.sleep(0.2) # Antirrebote para evitar múltiples detecciones del botón
last_button_state = current_button_state
while True:
check_button() # Revisa el estado del botón en cada ciclo
if running:
# Secuencia del semáforo
Led_rojo.on()
for i in range(10): # Divide el delay en partes más pequeñas para permitir la verificación del botón
check_button()
if not running: # Si se presiona el botón, salimos del bucle
break
time.sleep(0.1)
Led_rojo.off()
if running:
Led_amarillo.on()
for i in range(10):
check_button()
if not running:
break
time.sleep(0.1)
Led_amarillo.off()
if running:
Led_verde.on()
for i in range(10):
check_button()
if not running:
break
time.sleep(0.1)
Led_verde.off()
if running:
Led_amarillo.on()
for i in range(10):
check_button()
if not running:
break
time.sleep(0.1)
Led_amarillo.off()
else:
# Apagar todos los LEDs
Led_rojo.off()
Led_amarillo.off()
Led_verde.off()
#Equipo 2- Electronica Industrial
#Molina Giron Fabian
#Alvarez Guizar Daniel Enrique
#Zuñiga Sanchez Saul
#De Los Santos Gomez Carlos Roberto Darwin
#Perez Villarreal Carlos Alejandro