#6Mittel

Karashimşek geführt

4.8(103)
182 abgeschlossen
Karashimşek geführt
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

Karashimşek geführt - Circuit

Quellcode

Arduino (C++)
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

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.

Karashimşek geführt | BlueGrays