Un semplice semaforo con Arduino
Componenti
3 LED Rosso, Verde e Giallo
Arduino Uno
Bread Board
Utilizzare gli ingressi digitali 2,6,10 e il GND. Un circuito fatto per bene prevede anche i resistori da 10 KOhm per non bruciare i LED.
Ho semplificato il circuito senza resistori perché per fare una prova (ovviamente non assumo responsabilità) in quanto i LED sono accessi per brevi periodi di tempo.
Il nostro semaforo prevede l’accensione del verde in 10 secondi, 3 secondi il giallo, e 12 secondi il rosso.
Ecco lo scherma realizzato con Fritzing un software open source per disegnare circuiti elettrici.

Lo sketch è questo:
const int LED_ROSSO=2;
const int LED_GIALLO=6;
const int LED_VERDE=10;
void setup() {
pinMode(LED_ROSSO,OUTPUT);
pinMode(LED_GIALLO,OUTPUT);
pinMode(LED_VERDE,OUTPUT);
}
void loop() {
digitalWrite(LED_VERDE,HIGH);
delay(10000);
digitalWrite(LED_VERDE,LOW);
digitalWrite(LED_GIALLO,HIGH);
delay(3000);
digitalWrite(LED_GIALLO,LOW);
digitalWrite(LED_ROSSO,HIGH);
delay(12000);
digitalWrite(LED_ROSSO,LOW);
}
Il programma è una semplice sequenza.
La void setup inizializza i PIN digitali che devono essere utilizzati come Output.
Poi la void loop esegue in modo perpetuo l’accensione o lo spegnimento dei dei Led con dei tempi espressi nell’istruzione delay. Il tempo è misurato in millisecondi.