Der Einstieg in die MobaLedLib:
Stammtische
Die wichtigsten Seiten & Links:
aktuell verwendete Versionen
- offizieller Release
- aktuelle Betaversion
Die LEDs sind in einer Kette angeordnet. Jede LED besitzt einen Daten Eingang und Daten Ausgang. Die erste LED ist mit dem Arduino verbunden. Die zweite LED bekommt ihr Signal vom Ausgang der LED Nummer 1. Sie reicht die Daten über ihren Ausgang an die nächste LED weiter.
Alle LEDs haben eine gemeinsame Plusleitung (Rot) und eine gemeinsame Masseleitung (Schwarz). Die Datenleitung verbindet immer nur zwei benachbarte LEDs. Die Teilstücke der Datenleitung sind NICHT elektrisch miteinander verbunden. Das ist ganz entscheidend für das Ansteuerungsprinzip der LEDs.
Die erste RGB LED liest die Daten vom Arduino ein, und merkt sich die drei Helligkeitswerte für ihre Rote, Grüne und Blaue LED. Wenn der zweite Datensatz vom Arduino kommt dann reicht die LED diesen an die nächste LED weiter. Damit bekommt der Chip in der zweiten RGB LED nur den zweiten Datensatz des Arduinos, weil die erste LED den ersten Datensatz für sich beansprucht hat. Die Nummer zwei merkt sich ebenso die ersten empfangenen Helligkeitswerte wund reicht alle folgenden weiter. Damit bekommt die dritte LED erst den dritten Datensatz…
Das kann man sich wie eine Eimerkette vorstellen. Jeder in der Kette stellt den Ersten Eimer der ihm gereicht wird vor sich hin. Den nächsten Eimer reicht er weiter.
Am Ende hat jeder einen Eimer vor sich stehen. Dann kommt der Befehl vom Kommandanten die Eimer in das Feuer zu schütten.
So funktioniert das auch beim Arduino. Die Daten werden genauso weitergereicht und dann auf Befehl des Arduinos gleichzeitig angezeigt. Dabei ist die Datenübertragung so schnell, dass innerhalb von 4 Millisekunden Hundert LEDs mit Daten versorgt werden können.
Das Geniale dabei ist, dass man den LEDs keine Adresse per DIP-Schalter oder so geben muss. Das erste Datenpaket kommt bei der ersten LED an und das Zweite bei der zweiten LED…
Ein weiterer Vorteil des Verfahrens ist, dass das elektrische Signal von jeder LED neu generiert wird. Dadurch können sich Störungen nicht aufaddieren. Das ist gerade in unserem Umfeld wichtig. Das Digitalsignal der Eisenbahn ist eine große Störquelle welche über die Schienen überall auf der Anlage sendet.
Entscheiden aber ist, dass man diese Kette nicht teilen kann. Bei einem T-Stück müssten die „Eimer“ verdoppelt werden. Bei elektrischen Signalen funktioniert das. Dann bekommen aber immer zwei Leuchtdioden die gleichen Helligkeitswerte.
So eine Duplizierung der Signale kann man z.B. bei einer Ampel nutzen. Bei einer Kreuzung sollen die gegenüber liegenden Ampeln das gleiche Bild Anzeigen:
Ampel A = B und C = D. Hier könnte man so eine Verzweigung einbauen. Das wird man aber direkt bei den Ampeln machen und diese mit einem 4-poligen Kabel an einen Verteiler anschließen.
Doch jetzt zurück zu der Kette. Elektrisch werden die LEDs in einer Kette angeordnet. Der Ausgang einer LED ist mit dem Eingang der nächsten LED verbunden. Auf der Modelleisenbahn ist diese Anordnung aber unpraktisch. Durch die Verwendung einer vierten Leitungen als Daten-Rückleitung vom Ausgang der letzten LED in einem Strang zu der ersten LED im nächsten Strang kann man die LEDs beliebig anordnen. Die Verteiler erleichtern den Aufbau erheblich. Das zeigt dieses Bild:
Neben den LEDs sind kleine Nummern welche die „Adresse“ der LED beschreibt. Praktischerweise gibt es die „Intelligenz“ der RGB-LEDs auch als einzelnes IC ohne LED bzw. als kleine Platine mit montiertem IC. Das wird im Rahmen der MobaLedLib genutzt um andere Dinge anzusteuern: Servos, Motoren, Relais, Soundmodule. Diese WS2811-Schaltkreise verhalten sich wie LEDs und haben Anschlüsse an denen man dann einzelne LEDs - oder eben andere Verbraucher - anschließen kann.
Eine andere Versinnbildlichung wäre diese:
Das kannst du dir vorstellen wie einen langen Zug mit Güterwagen. Der Zug hält an der ersten LED und der erste Wagen wird abgekoppelt, die LED schickt den Zug, mit neuer Kraft zur zweiten. Dort wird der zweite Wagen, der nun ja der Erste ist, abgekoppelt. Und so geht das reihherum bis die Schublok wieder im Depot angekomm ist und sagt: „Arbeit verrichtet, Chef.“
Geeignet für die MobaLedLib: ✔
Am einfachsten geht es mit den fertigen WS2812-Modulen.
Hier ist der Kondensator bereits an Bord und rückseitig stehen Lötpads zum direkten Anschluss von VCC, GND, Data In und Data Out zur Verfügung.
AliExpress: https://de.aliexpress.com/item/32560280169.html
Verwendungsbeispiel für diesen Typen: Hallenbeleuchtung
Farbreihenfolge: GRB
Im Gegensatz zum WS2812-Modul ist bei den folgenden Typen kein Kondensator angelötet.
Dieser ist laut Datenblatt zwingend nötig und wird so nahe wie möglich an der LED platziert und verbindet Plus und Minus.
Bei all unseren Platinen sitzt dieser 100nF Kondensator auch in unmittelbarer Nähe.
Das Foto zeigt den Kondensator am Beispiel einer SK6812-1515, bei der er diagonal auf der Rückseite angelötet ist.
Der Minuspol ist in den meisten Fällen durch eine schräge Ecke am LED-Gehäuse markiert.
Geeignet für die MobaLedLib: ✔
Dieselbe LED, die sich auf den fertigen WS2812-Modulen befindet, kann man auch einzeln verwenden. Sie eignet sich mit ihrer Größe von 5,0x5,0x2,0 gut auf Platinen.
Der Kondensator sollte in unmittelbarer Nähe platziert werden.
AliExpress: https://de.aliexpress.com/w/wholesale-ws2812-5050.html
KT-elektronic: https://www.kt-micro.de/shop/Optoelektronik/LEDs-mit-Controller/WS2812B-5050-RGB-LED-10er-Streifen::586.html
Verwendungsbeispiel für diesen Typen: Universal Verteiler Pro
Farbreihenfolge: GRB
Datenblatt
Geeignet für die MobaLedLib: ✔
Wenn es von Hand noch gut zu löten sein soll, kann man die SK6812 Mini-E (3,5×2,8×1,8mm) empfehlen.
Erfahrungsgemäß reicht der Kondensator hier auch vier bis fünf Zentimeter vor der LED und kann somit unter der Platte angeschlossen werden.
AliExpress: https://a.aliexpress.com/_EJmBvPA
KT-Elektronic: https://www.kt-micro.de/shop/Optoelektro...eifen::591.html
Verwendungsbeispiel für diesen Typen: Schaltschrank mit Monitor
Farbreihenfolge: GRB
Datenblatt
Geeignet für die MobaLedLib: ✔
Noch kleiner geht es mit der WS2812-2020 (2,0x2,0x0,8mm), bei der ein 0603 Kondensator diagonal auf die Rückseite der LED gelötet werden sollte.
AliExpress: https://a.aliexpress.com/_EzLpkVm
KT-Elektronic: https://www.kt-micro.de/shop/Optoelektro...eifen::588.html
Verwendungsbeispiel für diesen Typen: TFT-Monitor für Inneneinrichtung, Fahrkartenautomat
Farbreihenfolge: GRB
Datenblatt
Nicht geeignet für die MobaLedLib: ✘
Die WS2812-0807 ist mit 2,0x1,8×0,8mm nur unwesentlich kleiner als die WS2812-2020, bringt aber einen entscheidenden Nachteil mit sich:
Als eine der wenigen WS2812 ist die Farbreihenfolge wie bei den WS2811-ICs RGB und nicht GRB.
Da die MobaLedLib das Signal standardmäßig aber als GRB sendet, werden diese LEDs die falsche Farbe imitieren.
KT-Elektronic: https://www.kt-micro.de/shop/Optoelektronik/LEDs-mit-Controller/10-Stueck-WS2812-0807-RGB-LED-10er-Streifen::593.html
Verwendungsbeispiel für diesen Typen: Keine, da ungeeignet
Achtung Farbreihenfolge: RGB
Geeignet für die MobaLedLib: ✔
Wenn selbst das noch zu groß ist, kann man die SK6812-1515 (1,5×1,5×0,65mm) nehmen.
Das wird von Hand schon ein bisschen knifflig, aber es ist machbar. Auch hier ist ein 0402 Kondensator diagonal auf die Rückseite zu löten.
AliExpress: https://a.aliexpress.com/_EvYFu1I
KT-Elektronic: https://www.kt-micro.de/shop/Optoelektro...eifen::587.html
Verwendungsbeispiel für diesen Typen: Signalsäule
Farbreihenfolge: GRB
Datenblatt, Ergänzung: Stummiforum
Geeignet für die MobaLedLib: ✔ (wahrscheinlich)
Die derzeit kleinste RGB-LED ist die SK6805-EC10 (1,1×1,1×0,33mm).
Das wird von Hand extrem knifflig, aber es ist wahrscheinlich machbar. Auch hier ist ein 0402 Kondensator diagonal auf die Rückseite zu löten.
AliExpress: https://de.aliexpress.com/item/1005005838997862.html
Verwendungsbeispiel für diesen Typen: Noch keine, da nicht verifiziert.
Farbreihenfolge: GRB ⇒ wird noch geprüft
Datenblatt
Geeignet für die MobaLedLib: ✔
Wird das Licht seitlich benötigt, empfiehlt sich die WS2812B-4020 (4,0x2,0mm).
AliExpress: https://a.aliexpress.com/_EIabCY4
KT-Elektronic: https://www.kt-micro.de/shop/Optoelektro...eifen::602.html
Verwendungsbeispiel für diesen Typen: Lichtbox 4mm flach
Farbreihenfolge: GRB
Datenblatt
Nicht geeignet für die MobaLedLib: ✘
Die WS2812 5mm rund ist fast so einfach anzuwenden, wie eine normale 5mm-LED, bringt aber ebenfalls einen entscheidenden Nachteil mit sich:
Als eine der wenigen WS2812 ist die Farbreihenfolge wie bei den WS2811-ICs RGB und nicht GRB.
Da die MobaLedLib das Signal standardmäßig aber als GRB sendet, werden diese LEDs die falsche Farbe imitieren, wenn man nicht eingreift.
AliExpress: https://de.aliexpress.com/item/32867616055.html
Verwendungsbeispiel für diesen Typen: Keine, da ungeeignet
Achtung Farbreihenfolge: RGB
Dabei sind jeweils vier RGB-LEDs in einer Reihe geschaltet.
Von der letzten LED geht ein Kabel zurück zum Flachbandkabel, damit das LED-Signal wieder zurück zum Verteiler kommt.
Jede LED ist dabei mit Ihrer Vorder- und Rückseite abgebildet.
Hier ein Anschlussbeispiel für zwei parallel geschaltete WS2812B.
Wenn in einem Raum zwei oder mehr RGB-LEDs gebraucht werden, um den Raum beispielsweise gleichmäßig auszuleuchten, können WS2812B-LEDs ganz einfach parallel angeschlossen werden.
Diese parallel angeschlossenen LEDs bekommen alle das gleiche Signal für den Dateneingang und reagieren somit auch synchron.
Das folgende Bild zeigt fünf große Räume. Im Programm Generator werden nur die fünf LEDs der oberen Reihe definiert. Alle LEDs ab der zweiten Reihe abwärts sind für den Arduino unsichtbar. Das ist ein zusätzlicher Vorteil ggü. dem CopyLED-Befehl, denn im gezeigten Beispiel unten belegen 12 der 17 LEDs keinen Speicherplatz auf dem Arduino.
Diese Anschlussmöglichkeit ist immer dann empfehlenswert, wenn die LED immer und in jedem Fall exakt das gleiche tun soll wie eine andere. Es bietet sich auch bei einem Farbwechsel an, der bspw. eine Burg oder ein Viadukt beleuchtet. Wenn von vornherein klar ist, dass alle LEDs, die das Objekt anstrahlen immer dieselbe Farbe erzeugen sollen, könnte man hier ganz viele LEDs zu einer zusammenfassen.
ACHTUNG: Das Signal für den Datenausgang (D Out) darf in diesem Fall nur von einer dieser parallel geschalteten WS2812B weiter gereicht werden.