]> git.piffa.net Git - sketchbook_andrea/blobdiff - advanced_projects/state_machine/semaforo_3_millis/semaforo_3_millis.ino
SFM: fixed times intervas for pause
[sketchbook_andrea] / advanced_projects / state_machine / semaforo_3_millis / semaforo_3_millis.ino
index af151a7e98b801c047fc24d4797084959107251b..68825a6515005c130fccd3d48b47e403ce6b471c 100644 (file)
@@ -46,17 +46,17 @@ switch (state) {
 
     case green:
     led.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
-    timer = millis();
     delay(20); // Debouncing, si potrebbe fare con millis()
+    timer = millis();
     };
     break;
 
@@ -66,9 +66,9 @@ switch (state) {
 
     case yellow :
     led.Yellow();
-    if (millis() > timer + pausa * 2/3) {
+    if (millis() - timer >= pausa * 2/3) {
     state = turn_red ;
-    timer = millis(); 
+    timer += pausa * 2/3;
     }
     break;
 
@@ -78,9 +78,9 @@ switch (state) {
 
     case red :
     led.Red();
-    if (millis() > timer + pausa) {
+    if (millis() - timer >= pausa) {
     state = turn_green ;
-    timer = millis(); 
+    timer += pausa ;
     }
     break;