4 Accensione e spegnimanto di un LED utilizzando
5 una FSM con 4 stati, statici e di transizione.
7 Costrutto switch basato su uno struct.
11 // Dichiarazione variabili
13 int pausa = 1000; // Variabile richiambile nel corso dell'esecuzione
17 // Inizializziamo il PIN 13 come OUTPUT
21 enum fsm_stati { // Stati della FMS
23 to_off, // Transizione
34 digitalWrite(led, HIGH); // Mette il PIN del LED in stato acceso
38 stato = to_off ; // Setta il prossimo state
45 analogWrite(led, lum); // Mette il PIN del LED in stato acceso
49 stato = off ; // Setta il prossimo state
53 digitalWrite(led, LOW); // Mette il PIN del LED in stato spento
63 analogWrite(led, lum); // Mette il PIN del LED in stato acceso
67 stato = on ; // Setta il prossimo state
74 1.Cosa comporta l'uso della funzione delay?
75 2.Come si puo' modificare lo sketch per poter eseguire piu' conpiti contemporaneamente?
78 - Creare una FSM con un LED RGB avente due stati Red e Green, una transizione yellow tra i due
79 - Creare una FSM per la gestione di un semaforo
80 (esempio disponibile in sketchbook_andrea/advanced_projects/state_machine )
104 1.Delay rende il codice blocking, null'altro puo' essere eseguito durante i delay
105 2.Si potrebbe utilizzare millis(), vedi esercizi multitasking