From 90d5cd57b6bacceeea2679ec0b168d3849e64e7d Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Mon, 13 Mar 2017 12:12:22 +0100 Subject: [PATCH] Re order --- .../semaforo_2_1_stimolo/semaforo_2_1_stimolo.ino | 3 +-- .../semaforo_2_2_doppio/semaforo_2_2_doppio.ino | 11 ++++++----- .../semaforo_3_millis/semaforo_3_millis.ino | 3 ++- .../semaforo_4_doppio_single_FSM.ino | 8 ++++---- .../state_machine/semaforo_rgb/semaforo_rgb.ino | 9 +++++---- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/advanced_projects/state_machine/semaforo_2_1_stimolo/semaforo_2_1_stimolo.ino b/advanced_projects/state_machine/semaforo_2_1_stimolo/semaforo_2_1_stimolo.ino index b151838..99ea8a5 100644 --- a/advanced_projects/state_machine/semaforo_2_1_stimolo/semaforo_2_1_stimolo.ino +++ b/advanced_projects/state_machine/semaforo_2_1_stimolo/semaforo_2_1_stimolo.ino @@ -13,7 +13,7 @@ #include const byte input = 2; // PIN del bottone -int pausa = 3000; +const int pausa = 3000; enum states_available { // Stati della FMS turn_green, // Dinamico, transizione green, // Statico @@ -51,7 +51,6 @@ switch (state) { state = turn_red ; // Il passaggio di stato avviene alla pressione di un bottone delay(20); }; - break; case turn_red : diff --git a/advanced_projects/state_machine/semaforo_2_2_doppio/semaforo_2_2_doppio.ino b/advanced_projects/state_machine/semaforo_2_2_doppio/semaforo_2_2_doppio.ino index e25b487..e561361 100644 --- a/advanced_projects/state_machine/semaforo_2_2_doppio/semaforo_2_2_doppio.ino +++ b/advanced_projects/state_machine/semaforo_2_2_doppio/semaforo_2_2_doppio.ino @@ -26,8 +26,8 @@ enum states_available { // Stati della FMS red }; -states_available FSM1 ; -states_available FSM2 ; +states_available FSM1 ; // Semaforo principale +states_available FSM2 ; // Semaforo secondario void setup() { @@ -65,7 +65,7 @@ switch (FSM1) { delay(pausa/3); led_main.Red(); FSM1 = red ; - FSM2 = turn_green; // Stimolo al semafor secondario + FSM2 = turn_green; // **** Stimolo al semaforo secondario break; case red : @@ -89,12 +89,13 @@ switch (FSM2) { case turn_red : led_secondary.Yellow(); delay(pausa/3); - FSM1 = turn_green ; + FSM1 = turn_green ; // **** FSM2 = red ; + led_secondary.Red(); break; case red : - led_secondary.Red(); + // niente da fare, statico break; } // Debug 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 4cc7dcb..0b3c415 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 @@ -18,6 +18,7 @@ const byte input = 2; // PIN del bottone int pausa = 3000; long timer ; + enum states_available { // Stati della FMS green, // Statico wait_button, // Evento - Stimolo @@ -52,7 +53,7 @@ case green: case wait_button: if (digitalRead(input) == LOW) { - state = turn_yellow ; // Il passaggio di stato avviene alla pressione di un bottone + state = turn_yellow ; delay(20); // Debouncing, si potrebbe fare con millis() timer = millis(); }; diff --git a/advanced_projects/state_machine/semaforo_4_doppio_single_FSM/semaforo_4_doppio_single_FSM.ino b/advanced_projects/state_machine/semaforo_4_doppio_single_FSM/semaforo_4_doppio_single_FSM.ino index be9bb04..0ab3b51 100644 --- a/advanced_projects/state_machine/semaforo_4_doppio_single_FSM/semaforo_4_doppio_single_FSM.ino +++ b/advanced_projects/state_machine/semaforo_4_doppio_single_FSM/semaforo_4_doppio_single_FSM.ino @@ -24,11 +24,11 @@ enum states_available { // Stati della FMS turn_green, // Dinamico, transizione green, // Statico wait_button, // Evento - Stimolo - turn_yellow, // Dinamico, transizione - yellow, // Statico + turn_yellow, // Dinamico, transizione + yellow, // Statico turn_red, // Dinamico, transizione - turn_sec_yellow, // Yellow per semaforo secondario - sec_yellow, + turn_sec_yellow,// Yellow per semaforo secondario + sec_yellow, // Statico red // Statico }; diff --git a/advanced_projects/state_machine/semaforo_rgb/semaforo_rgb.ino b/advanced_projects/state_machine/semaforo_rgb/semaforo_rgb.ino index 3260dbb..5d86aa9 100644 --- a/advanced_projects/state_machine/semaforo_rgb/semaforo_rgb.ino +++ b/advanced_projects/state_machine/semaforo_rgb/semaforo_rgb.ino @@ -8,9 +8,10 @@ Version: singolo semaforo + millis + memoria giallo Uno stimolo esterno rappresentato dalla pressione di un bottone causa il passaggio di stato. + Il semaforo resta verde fino a quando non riceve lo stimolo + (es passaggio pedonale). Implementata con millis() invece che con delay(), - sono stati aggiuntu due stati per meglio gestire lo stato yellow. */ @@ -18,6 +19,8 @@ Version: singolo semaforo + millis + memoria giallo const byte input = 2; // PIN del bottone int pausa = 3000; long timer ; +boolean wait = 0; // Memoria bottone + enum states_available { // Stati della FMS green, // Statico yellow, // Statico @@ -25,7 +28,6 @@ enum states_available { // Stati della FMS }; states_available state ; -boolean wait = 0; void setup() { @@ -34,8 +36,7 @@ void setup() { timer = millis(); } -RGBLed led(11, 10, 9); //Istanziamo un oggetto led facente parte -// della classe RGBLed +RGBLed led(11, 10, 9); void loop() { switch (state) { -- 2.39.2