#6Mittel

Knight-Rider-Lauflicht

4.8(103)
183 abgeschlossen
Knight-Rider-Lauflicht
Projekt, das einen schwarzen Blitzeffekt im Stil von Knight Rider erzeugt, indem es 6 LEDs nacheinander hin und her leuchten lässt. Lehrt bidirektionale Schleifenlogik.

Video

Schaltplan

Knight-Rider-Lauflicht - Circuit

Quellcode

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Knight-Rider-Lauflicht
4// ─────────────────────────────────────────
5// Die 6 LEDs leuchten nacheinander vorwärts, dann rückwärts auf
6// (Knight-Rider-Effekt). Zeigt die Logik einer bidirektionalen
7// for-Schleife.
8//
9// Pins:
10//   D2, D3, D4, D5, D6, D7 -> 6 LEDs (der Reihe nach)
11//   Jede LED mit 330-Ohm-Widerstand
12
13int ledPins[] = {2, 3, 4, 5, 6, 7};   // LED-Pins in Leuchtreihenfolge
14
15void setup() {
16  // Alle LED-Pins als Ausgänge setzen
17  for(int i = 0; i < 6; i++) {
18    pinMode(ledPins[i], OUTPUT);
19  }
20}
21
22void loop() {
23  // Vorwärts: D2 bis D7, 100 ms pro LED
24  for(int i = 0; i < 6; i++) {
25    digitalWrite(ledPins[i], HIGH);
26    delay(100);
27    digitalWrite(ledPins[i], LOW);
28  }
29
30  // Rückwärts: D6 bis D3. Die End-LEDs werden übersprungen, damit das Hin und Her nahtlos wirkt
31  for(int i = 4; i > 0; i--) {
32    digitalWrite(ledPins[i], HIGH);
33    delay(100);
34    digitalWrite(ledPins[i], LOW);
35  }
36}
37

FAQ

Wie entsteht der „Karaşimşek“-Effekt (Knight Rider)?▾

Die LEDs werden nacheinander erst von links nach rechts und dann von rechts nach links eingeschaltet. Zwei Zyklen laufen nacheinander ab; da der zweite Zyklus in umgekehrter Richtung zählt, bewegt sich das Licht hin und her.

Die LEDs an den Enden scheinen zweimal aufzuleuchten – wie kann ich das beheben?▾

Wenn der Wiederholungszyklus die LED am Ende erneut einschaltet, bleibt diese LED zwei Schritte lang eingeschaltet. Du kannst Wiederholungen an den Enden verhindern, indem du den Wiederholungszyklus mit einem um eins geringeren oder höheren Index startest (z. B. von 4 auf 1).

Wie lässt sich die Geschwindigkeit einstellen?▾

Ändere den Wert von `delay()` zwischen den einzelnen Schritten. Im Bereich von 30–80 ms ergibt sich ein flüssiger Effekt. Wenn du die Geschwindigkeit während des Betriebs ändern möchtest, kannst du ein Potentiometer hinzufügen, wie im nächsten Projekt „Geschwindigkeitsgeregelter Blitz“.

Kann ich weitere LEDs hinzufügen?▾

Ja, es reicht aus, wenn du der Pin-Reihe neue Pins hinzufügst und die Grenzen der Schleife aktualisierst. Der Uno verfügt über 12 freie digitale Pins; für mehr kannst du mit einem 74HC595-Schieberegister 3 Pins nutzen, um 8+ LEDs anzusteuern.

Knight-Rider-Lauflicht | BlueGrays