
Video
Schema circuito

Codice sorgente
1int ledPins[] = {2, 3, 4, 5, 6, 7};
2
3void setup() {
4 for(int i = 0; i < 6; i++) {
5 pinMode(ledPins[i], OUTPUT);
6 }
7}
8
9void loop() {
10 for(int i = 0; i < 6; i++) {
11 digitalWrite(ledPins[i], HIGH);
12 delay(150);
13 digitalWrite(ledPins[i], LOW);
14 }
15}FAQ
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.
