Wie Sie das AZ-Delivery 4 x 64er LED Matrix Display an unserem Nano V3 in Betrieb nehmen wird in unserem kostenlosen eBook Schritt für Schritt erklärt.
Was jedoch, wenn Sie nicht nur Text, sondern ein kleine Grafik anzeigen möchten. So lange die Grafik eine Breite von 8 Pixeln nicht überschreitet, bietet die Library MD_Parola die Möglichkeit dieses als „custom char“ einzubinden.
In heutigen Beispiel nehmen wir das AZ-Delivery Logo als Basis, sie können jedoch gerne selbst Kreativ werden, und eine eigene Grafik entwerfen. Die Höhe ist zwar auf 8 Pixel begrenzt, aber in der Breite umgehen wir hiermit diese Limitierung.
Ich nutze eine Tabellenkalkulation um das Logo zu erstellen, da der mitgelieferte Font Builder nur bis zu 8 Pixel breite Zeichen erstellt.
Sie können hierzu meine Vorlage über den Dropbox-Link herunterladen.
Nach dem öffnen wird eine Tabelle angezeigt in dem wir unser Logo eingeben können, indem wir in den Zeilen 1 bis 8 den entsprechenden Wert für das Pixel von 0 auf 1 ändern:
Ich versuche hier das AZ-Delivery Logo nachzustellen. Sie können an dieser Stelle eigene Logos, Grafiken oder Symbole eingeben.
Nach ein wenig herumprobieren sieht mein Ergebnis wie folgt aus:
I
In Zeile 9 erscheint für jede Spalte der entsprechende Binärcode, für jede Spalte, vom unteren Feld nach oben. Damit wir dies in die MD_MAX72XX Bibliothek verwenden können, benötigen wir die Anzahl der Spalten insgesamt, gefolgt von einem Komma, gefolgt von den einzelnen werten im Hexadezimal-Format.
Hierfür ist Zelle A12 verantwortlich. Dieser zählt die Anzahl der Spalten für den ausgewählten Bereich (in meinem Fall A bis BB), fügt ein Komma ein, sowie die Hexadezimalwerte, jeweils gefolgt von einem Komma.
Wenn wir nun Zelle A12 auswählen, kopieren und irgendwo einfügen, erscheint folgendes:
54,0x1E,0x9,0x9,0x9,0x1F,0x88,0xC8,0xA8,0x98,0x88,0x0,0x8,0x8, [...] ,0x7C
Diese komplette Zeile müssen wir jetzt nur noch in die MD_MAX27XX Bibliothek einfügen.
Wenn Sie dem Beispiel in unserem eBook gefolgt sind, befindet sich die entsprechende Datei im Ordner Dokumente\Arduino\libraries\MD_MAX72XX\src\MD_MAX72xx_font.cpp
Zum bearbeiten dieser Datei empfehle ich einen Text-Editor wir z.B. Notepad++, da es im normalen Notepad sehr unübersichtlich wird.
Ab Zeile 168 wird der verwendete Zeichensatz definiert. Wir suchen uns nun ein Zeichen aus, welches durch unser Logo ersetzt werden soll. Ich nehme hierfür das Semikolon „;“
Dafür kommentieren wir die existierende Zeile 227 mit // aus, und fügen unsere Zeile ein.
Nun noch die Datei speichern, und schon sind wir fertig.
Zum testen schließen wir unseren Arduino an, öffnen den Beispielcode über Datei → Beispiele → MD_Parola → Parola_Scrolling aus, und ersetzen den Text "Hello! Enter new message?" durch unseren Wunschtext. Das Semikolon Zeichen wird hierbei durch unser neues Logo ersetzt. Ich schreibe also „; - Ihr experte für Mikroelektronik“
Den code jetzt nur noch auf den Arduino hochladen, Display & Arduino z.B. in einem PC einbauen, per USB mit dem PC verbinden, und schon hat man eine individuelle, per Software anpassbare PC-Front selbstgemacht.
Will man nun texte über die Serielle Schnittstelle an das Display schicken, und das Logo einblenden, verwendet man einfach das verwendete Zeichen – also in unserem Fall das Semikolon „;“.
Durch anpassen der Datei MD_MAX72xx_font.cpp kann man nun beliebige Symbole und kleine Grafiken einfügen, und diese dann wie normale Schriftzeichen verwenden.
Wir hoffen, dass Ihnen unser heutiger Blogbeitrag mit dem 4 x 64er LED Matrix Display und Nano V3 gefallen hat, und wir freuen uns auf Ihre Kommentare. Bis zum nächsten Beitrag von AZ-Delivery, Ihrem Experten für Mikroelektronik!
7 Kommentare
cam Dominique
Comment s’en servir en eclairage simple MERCI D’AVANCE
raj
You probably have the cell width set to a size that will not show the contents of that cell, just make the width wider by grabbing the cell edge and stretching it.
Jürgen
Hallo, die Tabelle lässt sich mit excel NICHT öffnen. Hätten Sie evtl. auch davon eine Version die mit excel kompatibel ist?
Danke sehr.
chrisp
Hi,
If the word “textjoin” is not automatically changed to capital letters it means Libreoffice calc didn’t recognize it as a function.
There where issues with that function but they have been fixed.
“TEXTJOIN ) are implemented in LibreOffice since Version 5.2. There were issues, but since V5.3.3. the function is actually usable.”
Could you please check if you have installed V5.3.3 or newer?
Zala
Hello,
I use it in French and the cell reads: =COLONNES&“,0x”&textjoin(“,0x”, 1, A11:BB11)
Is that expected?
chrisp
Hello Zala,
the code below worked for me:
What Language of LibreOffice do you have installed?
I noticed that in the German version the correct content vor A12 is:
=SPALTEN&“,0x”&VERKETTEN
I hope this helps.
Zala
Good evening,
Thanks a lot for this article! I have a problem: I use Libre Office 5 on Debian Linux 7 and the A12 cell keeps reading ‘##’. What am I doing wrong, please?
Best regards,
Zala