#2Principiante

Due LED lampeggianti alternati

4.6(102)
303 completato
Due LED lampeggianti alternati
Un progetto che crea un effetto flip-flop accendendo e spegnendo due LED in sequenza. Insegna a controllare più di un pin di uscita.

Video

Schema circuito

Due LED lampeggianti alternati - Circuit

Codice sorgente

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Due LED lampeggianti alternati
4// ─────────────────────────────────────────
5// Accende due LED a turno ogni 200 ms (effetto flip-flop). Mostra come
6// controllare più di un pin di uscita.
7//
8// Pin:
9//   D8 -> LED 1 (con una resistenza da 220 ohm)
10//   D9 -> LED 2 (con una resistenza da 220 ohm)
11
12void setup() {
13  pinMode(8,OUTPUT);     // Uscita del LED 1
14  pinMode(9,OUTPUT);     // Uscita del LED 2
15}
16
17void loop() {
18  // LED 1 acceso, LED 2 spento
19  digitalWrite(8,HIGH);
20  digitalWrite(9,LOW);
21  delay(200);
22  // Scambio: LED 1 spento, LED 2 acceso
23  digitalWrite(8,LOW);
24  digitalWrite(9,HIGH);
25  delay(200);
26}
27

FAQ

È possibile collegare due LED con lo stesso resistore?▾

No, ogni LED deve avere il proprio resistore. Se si utilizza un unico resistore in comune, i LED non si dividono equamente la corrente: uno si accenderà più luminoso dell'altro oppure non si accenderà affatto. Nel progetto è previsto un resistore da 220 Ω per ogni LED.

Come funziona l'effetto flip-flop?▾

Mentre un LED viene impostato su HIGH, l'altro viene impostato su LOW; dopo una breve pausa, gli stati si invertono. In questo modo i due LED si accendono alternativamente. La base di questo effetto consiste nell'impostare valori opposti sui due pin contemporaneamente.

Quali pin posso utilizzare?▾

Su Uno, tutti i pin digitali da 2 a 13 possono essere utilizzati per pilotare i LED. Poiché i pin 0 e 1 sono utilizzati per la comunicazione seriale USB, si consiglia di lasciarli liberi. Se cambi il pin, aggiorna anche il numero del pin nel codice.

I LED sono molto fiocchi, perché?▾

In genere si dimentica la riga pinMode(pin, OUTPUT); un pin non impostato come uscita fa accendere il LED in modo fioco. Inoltre, se il valore della resistenza è troppo elevato (ad es. 10 kΩ), il LED si accende debolmente; utilizzare una resistenza da 220–330 Ω.

Due LED lampeggianti alternati | BlueGrays