Lektion 98-7: Lauflicht mit Arduino und 5 LEDs
Ein Lauflicht (auch „Chasing"- oder „Knight Rider"-Licht genannt) ist eines der klassischen Anfänger-Arduino-Projekte — und das aus gutem Grund. Es bringt dir bei, wie du mehrere Ausgänge nacheinander steuerst, wie du Ereignisse zeitlich taktest und wie du über strombegrenzende Widerstände nachdenkst — und das alles, während etwas visuell Ansprechendes entsteht. In diesem Projekt verdrahtest du fünf LEDs mit einem Arduino und programmierst sie so, dass jede der Reihe nach aufleuchtet, wodurch die Illusion entsteht, dass ein einzelnes Licht entlang der Reihe „wandert".
Sobald du das Muster verstanden hast, kannst du es in einer überraschend großen Anzahl realer Projekte wiederverwenden:
- Dekorative Beleuchtung: eine laufende Umrandung für ein Regal, einen Bilderrahmen oder ein Modell.
- Richtungsanzeiger: ein sequenzieller Blinkereffekt für ein Requisitenfahrzeug oder ein E-Bike.
- Fortschritts- oder Statusanzeige: eine LED-Reihe, die fortschreitet, wenn ein Prozess abgeschlossen wird.
- Spiel- und Anzeigetafel-Requisiten: ein „bewegtes Ziel" oder eine Pegelanzeige.
- Lehrmittel: die klarstmögliche Demonstration digitaler Ausgänge und Timing.
Dieselbe Verkabelung mit fünf LEDs wird in mehreren anderen Projekten in diesem Kurs wiederverwendet, sodass die Hardware, die du hier aufbaust, zu einer wiederverwendbaren Plattform wird.
Wie das Lauflicht funktioniert
Das Prinzip ist genau dasselbe wie beim Einschalten einer einzelnen LED — es wird einfach fünfmal wiederholt (im Video bei 30:47). Jede LED ist über ihren eigenen strombegrenzenden Widerstand mit ihrem eigenen Arduino-Pin verbunden, und alle Widerstände teilen sich eine gemeinsame Masse-Schiene. Der Sketch schaltet dann einen Pin auf HIGH, wartet, schaltet ihn auf LOW, wartet und geht zum nächsten Pin über. Da immer nur eine LED gleichzeitig leuchtet, nimmt das Auge die Sequenz als Bewegung wahr.
Die beiden Timing-Werte verleihen dem Effekt seinen Charakter. Die Einschaltzeit steuert, wie lange jede LED leuchtet, und die Ausschaltzeit steuert die Pause, bevor die nächste LED aufleuchtet. Eine kurze Einschaltzeit mit einer langen Ausschaltzeit erzeugt einen einzelnen Punkt, der sich schnell bewegt; eine lange Einschaltzeit mit einer kurzen Ausschaltzeit erzeugt einen gleichmäßigeren, kontinuierlicheren Durchlauf (im Video bei 35:00).
Hardware und Komponenten
- 1 × Arduino-Board (Uno, Nano oder ähnlich)
- 5 × LEDs (beliebige Farbe; das Mischen von Farben macht den Effekt leichter erkennbar)
- 5 × Widerstände — 300 Ω bis 1 kΩ funktionieren gut
- 1 × Breadboard
- Jumper-Kabel
- USB-Kabel oder Batteriepack für die Stromversorgung
Wenn du später eine Variante mit Drucktaster hinzufügen möchtest, benötigst du außerdem einen Taster und zwei zusätzliche Jumper-Kabel.
Wahl des Widerstandswerts
Eine LED hat eine Durchlassspannung von ungefähr 2 V und möchte für volle Helligkeit etwa 10 mA (im Video bei 03:49). Bei einer Versorgung von 5 V muss der Widerstand die verbleibenden 3 V abfallen lassen. Wendet man das Ohmsche Gesetz an, ergibt sich R = V / I = 3 V / 0,01 A = 300 Ω. In der Praxis funktioniert alles von 300 Ω bis etwa 1 kΩ — je höher der Widerstand, desto dunkler die LED, aber desto sicherer und effizienter die Schaltung (im Video bei 05:33).
Verkabelungsanleitung
Stecke die fünf LEDs so in das Breadboard, dass ihre Anoden (der längere Schenkel) in dieselbe Richtung zeigen. Verbinde jede Kathode (den kürzeren, flachseitigen Schenkel) mit ihrem eigenen Widerstand und verbinde das andere Ende aller fünf Widerstände mit einer gemeinsamen Masse-Schiene. Führe dann von jeder Anode ein Jumper-Kabel zu einem Arduino-Pin.
In diesem Aufbau sind die LEDs den Pins 3, 4, 5, 6 und 7 zugewiesen (im Video bei 31:29). Die Pin-Nummern werden oben im Sketch definiert. Wenn du also eine andere Anordnung bevorzugst, musst du nur diese fünf Zeilen ändern.
Code-Erklärung
Der Sketch ist bewusst einfach gehalten, damit ein Anfänger jeder Zeile folgen kann. Nur der Block ganz oben muss für deinen eigenen Aufbau bearbeitet werden.
const int LED1 = 3;
const int LED2 = 4;
const int LED3 = 5;
const int LED4 = 6;
const int LED5 = 7;
int offTime = 30; // the time each LED waits in the OFF state
int onTime = 100; // the time each LED is ON
Pin-Definitionen. Die fünf const int-Zeilen ordnen jede LED einem physischen Arduino-Pin zu. Da sie als const deklariert sind, können die Werte später im Programm nicht geändert werden — das ist eine Sicherheitsgewohnheit, die versehentliche Neuzuweisungen verhindert. Wenn du deine LEDs an andere Pins anschließt, ändere hier die Nummern und sonst nichts.
onTime und offTime. Diese beiden Integer sind die einzigen „Verhaltens"-Variablen im Projekt, und mit ihnen wirst du experimentieren wollen:
onTime— wie lange (in Millisekunden) jede LED eingeschaltet bleibt. Größere Werte lassen jeden Schritt langsamer und bedächtiger wirken.offTime— die Pause, nachdem eine LED ausgeschaltet wurde, bevor die nächste aufleuchtet. Kleinere Werte lassen das Licht schneller wandern.
Versuchen Sie onTime = 200 und offTime = 200 für eine gleichmäßige Verfolgung mit mittlerer Geschwindigkeit, oder onTime = 30 und offTime = 30 für einen sehr schnellen, fast verschwommenen Effekt (im Video bei 36:06).
Die Funktion setup() wird einmal ausgeführt und setzt einfach alle fünf Pins in den Modus OUTPUT. Die Funktion loop() wiederholt dann dasselbe vierstufige Muster für jede LED: den Pin auf HIGH setzen, onTime warten, ihn auf LOW setzen, offTime warten. Wenn die fünfte LED fertig ist, beginnt die Schleife wieder bei der ersten, wodurch ein endloses Wandern entsteht.
Live-Projekt und Demonstration
Mit den Standardwerten wandern die LEDs in einem entspannten Tempo die Reihe entlang. Wenn Sie den Sketch mit onTime und offTime auf 200 ms hochladen, ergibt sich ein stetiger, gleichmäßiger Marsch; wenn Sie beide auf 30 ms reduzieren, huscht das Licht fast zu schnell über die Reihe, um ihm folgen zu können (im Video bei 36:21).
Zwei nützliche Experimente, die Sie ausprobieren können, sobald es funktioniert:
- Machen Sie die Einschaltzeit kürzer als die Ausschaltzeit, um einen deutlich wandernden Punkt zu erzeugen.
- Machen Sie die Einschaltzeit länger als die Ausschaltzeit, um ein weiches, überlappendes Leuchten zu erzeugen.
Die gleiche Verkabelung mit fünf LEDs wird im nächsten Projekt wiederverwendet, bei dem ein Druckknopf das Licht Schritt für Schritt weiterschaltet. Dieser Aufbau wird in Lektion 98-8: Wanderndes Licht mit Druckknopf und LEDs mit Arduino behandelt.
Wenn Sie die Reihe lieber über einen analogen Eingang statt über einen Knopf steuern möchten, sehen Sie sich Lektion 98-9: LED-Spannungspegelmesser mit Arduino oder wanderndes Licht mit Potentiometer an.
Weiterführende Möglichkeiten
Sobald das grundlegende Wandern funktioniert, ist ein natürlicher nächster Schritt, das Licht hin und her springen zu lassen, anstatt von der letzten LED zur ersten zu springen. Das ist eine reine Code-Übung — keine zusätzliche Hardware — und es ist eine gute Möglichkeit, Schleifen und Arrays zu üben. Sie können dieses Projekt auch mit der Druckknopf-Version kombinieren, um eine manuell weitergeschaltete Anzeige zu bauen.
Verwandte Projekte aus diesem Video
- Lektion 98-1: Wie man eine LED mit Arduino ein- und ausschaltet
- Lektion 98-2: Wie man eine LED mit einem Druckknopf und Arduino ein- und ausschaltet
- Lektion 98-3: Wie man eine Toggle-LED mit einem Druckknopf und Arduino ein-/ausschaltet
- Lektion 98-4: Dimmen einer LED mit Arduino: Helligkeitssteuerung
- Lektion 98-5: Licht dimmen, wenn ein Knopf gedrückt wird, mit Arduino
- Lektion 98-6: Wipp-LED-Spiel mit Arduino
- Lektion 98-8: Wanderndes Licht mit Druckknopf und LEDs mit Arduino
- Lektion 98-9: LED-Spannungspegelmesser mit Arduino oder wanderndes Licht mit Potentiometer
- Lektion 98-10: Arduino-Ampel
Kapitel
- [00:00] Überblick über die zehn LED-Projekte
- [01:22] Einführung in den Arduino-Schritt-für-Schritt-Kurs
- [02:29] Was eine LED ist und wie man ihre Pins identifiziert
- [03:49] Berechnung des strombegrenzenden Widerstands
- [30:47] Einführung in das Projekt „wanderndes Licht“
- [31:06] Schaltplan für fünf LEDs
- [32:52] Durchgehen des Codes für das wandernde Licht
- [34:39] Demonstration und Ändern der Zeitwerte
- [36:41] Weiterschalten des Lichts mit einem Druckknopf (separates Tutorial)
- [42:25] LED-Spannungsbalken mit Potentiometer (separates Tutorial)
- [49:25] Arduino-Ampel (separates Tutorial)
This code has not been parsed yet. Please return to the admin panel to parse it.
Dinge, die Sie vielleicht brauchen
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Ressourcen & Referenzen
-
DokumentationDokumentation für das SunFounder 3 in 1 IoT/Smarte Auto/Lernkitdocs.sunfounder.com
-
Extern
-
Extern
-
Extern
Dateien📁
Arduino-Bibliotheken (zip)
-
SunFounder 3-in-1 Smart Car Lernkit Quellcode
3in1-kit-main-v2.zip12.80 MB
|||Benutzerhandbuch
-
SunFounder 3-in-1 Arduino Smart Car MontageanleitungDieses Dokument zeigt die Schritt-für-Schritt-Montage des SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB