led.Green();
if (millis() - timer >= pausa * 2/3) {
state = wait_button ;
- timer = millis();
+ timer += pausa * 2/3;
}
break;
case wait_button:
if (digitalRead(input) == LOW) {
state = turn_yellow ; // Il passaggio di stato avviene alla pressione di un bottone
- timer = millis();
delay(20); // Debouncing, si potrebbe fare con millis()
+ timer = millis();
};
break;
led.Yellow();
if (millis() - timer >= pausa * 2/3) {
state = turn_red ;
- timer = millis();
+ timer += pausa * 2/3;
}
break;
led.Red();
if (millis() - timer >= pausa) {
state = turn_green ;
- timer = millis();
+ timer += pausa ;
}
break;