Modellhäuser mit WS2812 RGB-LED beleuchten

weitere Artikel zum Thema Beleuchtung mit LED

Meine ersten Erfahrungen mit der Modellbahnbeleuchtung, gesteuert durch einen Arduino Nano, habe ich mit klassischen LED gemacht. Den Bericht dazu habe ich oben verlinkt.

RGB-LED mit WS2812

Nun bin ich auf die RGB-LED mit WS2812 aufmerksam geworden. Es handelt sich um RGB-LED auf einer Platine mit ihrem integrierten Schaltkreis (IC), der es ermöglicht, die LED direkt zu adressieren und zu steuern. Jede dieser LED besteht eigentlich aus drei LED in den Farben Rot, Grün und Blau. Aus diesen drei Farben lassen sich alle gewünschten Fareb durch Kombination erreichen. Es gibt weitere RGB-LED-Typen, die noch über eine vierte Weiße LED verfügen.

WS2812B - Oberseite
WS2812B – Oberseite

Auf der Platine sind in der Mitte die RGB-LED erkennbar, die über je 256 Helligkeitsstufen verfügen. Der große Vorteil ist nun, dass die LED direkt in Reihe geschaltet werden und über eine Datenleitung eine nach der anderen ihre Steuerinformationen bekommen.

Verkabelung

Angeschlossene RGB-LED mit Rückleiter
Angeschlossene RGB-LED mit Rückleiter

Zur verkabelung der LED verwende ich ein 4-poliges Flachkabel. Auf der einen Seite versorgen zwei der Adern die LED mit der 5 V Spannung, eine weitere liefert die Steuerdaten. Auf der anderen Seite der LED werden diese drei Leitungen zur nächsten LED weitergereicht. Am Ende eines solchen LED-Streifens wird die ausgehende Datenleitung über die 4. Ader des Flachkabels zurück geführt.

Schaltplan Nano mit WS2812
Schaltplan Nano mit WS2812

Die Steuerung erfolgt auch hier mit den Arduino Nano, den es als Derivat schon für gut drei Euro zu kaufen gibt. Abgeschaut bei MobaLedLib-Projekt habe ich mir die Verkabelung mit Hilfe von Pfostenbuchsen und Wannensteckern. So kann ich jedes Modellgebäude separat im Inneren verkabeln und mit einem Flachkabel mit Stecker zum Anschluss an die Lichtsteuerung versehen.

Layout der Beleuchtungsplatine
Layout der Beleuchtungsplatine

Auf der Steuerplatine werden dann mehrere solcher Häuser mit ihren LED-Streifen zusammengeführt. Die obere Grafik zeigt die Bestückung einer Lochplatine mit einem Nano. Im oberen Bereich ist eine Schraubklemme verbaut für die Betriebsspannung von 5V DC. Auf der rechten Seite finden sich nun dreí Pfostenbuchsen, die in Reihe geschaltet sind und damit Anschlussmöglichkeit für drei LED-Streifen bzw. Häuser bieten.

Bestücke Lochplatine mit Nano und Pfostenbuchsen
Bestücke Lochplatine mit Nano und Pfostenbuchsen

An dieser Stelle noch ein paar Worte zum Umgang mit Strom: Bei solchen Schaltungen ist immer darauf zu achten, dass der zulässige Maximalstrom nicht überschritten wird. In diesem Fall betreibe ich die Platine mit einem Festspannungsmodul 5V DC mit max. 1 Ampere. Eine RGB-LED hat eine maximale Stromaufnahme von ca. 60 mA. Daraus lässt sich sind recht einfach ableiten, dass maximal 15 LED zzgl. Nano gleichzeitig unter Volllast betrieben werden können! Bei mehr kommt es ggf. zur Überlast einzelner Bauteile und damit zu Brandgefahr.

Damit sei hier auch darauf verwiesen, dass der Nachbau ausschließlich auf eigene Gefahr erfolgt und keine Gewähr für die Richtigkeit der Angaben in diesem Artikel besteht.

Lichtboxen

