'''Os tempos dos sinais verde e vermelho são de 10s, enquanto o do amarelo
é de 2s. Porém, se durante o sinal verde for apertado um botão de solicitação
de travessia, o tempo do sinal verde cai para 2s, naquele momento apenas,
e isso se o tempo restante para passar para o amarelo for maior que 2s.'''
from machine import Pin
from time import sleep, time
led1 = Pin (12, Pin.OUT)
led2 = Pin (14, Pin.OUT)
led3 = Pin (13, Pin.OUT)
b = Pin (18, Pin.IN)
apertaram = b.value()
tempoamarelo = 2
last_time = 0
while True:
if (time() - last_time) > tempoamarelo and apertaram == True:
led3.off()
led2.on() #amarelo
sleep (2)
led2.off ()
led1.on () #vermelho
sleep(10)
led1.off()
led2.on() #amarelo
sleep (2)
led2.off ()
led3.on () #verde
sleep(10) #não consegui usar outra coisa além do sleep :c
led3.off()
# Depois volta para o início do ciclo #