
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(100);
13 digitalWrite(ledPins[i], LOW);
14 }
15
16 for(int i = 4; i > 0; i--) {
17 digitalWrite(ledPins[i], HIGH);
18 delay(100);
19 digitalWrite(ledPins[i], LOW);
20 }
21}FAQ
Come si crea l'effetto "Karaşimşek" (Knight Rider)?▾
I LED si accendono in sequenza, prima da sinistra a destra, poi da destra a sinistra. I due cicli si susseguono in ordine; poiché il secondo ciclo conta in senso inverso, la luce va avanti e indietro.
Sembra che i LED alle estremità si accendano due volte: come posso risolvere il problema?▾
Se il ciclo di rotazione riaccende il LED all'estremità, quel LED rimane acceso per due passi. È possibile evitare la ripetizione alle estremità avviando il ciclo di rotazione con un indice in meno o in più (ad es. da 4 a 1).
Come si regola la velocità?▾
Modifica il valore di delay() tra un passo e l'altro. Un intervallo compreso tra 30 e 80 ms produce un effetto fluido. Se desideri modificare la velocità durante il funzionamento, puoi aggiungere un potenziometro come nel progetto successivo, “Fulmine nero con regolazione della velocità”.
Posso aggiungere altri LED?▾
Sì, basta aggiungere nuovi pin alla serie di pin e aggiornare i limiti del ciclo. L'Uno dispone di 12 pin digitali liberi; per averne di più, puoi pilotare 8 o più LED con 3 pin utilizzando il registratore a scorrimento 74HC595.
