3 led

Come accendere 3 LED diversi con Arduino e farli sembrare un semaforo?

Abbiamo già visto come accendere un LED con Arduino UNO, mentre oggi simuleremo un semaforo che dispone di ben 3 led. Andremo sempre ad utilizzare i pin digitali di Arduino, ma questa volta li faremo spegnere ed accendere in sequenza.

Cosa Serve?

Anche per questo esercizio ci servirà un Arduino UNO o un clone, tuttavia avremo bisogno di 3 LED ed 3 resistenze da 220 OHM. Anche in questo caso, per effettuare i collegamenti in modo pulito, consigliamo l’uso di jumper e una bredboard. Se non li avete ancora comprati, ecco la lista su Amazon:

Collegamenti

Passiamo nuovamente ai collegamenti. Anche qui lo schema è identico a quello visto nello scorso articolo, ma va solo ripetuto per ogni LED.

Come nell’esempio scorso, anche qua usiamo il cavo nero per collegare tutti i Ground.

Codice

In questo sketch di prova si accenderà prima il LED verde collegato al pin 13, mantenendo spenti gli altri due. Dopo un’attesa di 5 secondi, il LED Giallo di accederà per 2 secondi, spegnendo gli altri, ed infine stessa cosa per il led rosso che resterà acceso per 5 secondi.

 

</span>

// la funzione setup esegue una volta sola il codice
void setup() {
pinMode(11, OUTPUT); // Impostiamo la direzione del PIN 11 su OUTPUT perchè emetta un segnale

pinMode(12, OUTPUT); // Impostiamo la direzione del PIN 12 su OUTPUT perchè emetta un segnale

pinMode(13, OUTPUT); // Impostiamo la direzione del PIN 13 su OUTPUT perchè emetta un segnale
}
<pre>
// la funzione LOOP ripete all'infinito le operazioni
void loop() {

digitalWrite(13, HIGH);                    // Accende il LED verde
digitalWrite(12, LOW);                     // Spegne il LED giallo
digitalWrite(11, LOW);                     // Spegne il LED rosso
delay(5000);                               // attesa di 5 secondi

digitalWrite(13, LOW);                     // Spegne il LED verde
digitalWrite(12, HIGH);                    // Accende il LED giallo
digitalWrite(11, LOW);                     // Spegne il LED rosso
delay(2000);                               // attesa di 2 secondi

digitalWrite(13, LOW);                     // Spegne il LED verde
digitalWrite(12, LOW);                     // Spegne il LED giallo
digitalWrite(11, HIGH);                    // Accende il LED rosso
delay(5000);                               // attesa di 5 secondo
}