Modellbahn-Häuser beleuchten: 16 Lichter mit ESP32 und PCA9685

Kurz gesagt: Ein ESP32-S3 und eine PCA9685-Platine steuern bis zu 16
Lichter einzeln und dimmbar – genug für ein ganzes Dorf. Aufgebaut wird auf
einem Mini-Steckbrett mit Hebelklemmen; gelötet werden nur die Stiftleisten des
ESP32. Die kostenlose App SceneFX spielt die Firmware auf und schaltet die
Fenster nach einem Tagesablauf: nicht alle um 18 Uhr, sondern jedes Haus zu
seiner Zeit, jeden Abend etwas anders.

Neu hier? Aus RailFX ist SceneFX geworden. Die Arduino-Module aus der
RailFX-Reihe brauchten für jede Aufgabe eigenen Code. Die SceneFX-Module
bekommen ihre Firmware aus der App und ihre Befehle per WLAN – programmieren
musst du nichts.

Warum nicht einfach alle Lichter an einen Schalter?

Weil ein Dorf so nicht aussieht. In einem echten Dorf geht nicht um Punkt sechs
überall das Licht an. Das Gasthaus öffnet früh, oben unterm Dach liest jemand
noch lange, das Schlafzimmer im Nachbarhaus ist schon um zehn dunkel. Damit das
auf der Anlage so wirkt, braucht jedes Haus – besser jedes Fenster – einen
eigenen, dimmbaren Kanal.


Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


Genau das liefert die PCA9685: 16 Ausgänge mit je eigenem Dimmsignal,
angesteuert über nur zwei Datenleitungen (I²C). Der ESP32 bringt WLAN mit und
bekommt seine Befehle per MQTT von der App.

Bauteile

Die Teile bekommst du bei den üblichen Elektronik-Händlern (Bezugsquellen:
Bauteile für Arduino – hier bekommst du Nachschub).

Teil Menge Hinweis
Waveshare ESP32-S3 Mini 1 Stiftleisten anlöten, dann steckt es im Steckbrett
USB-C-Datenkabel 1 muss Daten übertragen – reine Ladekabel funktionieren nicht
Mini-Steckbrett (170 Kontakte) 1 ohne Stromschienen; trägt nur den ESP32 und die Diode
12-V-Steckernetzteil, mind. 1 A 1 Hohlstecker 5,5 × 2,1 mm
DC-Buchse mit Schraubklemmen 1 Netzteil einstecken, nichts löten
Spannungswandler 12 V → 5 V (Buck, 3 A) 1 fest auf 5 V, mit Kabelenden
Wago-Hebelklemmen, 3-fach 2 eine für GND, eine für 5 V – deine Stromschienen
Diode SS34 (Schottky) oder 1N4007 1 zwischen 5-V-Klemme und 5-V-Pin des ESP32
Steckbrücken einige männlich-männlich, dazu ein paar männlich-weiblich
PCA9685-Platine (16 Kanäle) 1 Adresse 0x40 lassen, wie sie ab Werk ist
vorverdrahtete 3-mm-LEDs (3–6 V) bis 16 mit eingebautem Vorwiderstand: Rot ist Plus, Schwarz ist Minus – zum Ausprobieren
heller: LED-Streifen 2835, 5 V, warmweiß 1 Rolle je Haus ein Stück mit drei LEDs abschneiden, zwei Litzen anlöten – deutlich heller (siehe Schritt 7)

Schaltung und Aufbau

1. ESP32 aufs Steckbrett

Löte die Stiftleisten an das Waveshare ESP32-S3 Mini und steck es so in das
Mini-Steckbrett, dass es über der Rille in der Mitte sitzt und der
USB-C-Anschluss nach links über den Rand zeigt. So hat jeder Pin eine eigene
Reihe freier Kontakte.

Das Waveshare ESP32-S3 Mini auf dem Mini-Steckbrett
Das Waveshare ESP32-S3 Mini auf dem Mini-Steckbrett

