#6Intermedio

Effetto Supercar con LED

4.8(103)
183 completato
Effetto Supercar con LED
Progetto che crea un effetto lampo nero in stile Knight Rider accendendo 6 LED in sequenza. Insegna la logica del loop bidirezionale.

Video

Schema circuito

Effetto Supercar con LED - Circuit

Codice sorgente

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Effetto Supercar con LED
4// ─────────────────────────────────────────
5// I 6 LED si accendono uno alla volta in avanti, poi all'indietro (effetto
6// Knight Rider). Mostra la logica di un ciclo for bidirezionale.
7//
8// Pin:
9//   D2, D3, D4, D5, D6, D7 -> 6 LED (in ordine)
10//   Ogni LED con una resistenza da 330 ohm
11
12int ledPins[] = {2, 3, 4, 5, 6, 7};   // Pin dei LED nell'ordine di accensione
13
14void setup() {
15  // Impostare tutti i pin dei LED come uscite
16  for(int i = 0; i < 6; i++) {
17    pinMode(ledPins[i], OUTPUT);
18  }
19}
20
21void loop() {
22  // Avanti: da D2 a D7, 100 ms per LED
23  for(int i = 0; i < 6; i++) {
24    digitalWrite(ledPins[i], HIGH);
25    delay(100);
26    digitalWrite(ledPins[i], LOW);
27  }
28
29  // Indietro: da D6 a D3. I LED alle estremità vengono saltati così il rimbalzo appare fluido
30  for(int i = 4; i > 0; i--) {
31    digitalWrite(ledPins[i], HIGH);
32    delay(100);
33    digitalWrite(ledPins[i], LOW);
34  }
35}
36

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.

Effetto Supercar con LED | BlueGrays