Lego Duplo Lok Steuerung

Hey,

ich wollte euch mal meine Anpassungen an der Software zeigen, die es ermöglichen mit dem ESPuino eine Lego Duplo Lok zu steuern.

Hier erstmal das Ergebnis:


Idee:

Vor einiger Zeit habe ich für meinen Sohn eine gebrauchte Duplo Eisenbahn (10874) besorgt. Ich wusste schon dass diese Lok Bluetooth an Bord hat und es diverse Projekte gibt um diese zu steuern. Es stand schon auf meiner todo Liste sowas hier zu bauen: Remote compatible with Lego Duplo Train using ESP32 by mav_ - Thingiverse

Der ESPuino hatte aber eine höhere Prio und mir fiel recht schnell auf, dass dieser ja alle Fähigkeiten besitzt um die Lok selbst zu steuern. :slight_smile:

Zum Standardumfang dieser Eisenbahn gehören sogenannte “Action Bricks”. Diese Plättchen gibt es in diversen Farben und wenn die Eisen darüber fährt lösen sie eine Aktion aus. (Hupen, Stop, Reverse, Licht, “Tanken”). Die Lok hat dafür einen Farbsensor verbaut.


Anpassungen:

Ich habe meine Änderungen mal in einem Fork veröffentlicht. Hier könnt ihr ein Diff sehen zum aktuellen master Branch: Comparing biologist79:master...illmat:research/duplo-train · biologist79/ESPuino · GitHub
Das Ganze hat eher “POC” Status und wurde mehr oder weniger reingefrickelt.
Grundlage ist dieser Fork der Legoino Library: GitHub - SFrijters/legoino: Arduino Library for controlling Powered UP and Boost controllers . Der Fork merzt einige Problemchen in der Original Library aus.
Das meiste spielt sich in der DuploTrain.cpp ab.
Der Einfachheit halber habe ich für die Umsetzung einen weiteren Modus eingeführt, der sich ähnlich wie die BT-Modi verhält.


Features:

  • Mit dem Drehencoder kann die Bahn in je zwei Geschwindigkeitsstufen Vorwärts und Rückwärts fahren.
    • Sie kann schneller fahren als im Normalbetrieb
  • Mit den Hardwaretasten des Players kann man die Lok hupen lassen (gelber Action Brick), sie stoppen (rot) oder das Licht togglen (weiß). Ich habe die Farben der Taster meiner Box analog zu den “Action Bricks” der Eisenbahn gewählt.
  • Der Farbsensor wird ausgelesen und setzt anschließend die eingebaute RGB LED der Lok auf die gleiche Farbe.

Brain dump weiterer Ideen:

  • Audio Files abspielen wenn ein Action Brick erkannt wird (z.B. Bahnhofs-Durchsagen, “Achtung Bahnübergang”, …)
  • Den NeoPixel Ring für die Visualisierung der Geschwindigkeit verwenden.
  • Jedem Action Brick eine Note zuweisen und somit Melodien beim Darüberfahren generieren.
  • Eisenbahn Geräusche während der Fahrt.
  • Geschwindigkeits- / Entfernungsmessung zwischen Action Bricks

Grüße
illmat

14 „Gefällt mir“