2. Strom: 12 V rein, 5 V raus

Das Netzteil kommt in die DC-Buchse mit den Schraubklemmen. Von dort gehen die
beiden Eingangsdrähte des Spannungswandlers ab: Rot an Plus, Schwarz an Minus.
Auf der anderen Seite gibt der Wandler feste 5 V ab – sein schwarzer Draht
kommt in die erste Wago-Klemme (ab jetzt GND), der andere in die zweite (5 V).
Das Netzteil bleibt ausgesteckt, bis alles verdrahtet ist.

Warum nicht einfach über USB? Sechzehn Lichter überfordern den kleinen Regler
auf dem ESP32-Board. Der Strom für die Lichter kommt vom Netzteil, der ESP32
bekommt nur seinen eigenen kleinen Anteil.

Netzteil, DC-Buchse, Spannungswandler und zwei Hebelklemmen als Stromschienen
Netzteil, DC-Buchse, Spannungswandler und zwei Hebelklemmen als Stromschienen

3. ESP32 versorgen – mit Diode

Ein schwarzer Draht vom GND-Pin des ESP32 in die GND-Klemme. Die 5 V kommen
nicht direkt ans Board, sondern über die Diode: Steck sie ins Steckbrett, mit
dem Ring zum ESP32 hin. Dann ein Draht von der 5-V-Klemme an das freie Ende der
Diode und ein kurzer vom Ring-Ende zum 5-V-Pin.

Die Diode ist deine Update-Versicherung: Mit ihr kannst du jederzeit das
USB-Kabel einstecken, während das Netzteil dran bleibt – in jeder Reihenfolge,
nichts speist zurück.

Die Diode zwischen 5-V-Klemme und 5-V-Pin des ESP32
Die Diode zwischen 5-V-Klemme und 5-V-Pin des ESP32

4. PCA9685: Strom für die Lichter

Die PCA9685-Platine kommt nicht ins Steckbrett, sie liegt daneben. Oben hat sie
eine grüne Schraubklemme mit V+ und GND – dort kommt der Strom für die Lichter
an, getrennt von der Logik. GND an die GND-Klemme, V+ an die 5-V-Klemme.

Die PCA9685-Platine bekommt ihren Laststrom direkt von den Klemmen
Die PCA9685-Platine bekommt ihren Laststrom direkt von den Klemmen

5. Vier Signaldrähte

An der Stiftleiste der Platine stehen GND, OE, SCL, SDA, VCC und V+. Vier davon
bekommen einen Draht zum ESP32:

PCA9685 ESP32-S3 Mini Farbe
GND GND schwarz
VCC 3V3 rot
SCL GP6 gelb
SDA GP5 grün

Achte auf die letzten beiden: Auf der Platine steht SCL vor SDA, am ESP32 liegt
GP5 vor GP6 – die zwei Drähte kreuzen sich. OE und V+ an der Stiftleiste
bleiben frei. Und VCC ist nicht V+: VCC ist die Logik (3,3 V vom ESP32), V+ der
Laststrom (5 V aus der Klemme). Wer sie verwechselt, hat eine stumme Platine.

Vier Signaldrähte zwischen PCA9685 und ESP32, SCL und SDA gekreuzt
Vier Signaldrähte zwischen PCA9685 und ESP32, SCL und SDA gekreuzt

6. Lichter anstecken

Jeder der sechzehn Kanäle hat drei Pins: GND, V+ und PWM. Eine vorverdrahtete
LED steckst du mit Rot an V+ und Schwarz an PWM – kein Draht führt zurück
zum ESP32.

Rot an V+, weil die PCA9685 den Strom nach Masse abführt, statt ihn zu liefern:
Als Senke schafft sie 25 mA je Kanal, als Quelle nur rund 10 mA. So kommt der
LED-Strom aus der 5-V-Klemme und nie durch den Regler des ESP32. 25 mA reichen
für ein bis drei LEDs je Kanal – und im Modellbau sind fünf bis zehn Milliampere
ohnehin realistischer als volle Helligkeit.

