]> git.piffa.net Git - sketchbook_andrea/blobdiff - advanced_projects/state_machine/semaforo_4_doppio/semaforo_4_doppio.ino
SFM: fixed times intervas for pause
[sketchbook_andrea] / advanced_projects / state_machine / semaforo_4_doppio / semaforo_4_doppio.ino
index 3866ad2335bb95564504693ca3a7db3449bfa1dc..ab22ae032d3241ec087e7b325756e270eef615d1 100644 (file)
@@ -52,16 +52,16 @@ switch (state) {
     break;
 
     case green:
-    if (millis() > timer + pausa * 2/3) {
+    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();
     };
 
@@ -73,9 +73,9 @@ switch (state) {
     break;
 
     case yellow :
-    if (millis() > timer + pausa / 3) {
+    if (millis() - timer >= pausa / 3) {
     state = turn_red ;
-    timer = millis(); 
+    timer += pausa / 3;
     }
     break;
 
@@ -86,9 +86,9 @@ switch (state) {
     break;
 
     case red :
-    if (millis() > timer + pausa /3) {
+    if (millis() - timer >= pausa /3) {
     state = turn_sec_yellow ;
-    timer = millis(); 
+    timer += pausa /3 ;
     }
     break;
 
@@ -98,9 +98,9 @@ switch (state) {
     break;
 
     case sec_yellow :
-    if (millis() > timer + pausa / 3) {
+    if (millis() - timer >= pausa / 3) {
     state = turn_green ;
-    timer = millis(); 
+    timer += pausa /3;
     }
     break;