Revisione 0.03
La nuova versione 0.18.08 del Firmware Arduino permette di realizzare l’Unità Didattica Il Semaforo Arduino.
L’Unità Didattica prevede di realizzare un modello di semaforo con tre LED colorati rosso, giallo e verde, collegati ai pin 2, 4 e 6.
All’avvio, se la sezione SEMAFORO nello sketch è attivata e la variabile semaforo_stato è automatico, allora si avvia il ciclo continuo di accensione e spegnimento con dati ritardi delle luci.
Seguirà l’ implementazione del comando
semaforo automatico|disabilitato|rosso|giallo|verde
da utilizzare nel consueto modo da remoto mediante canale USB .
Il codice sorgente relativo all’Unità Didattica viene attivato con
#define SEMAFORO
In questo caso vengono definite ed inizializzate le seguenti variabili:
#if defined(SEMAFORO)
String semaforo_stato = “automatico”;
// manuale|automatico|disabilitato
String semaforo_luce = “rossa”; // rossa|gialla|verde
int semaforo_durata_rosso = 3; // in secondi
int semaforo_durata_giallo = 1; // in secondi
int semaforo_durata_verde = 3; // in secondi
int semaforo_pin_rosso = 2;
int semaforo_pin_giallo = 4;
int semaforo_pin_verde = 6;
#endif
Quindi nella funzione setup()
#if defined(SEMAFORO)
pinMode(semaforo_pin_rosso, OUTPUT);
pinMode(semaforo_pin_giallo, OUTPUT);
pinMode(semaforo_pin_verde, OUTPUT);
#endif
E nella funzione loop()
#if defined(SEMAFORO)
if(semaforo_stato == “automatico”)
{
while(true) {
digitalWrite(semaforo_pin_rosso, HIGH);
delay(1000 * semaforo_durata_rosso);
digitalWrite(semaforo_pin_rosso, LOW);
digitalWrite(semaforo_pin_giallo, HIGH);
delay(1000 * semaforo_durata_giallo);
digitalWrite(semaforo_pin_giallo, LOW);
digitalWrite(semaforo_pin_verde, HIGH);
delay(1000 * semaforo_durata_verde);
digitalWrite(semaforo_pin_verde, LOW);
}
}
#endif