case 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
delay(20); // Debouncing, si potrebbe fare con millis()
+ state = turn_yellow ; // Il passaggio di stato avviene alla pressione di un bottone
timer = millis();
};
case yellow :
if (millis() - timer >= pausa / 3) {
state = turn_red ;
- timer = millis();
+ timer += pausa / 3;
}
break;
case red :
if (millis() - timer >= pausa /3) {
state = turn_sec_yellow ;
- timer = millis();
+ timer += pausa /3 ;
}
break;
case sec_yellow :
if (millis() - timer >= pausa / 3) {
state = turn_green ;
- timer = millis();
+ timer += pausa /3;
}
break;