Vorverdrahtete LEDs an den Kanälen der PCA9685
Vorverdrahtete LEDs an den Kanälen der PCA9685

7. Optional: heller mit dem LED-Streifen

Für die echte Anlage sind die kleinen 3-mm-LEDs oft zu schwach – das Licht soll
ja durch Gardinen und Fenster bis auf die Straße fallen. Viel besser leuchten
SMD-LEDs vom Typ 2835, wie sie auf LED-Streifen sitzen. Kauf einen
5-V-Streifen (warmweiß, 60 oder 120 LEDs je Meter), schneid an den
Schnittmarken ein Stück mit drei LEDs ab und löte an die beiden Kupferpads je
eine Litze.

Achte dabei auf + und −. Auf den Pads ist aufgedruckt, welches Plus und
welches Minus ist. Plus kommt an V+, Minus an PWM – genau wie Rot und Schwarz
bei der vorverdrahteten LED. Prüf das, bevor du das Netzteil einsteckst:
Vertauscht bleibt das Stück dunkel. Danach klebt es sich unter das Dach oder
hinter die Fensterfront.

Wichtig ist auch die Spannung des Streifens. Auf einem 5-V-Streifen hat
jede LED ihren eigenen Widerstand, drei abgeschnittene LEDs liegen parallel und
leuchten an 5 V. Die meisten Streifen sind aber 12-V-Streifen: Dort sitzen drei
LEDs in Reihe, und sie brauchen rund 9 V, bevor sie überhaupt leuchten – an
diesem Modul bleiben sie dunkel. 12 V an V+ anzulegen ist keine Lösung: Die
Ausgänge der PCA9685 vertragen nur rund 5,5 V. Auf der Rolle oder an den
Schnittstellen steht „5V" oder „DC5V".

Zu viel Strom kann dabei nicht fließen: Auf der PCA9685-Platine sitzt vor jedem
Ausgang schon ein 220-Ω-Widerstand. Zusammen mit den Widerständen auf dem
Streifen bleibt ein Dreierstück bei grob 8 mA – weit unter den 25 mA, die der
Chip je Kanal schafft, und trotzdem hell, weil 2835-LEDs schon bei wenig Strom
viel Licht geben.

Statt der 3-mm-LEDs je Kanal ein Stück mit drei 2835-LEDs vom 5-V-Streifen: Plus an V+, Minus an PWM
Statt der 3-mm-LEDs je Kanal ein Stück mit drei 2835-LEDs vom 5-V-Streifen: Plus an V+, Minus an PWM

Firmware und erste Lichter

Die Firmware musst du nicht selbst schreiben oder kompilieren. Lade
SceneFX
herunter (kostenlos, Mac und Windows), steck das Board per USB an und füge in
der App ein Modul vom Typ Licht hinzu. Die App spielt die Firmware auf,
lässt das Board zur Probe leuchten und richtet das WLAN ein (2,4 GHz). Danach
braucht das Modul kein USB mehr.

Beim Start sucht das Modul selbst nach der PCA9685 und meldet, ob es sie
gefunden hat. Findet es keine, schick ihm über den seriellen Monitor den Befehl
I2C – es antwortet, ob etwas am Bus hängt und ob SDA und SCL vertauscht sind.

Fenster mit Gewohnheiten

Jetzt kommt der Teil, der aus sechzehn Ausgängen ein Dorf macht. In der App
ziehst du Motive auf eine Karte deiner Anlage – Wohnhaus, Gasthaus, Kirche,
Laterne – und verbindest jedes mit einem Kanal: erster Ausgang Gasthaus, zweiter
Ausgang Schlafzimmer im Fachwerkhaus. Mit „Kurz zeigen" blinkt der Kanal, damit
du siehst, welche LED du gerade in der Hand hast.

