
Video
Schema circuito

Codice sorgente
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// LED in sequenza
4// ─────────────────────────────────────────
5// I 6 LED si accendono uno dopo l'altro per 150 ms ciascuno, così la luce
6// cammina lungo la fila. Mostra il controllo di più pin con un array e un
7// ciclo for.
8//
9// Pin:
10// D2, D3, D4, D5, D6, D7 -> 6 LED (in ordine)
11// Ogni LED con una resistenza da 330 ohm
12
13int ledPins[] = {2, 3, 4, 5, 6, 7}; // Pin dei LED nell'ordine di accensione
14
15void setup() {
16 // Impostare tutti i pin dei LED come uscite
17 for(int i = 0; i < 6; i++) {
18 pinMode(ledPins[i], OUTPUT);
19 }
20}
21
22void loop() {
23 // Accendere ogni LED a turno per 150 ms
24 for(int i = 0; i < 6; i++) {
25 digitalWrite(ledPins[i], HIGH);
26 delay(150);
27 digitalWrite(ledPins[i], LOW);
28 }
29}
30FAQ
Perché è meglio usare un array?▾
Se conservi i numeri dei pin in un array, puoi scorrere tutti i LED in un'unica riga utilizzando un ciclo for. Per modificare il numero di LED, basta aggiornare l'array; non è necessario scrivere una riga separata per ogni LED.
Se i 6 LED si accendono contemporaneamente, l'Arduino si danneggia?▾
Con una resistenza da 330 Ω, ogni LED assorbe circa 9–10 mA; 6 LED assorbono complessivamente circa 60 mA, valore che rientra nei limiti di sicurezza dell'Uno. Il limite massimo consigliato per un singolo pin è di 20 mA, mentre la corrente I/O totale della scheda è di 200 mA.
Come faccio a invertire la direzione di marcia?▾
Imposta il ciclo "for" in modo inverso: for (int i = 5; i >= 0; i--). In questo modo la luce si muove nella direzione opposta. Se metti i due cicli uno dopo l'altro, otterrai l'effetto "fulmine nero".
Uno dei LED non si accende: quale potrebbe essere il motivo?▾
Quel LED potrebbe essere montato al contrario, il piedino potrebbe non essere inserito correttamente nella breadboard oppure il resistore potrebbe trovarsi su una riga diversa. Puoi capire se il problema è dovuto al LED difettoso o a un collegamento errato sostituendolo con un LED funzionante.
