Hier ist ein weiterer Baustein aus meiner DIY Heimautomatisierung, eine LED Matrix Anzeige. Es sollte für alle möglichen Anzeigen gebrauchen zu sein und ich habe das mit dem ESP realisiert. Eigentlich verbaue ich lieber Cortex-M µCs, aber hier drängt sich der ESP förmlich auf: LED braucht relativ viel Strom, also kein Batteriebetrieb und Stromverbrauch des ESP ist hier kein Problem. Für den ESP sowie die MAX7219 gibt es fertige Libs mit vielen Funktionen, eine Software dafür ist schnell zusammengestoppelt. So sieht meine erste Version allerdings auch aus, das ist noch nicht finaler Stand. Die Nachrichten kommen bei mir per MQTT, aber da gibt es dank der vielen Libs für den ESP natürlich auch andere Möglichkeiten. Auf einem Raspberry habe ich Node Red laufen, das bekommt z.B. Daten von Temperatursensoren und ereugt dann den String für die Anzeige. Das Display soll bei mir dumm bleiben und nur tun was man ihm sagt, man könnte aber auch lokale Sensoren anschliessen. Die verwendete MD_Parola Lib hat viele Features für Darstellungseffekte, meine Idee ist dem Display JSON Messages zu schicken mit Text, Effekt, Anzeigedauer und Priorität. Das können dann Ereignisse wie Türklingel oder 3D Drucker Status oder sonstwas sein. Die Elektronik ist noch als Prototyp auf einem Breadboard gesteckt, ich habe aber auch eine Platine für ein ESP12 Modul gemacht. Die Platinen sollen Montag kommen, habe ich bei Elecrow bestellt. Bei Interesse kann ich ein paar abgeben. Mir ist leider erst nachträglich noch eine Unschärfe aufgefallen: der Spannungsregler für die 3V3 hat die Kühlfahne und Pin 2 verbunden, ich habe die Kühlfahne isoliert und damit ist die Kühlfläche recht klein. Es müsste also noch eine zusätliche Kühlfahne angelötet werden und das Layout angepasst werden falls es jemand nachbauen möchte. Die Platine passt direkt auf den 5 pol. Header vom Display. I2C ist auf dem Erweiterungsstecker für lokale Senoren. Das Gehäuse ist mit dem 3D Drucker gedruckt. Auf Thingiverse findet man auch fertige Entwürfe, aber die sind fast alle nur für ein 4er Modul und ich möchte eine grössere Anzeige haben. Da ich bisher nur max. 200 mm drucken kann habe ich Segmente mit Nut und Zapfen gemacht die man ineinanderschieben kann, so lassen sich beliebig lange Gehäuse bauen. Die Teile müssen mit dem Hammer zusammengeklopft werden und halten dann bombenfest, jedenfalls so wie sie aus meinem alten groben K8200 raus kommen. Ich habe die mit Sprühspachtel und schwarzem Acryllack bearbeitet, das sieht aber noch nicht perfekt aus. Wenn man sich mehr Mühe gibt kann das aber richtig gut werden. Alternativ könnte man das aus Holz fräsen oder einzelnen Holzteilen bauen. Im Internet gibt es auch eine Version wo ein Holzfurnier über die LED geklebt ist, das sieht auch nicht schlecht aus. Hier ist ein Link zu den Modulen die ich verbaut habe: https://www.ebay.de/itm/4-In-1-MAX7219-Mikrocontroller-Display-Dot-Modul-F%C3%BCr-Arduino-Matrix-5V-Teil/382620790952
die Platinen von Elecrow sind heute gekommen, habe eine bestückt und... geht nicht. Da ist mir beim abkupfern der ESP Beschaltung ein Fehler unterlaufen, R4 hatte ich zum Pull Down gemacht, es muss aber ein Pull Up sein. Wenn man den nicht bestückt funktioniert es aber auch mit dieser Platine. Der Spannungsregler wird auch nicht warm, trotz minimalster Kühlfläche. Im Anhang nochmal der korrigierte Plan mit R4 als Pull Up.
Hallo Johannes S., ich bin ein absoluter Anfänger, was ESP8266 und das Dot Matrix Display angeht. Ich habe es aber geschafft, den Code bei mir zum Laufen zu bringen und Text von meinem Raspberry Pi über Node Red und MQTT an das Display zu senden. Leider gibt mein Display (Max7219 mit 4 Modulen) den Text nicht in Laufschrift wieder. Es zeigt einfach die ersten paar Buchstaben, soweit sie auf die Breite des Moduls passen, an und schneidet den Rest des Textes ab. Gibt es in dem Code, den du dankenswerter Weise erstellt hast, eine Möglichkeit den Text mit einem "Scroll-Effekt" am Display auszugeben? Danke! Gruß Der Makkus
Hallo Makkus, ich komme im Moment nicht dazu mich um meinem Bastelkram zu kümmern. In der Anzeige wird die 'MD_Parola' Lib verwendet, die hat jede Menge Optionen für die Darstellung und kann auch scrollen mit allen möglichen Effekten. Siehe https://github.com/MajicDesigns/MD_Parola, da sind Beispiele für scrollen bei, zB: https://github.com/MajicDesigns/MD_Parola/blob/master/examples/Parola_Scrolling/Parola_Scrolling.ino Auch auf Youtube sind jede Menge Tutorials und Demos zu dieser Lib zu finden. Ich habe es schonmal überflogen und eventuell reicht es in der Initialisierung in setup() den ScrollMode zu setzen und in der Dauerschleife displayAnimate() zyklisch zu aufzurufen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.