Inhaltsverzeichnis
- Benötigte Komponenten
- Hinweise zum Breadboard
- Anschluss LEDs in elektronischen Schaltungen
- LED-Polarität und Schaltzeichen
- Code
- Ergebnis
Benötigte Komponenten
- 1x UNO R3 kompatibles Board
- 1x USB-Kabel
- 1x Breadboard
- 8x 5mm LED
- 8x Jumper Kabel
- 8x 220 Ohm Widerstand
Hinweise zum Breadboard
Die Kontakt-Terminals des Breadboards sind vertikal miteinander verbunden und werden zum Anschließen von Komponenten verwendet.
Die Verteiler-Terminals ( + / -) sind waagerecht miteinander verbunden und bei den meisten Aufbauten für die Stromversorgung reserviert.
Eine beliebte Fehlerquelle bei Einsteigerprojekten sind Breadboards bei denen der Kontakt des Anschluss-Terminals in der Mitte unterbrochen ist, dieser ist meistens durch eine Lücke gekennzeichnet und sollte für den Anfang immer mit einem Kabel oder Draht überbrückt werden.
Anschluss
LEDs in elektronischen Schaltungen
Die Standard 5mm Leuchtdioden sind die am häufigsten verwendeten LEDs in elektronischen Schaltungen.
Man findet Sie in verschiedensten Farben auch in sämtlichen Hobbyprojekten und Tutorials wieder. Sie beginnen bei 8-12mA zu leuchten und erreichen bei ca. 20mA ihre volle Helligkeit. Diese LEDs müssen immer mit Vorwiderständen betrieben werden, in unserem Beispiel verwenden wir 220 Ohm Vorwiderstände.
Wieso werden Vorwiderstände benötigt?
Da diese Leuchtdioden sehr empfindlich auf den Durchlassstrom reagieren, muss dieser mit Hilfe von Widerständen begrenzt werden - auch wenn die Betriebsspannung der Durchflussspannung entspricht. Der Vorwiderstand dient zum Begrenzen der Spannung und des Stroms, der durch die LED fließt.
Ohne den Vorwiderstand würde die LED zunächst warm werden und anschließend durchbrennen. Die LED muss sich nicht zwangsläufig sofort zerstören, aber da ein warmer Halbleiter besser leitet, ist es nur eine Frage der Zeit, bis der Stromanstieg zu viel für unsere kleine LED wird.
Wie man den Vorwiderstand berechnet, können Sie auf der Webseite des Elektronik-Kompendiums im Detail nachlesen.
LED-Polarität und Schaltzeichen
Code
int timer = 100; // Verzoegerung
void setup() {
// Schleife um pin 2 bis 9 als Output zu deklarieren:
for (int LED_PIN = 2; LED_PIN < 10; LED_PIN++) {
pinMode(LED_PIN, OUTPUT);
}
}
void loop() {
// Schleife vom niedrigsten zum hoechsten Pin:
for (int LED_PIN = 2; LED_PIN < 10; LED_PIN++) {
// LED einschalten:
digitalWrite(LED_PIN, HIGH);
delay(timer);
// LED ausschalten:
digitalWrite(LED_PIN, LOW);
}
// Schleife vom hoechsten zum niedrigsten Pin:
for (int LED_PIN = 8; LED_PIN >= 2; LED_PIN--) {
// LED einschalten:
digitalWrite(LED_PIN, HIGH);
delay(timer);
// LED ausschalten:
digitalWrite(LED_PIN, LOW);
}
}
Der Code basiert auf dem Arduino Beispiel für die for-Schleife. Wie das mit dem Hochzählen der
Parameter funktioniert, ist in der Dokumentation auf der offiziellen Arduino Webseite erklärt.
Ergebnis
Die LEDs sollten jetzt nacheinander aufleuchten. Dieser Aufbau eignet sich perfekt für Knightriderfans, nerdige Geschenke und Effekte im Modellbau!
Zurück zum Inhaltsverzeichnis
Update 09.09.2022 Vielen Dank an RobertV für die Verbesserungsvorschläge!
TOP (fast) ;-)
Endlich eine einfache Schaltung mit minimalen Bauteilen und Simplem Sketch! Danke!
Nur rund 35 Jahre drauf gewartet!!! :-)
Toll, bin den ganzen abend schon sprachlos!
Kleine Wermutstropfen:
- Fritzing Grafik ist PIN7 leer, geht dann ab 8 erst wieder weiter. Kann so nicht funktionieren.
Bitte wie auf den Bildern durchgehend die PINS 2-9 verwenden!
- Der Sketch in der INO Datei ist ein Schreibfehler drin!
In der Schleife "Schleife vom hoechsten zum niedrigsten" steht als anfangs PIN eine 7. Falsch, müsste eine 9 stehen.
So wie im Beschreibungstext.
ABER: Bei dem (korrigierten) Sketch, leuchtet die jeweils letzte LED beim Richtungswechsel etwas länger
als die restlichen. Warum? Weil in jeder Schleife mit derselben LED begonnen wird, aber auch beendet.
Mit dem Delay leuchtet also die letzte (die 8) LED 100ms, dann wechselt die Richtung, d.h. die 8. LED leuchtet
wieder 100ms bevor es wieder zurückläuft. Also leuchtet die 1 und 8te LED je 200ms.
Mit etwas recherche hab ich dann nur die 2. Schleife etwas geändert und alle Leuchten und Laufen gleich Lang/Schnell:
// Schleife vom hoechsten zum niedrigsten Pin:
for (int LED_PIN = 8; LED_PIN >= 3; LED_PIN--) {
Hoffe dem einen oder anderen geholfen zu haben.
Meine Wünsche zum Erweitern:
1. Die Laufgeschwindigkeit per Poti zu Steuern.
2. Die LEDS, wie bei echten Lampen der Glühfaden beim Abkühlen langsam abdunkelt, dieses per Software (Sketch) realisieren.
(Theoretisch wäre es auch mit Transistoren und Elkos realisierbar, finde aber die Ausführung mit wenig Bauteilen viel Eleganter.)
Vielleicht kann mir ja da jemand etwas Helfen. Danke!
Viele Grüße und viel Spaß!