import machine
from machine import Pin, Timer
import time
#Definimos tipos
NADA = 0
EVENTO = 1
ESPERA = 2
Verde= Pin(4, Pin.IN, Pin.PULL_UP)
Rojo= Pin(6, Pin.IN, Pin.PULL_UP)
Amarillo= Pin(5, Pin.IN, Pin.PULL_UP)
Azul= Pin(7, Pin.IN, Pin.PULL_UP)
estadoVerde = NADA #Estado del pulsador
estadoRojo = NADA
estadoAmarillo = NADA
estadoAzul = NADA
def procesoEntrada(estadoActual,valorPin):
if estadoActual==NADA and valorPin==False:
return EVENTO
if estadoActual==EVENTO:
return ESPERA
if estadoActual==ESPERA and valorPin==False:
return ESPERA
return NADA
while True:
time.sleep_ms(5) #Dejamos pasar el tiempo para eliminar bouncing
#Procesamos la entrada a ver si hay evento
estadoVerde = procesoEntrada( estadoVerde, Verde.value())
if (estadoVerde == EVENTO):
print("Verde!")
estadoRojo = procesoEntrada( estadoRojo, Rojo.value())
if (estadoRojo == EVENTO):
print("Rojo!")
estadoAmarillo = procesoEntrada( estadoAmarillo, Amarillo.value())
if (estadoAmarillo == EVENTO):
print("Amarillo!")
estadoAzul = procesoEntrada( estadoAzul, Azul.value())
if (estadoAzul == EVENTO):
print("Azul!")