Jedes Motiv bringt seine Gewohnheiten mit: Das Gasthaus öffnet gegen Viertel
vor fünf und schließt gegen halb zwölf, mit etwas Streuung von Abend zu Abend.
Eine Straßenlaterne kann flackern, bevor sie richtig brennt. Und weil dieselben
Motive auch klingen, hörst du das Gasthaus, wenn dort Licht ist – über die
Lautsprecher am Computer, ganz ohne weitere Hardware.

Der Tag kann im Zeitraffer laufen: In zwanzig Minuten siehst du, wie dein Dorf
durch einen ganzen Abend geht.

Zwei Lehren, die ein Board gekostet haben

Kein Linearregler an 12 V. Kleine Steckbrett-Netzteile mit Linearregler
werden an 12 V heiß – mich hat das ein Board gekostet. Ein Schaltregler (Buck)
bleibt kühl.

Ein Datenkabel, kein Ladekabel. Viele USB-C-Kabel laden nur. Wenn der
Computer das Board nicht findet, ist das die häufigste Ursache.

Häufige Fragen

Kann ich normale LEDs aus dem Modellbahnhandel nehmen?
Ja, wenn sie für 5 V ausgelegt sind oder einen passenden Vorwiderstand haben.
Am einfachsten sind vorverdrahtete 3-mm-LEDs für 3–6 V mit eingebautem
Widerstand. Heller sind Dreierstücke von einem 5-V-LED-Streifen mit
2835-LEDs (siehe Schritt 7).

Brauche ich eine Digitalzentrale?
Nein. Die Beleuchtung läuft über WLAN und ist unabhängig vom Fahrbetrieb –
analog oder digital, jede Spurweite.

Reichen 16 Kanäle?
Für ein Dorf meist ja. Wer mehr braucht, baut ein zweites Licht-Modul, statt
eine zweite Platine anzuhängen.

Geht auch ein LED-Streifen?
Kurze Stücke ja – drei LEDs von einem 5-V-Streifen je Kanal. Ein
12-V-Streifen leuchtet an diesem Modul nicht, und ein ganzer Streifen als
Raumlicht gehört an das Modul „Plattenbeleuchtung".

Muss der Computer laufen?
Ja. Die Module sind bewusst einfach: Sie empfangen und schalten. Der Tag, die
Gewohnheiten und die Szenen laufen in der App.


Die App, die Firmware und die bebilderte Werkstatt zu jedem Modul gibt es
kostenlos auf scenefx.de.
Licht und Bewegung sind noch Beta: Die Module funktionieren, aber nicht jedes
Heimnetz ist gleich.


Aus RailFX ist SceneFX geworden

Dein nächstes RailFX-Modul ist eine App

In den RailFX-Tutorials bekommt jeder Effekt sein eigenes Modul: hier eine Kirche mit DFPlayer, dort ein Blaulicht mit Nano. Was fehlt, ist der Tag, der alles zusammenhält. Den gibt SceneFX deiner Anlage.

  • Klang zuerst. Zwei Lautsprecher, App starten: Die Kirche schlägt zur vollen Stunde, im Gasthaus wird es abends laut, und manchmal zieht ein Gewitter auf.
  • Szenen statt Sketche. Kleine Abläufe mit Rollen – „Letzte Runde in der Kneipe“, „Das Dorf geht schlafen“ –, die du mit deinen Motiven besetzt.
  • Und fürs Löten: Licht und Bewegung laufen über WLAN-Module mit ESP32, die du selbst aufbaust. Noch in der Beta.

Kostenlos für macOS (Apple Silicon) und Windows 10/11 · Erweiterung „Dorf“ inklusive · weitere Erweiterungen je 39,90 €

SceneFX kostenlos laden

Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

  • Die beliebtesten Arduino-Projekte von StartHardware
  • Inklusive Schaltplan, Beschreibung und Code
  • Arduino-Schnellstart-Kapitel
  • Kompakter Programmierkurs


0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
0 Comments
Newest
Oldest Most Voted
0
Ich würde mich über deine Meinung freuen.x