
Video
Schema circuito

Codice sorgente
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}
27FAQ
È 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 Ω.
