from machine import Pin
from time import sleep_ms, ticks_ms
vPVermelho = Pin(23, Pin.OUT, value=1)
vPAmarelo = Pin(22, Pin.OUT, value=0)
vPVerde = Pin(21, Pin.OUT, value=0)
botao = Pin(33, Pin.IN, Pin.PULL_UP)
estadoAnterior = estadoAtual = botao.value()
t = 5000
ultimaVez = jaChegou = ticks_ms()
tempos = (3000, 5000, 1000)
modo = 0 # 0: Pare; 1: Siga; 2: Atenção
t = tempos[modo]
while True:
estadoAtual = botao.value()
if estadoAtual != estadoAnterior:
if estadoAtual == 1 and modo == 1:
print('Pressionou')
t = 1000
sleep_ms(200)
estadoAnterior = estadoAtual
jaChegou = ticks_ms()
if jaChegou >= ultimaVez + t:
modo = modo+1
if modo > 2:
modo = 0
if modo == 0: # Pare
vPAmarelo.off()
vPVermelho.on()
elif modo == 1: # Siga
vPVermelho.off()
vPVerde.on()
elif modo == 2: # Atenção
vPVerde.off()
vPAmarelo.on()
else:
vPVerde.on()
vPAmarelo.on()
vPVermelho.on()
t = tempos[modo]
ultimaVez = ticks_ms()