Fehlermeldung 1-zu-220-kopf

ESP / M5Stack
Modelleisenbahn in Spur Z, ESP, M5Stack
ESP M5Stack

ESP:

Nachdem Microchip mit seinen PIC (GI) und AT (Atmel) Mikrocontrollern erfolgreich war, war eigentlich abzusehen, daß die Chinesen nachziehen würden. Siehe da, 2016 kamen die ESP-Controller von Espressif auf den Markt.
Sie wurden dann ebenfalls auf Entwicklungsboards angeboten - siehe nebenstehendes Bild.
...
M5Stack:


Die Arduino-Idee machte die Microchip-Prozessoren auch für Nicht-Profis interessant. Nur logisch, daß die Chinesen auch auf diesen Zug aufsprangen:
Jimmy Lai gründete 2016 die M5Stack Co. die seit 2018 mit Espressif zusammenarbeitet. Die Idee hinter M5Stack ist plausibel:
Ein leistungsstarker Mikroprozessor (ESP32) wird mit Peripherie in ein 5x5 cm großes Gehäuse gepackt und läßt sich durch Anstecken weiterer Komponenten einfach erweitern. Zudem kann der M5Stack nach entsprechender Vorbereitung in der Arduinoumgebung programmiert werden.
Klingt gut. Also habe ich mir einen M5Stack besorgt, dazu von Faces einen Drehencoder und wollte damit einen Bluetooth-Fahrregler bauen, da der ESP32 und damit auch M5Stack Bluetooth schon an Bord hat. Mit der Akkulaufzeit war ich aber überhaupt nicht zufrieden, zudem es mir mit meinen Kenntnissen nicht gelungen ist, den M5Stack so weit auszuschalten, daß nicht im ausgeschalteten Zustand der Akku schnell leer wurde.
Also kam die Idee auf, den M5Stack als stationären Regler zu betreiben. Und da er WiFi schon an Bord hat, sollte er ein WLAN aufspannen, mit dem per Smartphone o.ä. eine Fernbedienung möglich ist. Nachdem das Layout und die Funktion soweit programmiert war, kam die Ernüchterung: Jetzt muss der M5Stack seine interne Funktionalität natürlich noch nach außen bringen, d.h. es müssen Ports zur Verfügung stehen, um z.B. die Weichen zu schalten und die H-Brücke anzusteuern. Aber hier war Fehlanzeige. Ich habe nur 3 bis 4 Ports gefunden, die frei sind - alle anderen sind intern verbraten. Also: Portexpander kaufen.
So richtig überzeugt bin ich von M5Stack nicht, die Idee dahinter ist etwas zu sehr auf "Zukaufen" ausgelegt.
Hier einige Tipps:
• Welche Befehle für das interne Display zur Verfügung stehen, findet man z.B. hier. Dabei ist beim print-Befehl zu beachten, daß er genau das macht: print. Mehr nicht, er löscht nicht evtl. vorher schon gedruckte Zeichen. Soll also an einer Bildschirmstelle unterschiedlicher Text erscheinen, so muss der vorige Text (Z.B. mit fillRect()) gelöscht werden bevor der neue geschrieben wird.
• Wie man die Arduino IDE dazu bringt, sich auch mit M5Stack zu vertragen, findet man z.B. hier oder hier.
• Und hier findet man dann die passenden Arduino-Befehle.
• Die nach Installation des Faces-Drehencoders noch freien GPIO sind 2, 5, 19 und 26.
• Will man einen PCA9554-Portexpander verwenden und den Zugriff nicht selbst programmieren, kann man z.B. diese Library verwenden. Es sind aber kleine Änderungen nötig: In der cpp-Datei muss die richtige I2C-Adresse eingetragen werden und in der properties-Datei habe ich "architectures=esp32" gesetzt, um keine Warnungen der Arduino-IDE zu bekommen.


Für meine Kofferanlage stellt M5Stack nebenstehende HTML-Seite zur Verfügung, mit der sich ├╝ber ein Smartphone M5Stack fernbedienen läßt.
Ein Video des Reglers gibt es ebenfalls.

Bilder der Kofferanlage, für die der Regler gebaut wurde, finden Sie hier.