X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=advanced_projects%2Fstate_machine%2Fsemaforo_3_millis%2Fsemaforo_3_millis.ino;h=68825a6515005c130fccd3d48b47e403ce6b471c;hb=be1dfd3e9cfafbf56bc78ad53c08eaa6cd8d502d;hp=af151a7e98b801c047fc24d4797084959107251b;hpb=c2419a44138f249012bd7c0661ecd6d7af4c6a9d;p=sketchbook_andrea diff --git a/advanced_projects/state_machine/semaforo_3_millis/semaforo_3_millis.ino b/advanced_projects/state_machine/semaforo_3_millis/semaforo_3_millis.ino index af151a7..68825a6 100644 --- a/advanced_projects/state_machine/semaforo_3_millis/semaforo_3_millis.ino +++ b/advanced_projects/state_machine/semaforo_3_millis/semaforo_3_millis.ino @@ -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;