Für die Beleuchtung der Gebäude werden die Fenster mit Vorhängen versehen, die ich entweder auf Papier ausdrucke oder aber mit weißem Krepppapier nachbilde. Für die Fenster, die eine Beleuchtung erhalten sollen, bastel ich einfache Boxen aus Kapaboard oder Polystyrol. Die LED werden oben angebracht und scheinen durch eine Öffnung in den Leuchtkasten. Wenn die Kästen vorbereitet sind, kann die Verkabelung mit den passenden Längen der Flachkabel erfolgen. So hat man am Ende eine sehr aufgeräumte Verkabelung im Gebäude.

Beleuchtungsboxen
Beleuchtungsboxen

Programmierung des Arduino Nano

Die Programmierung der WS2812 unterscheidet sich von der direkten Ansteuerung klassischer LED an den Pins des Arduino Nano. Mit der NeoPixel Libary von Adafruit ist das aber wirklich sehr einfach. Hier mein Sourcecode für die beiden ersten Gebäude:

#include <Adafruit_NeoPixel.h>
#include <avr/power.h>
#define PIN 6
#define NUMPIXELS 13   //Definition der LEDs als strip
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);// Zeitraster 3 Skeundenint raster1 = 3500;
int raster2 = 5000;
int counter = 0;
int counter_max = 30;
// Farben

uint32_t coldwhite_h = strip.Color(150, 200, 200);
uint32_t coldwhite_m = strip.Color(75, 100, 100);
uint32_t coldwhite_l = strip.Color(50, 66, 66);uint32_t warmwhite_h = strip.Color(200, 200, 60);
uint32_t warmwhite_m = strip.Color(130, 130, 39);
uint32_t warmwhite_l = strip.Color(60, 60, 18);uint32_t warmwhite2_h = strip.Color(225, 200, 150);
uint32_t warmwhite2_m = strip.Color(145, 130, 97);
uint32_t warmwhite2_l = strip.Color(67, 60, 45);
uint32_t black = strip.Color(0, 0, 0);// Zimmer

int Haus1_EG = 0;
int Haus1_OG1 = 3;
int Haus1_OG2 = 5;
int Haus2_EG = 7;
int Haus2_OG1 = 10;
int Haus2_OG2 = 12;// Initialisierung
void setup() {
strip.begin();
}void loop() {
// Alle Lampen aus
strip.clear();
strip.show();// Schleife über ein Zeitraster zwischen ‚raster1‘ und ‚raster2‘
counter = 0;
do
{
switch (counter) {
case 1: //Laden Haus2
strip.fill(coldwhite_m, Haus2_EG, 3);
break;

case 2: //Laden Haus1
strip.fill(warmwhite_m, Haus1_EG, 3);
break;

case 5: //Haus2 – OG links
strip.setPixelColor(Haus2_OG2, warmwhite_l);
break;

case 7: //Haus1 – OG rechts
strip.fill(warmwhite_l, Haus1_OG2, 2);
break;

case 11: //Haus1 – OG links
strip.fill(warmwhite_l, Haus1_OG1, 2);
break;

case 13: //Haus1 – OG links
strip.fill(black, Haus1_OG2, 2);
break;

case 17: //Haus2 – OG rechts
strip.fill(warmwhite2_l, Haus2_OG1, 2);
break;

case 20: //Laden Haus2
strip.fill(black, Haus2_EG, 3);
break;

case 22: //Laden Haus1
strip.fill(black, Haus1_EG, 3);
break;

case 25: //Haus2 – OG links
strip.setPixelColor(Haus2_OG2, black);
break;

case 27: //Haus2 – OG rechts
strip.fill(black, Haus2_OG1, 2);
break;

} // Ende Case-Verteiler

strip.show();
delay(random(raster1,raster2));
counter++;
} while (counter < counter_max);
}

 

Fertige Beleuchtung

Hier nun zwei Fotos der fertigen Beleuchtung zweier Gebäude in meinem Perspektiv-Diorama.

Fertig mit LED beleuchtete Gebäude
Fertig mit LED beleuchtete Gebäude
Fertig mit LED beleuchtete Gebäude
Fertig mit LED beleuchtete Gebäude
Stand: 14. März 2021