
Video
Schaltplan

Quellcode
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}
37FAQ
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.
