]> git.piffa.net Git - sketchbook_andrea/commitdiff
Re order
authorAndrea Manni <andrea@piffa.net>
Mon, 13 Mar 2017 11:12:22 +0000 (12:12 +0100)
committerAndrea Manni <andrea@piffa.net>
Mon, 13 Mar 2017 11:12:22 +0000 (12:12 +0100)
advanced_projects/state_machine/semaforo_2_1_stimolo/semaforo_2_1_stimolo.ino
advanced_projects/state_machine/semaforo_2_2_doppio/semaforo_2_2_doppio.ino
advanced_projects/state_machine/semaforo_3_millis/semaforo_3_millis.ino
advanced_projects/state_machine/semaforo_4_doppio_single_FSM/semaforo_4_doppio_single_FSM.ino
advanced_projects/state_machine/semaforo_rgb/semaforo_rgb.ino

index b15183824b4962b4f226ea22f9ff451f360d06a4..99ea8a56c4662e27beed0e6ff0272a3fd5a17ac3 100644 (file)
@@ -13,7 +13,7 @@
 
 #include <common.h>
 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 :
index e25b487136fc134c0a8f017e3889fb322917b9e5..e5613619bd906cfb308341161e3b026fc29493da 100644 (file)
@@ -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
index 4cc7dcbb650d4972f7d571413c937239f5821eca..0b3c41563d7a8650d2c3de11f57f4e9506ef47b2 100644 (file)
@@ -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();
     };
index be9bb0482cac8210850a25cf695dc17e4ebebf04..0ab3b51938947e2ed4949a1ac94ecd8052c8493b 100644 (file)
@@ -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
 };
 
index 3260dbb03c76c74d4d464f1428eed5b5b2b76e94..5d86aa95778c48f47bf4a858b90fa03bb3f1db35 100644 (file)
@@ -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) {