Bars in Crystal LCD Retro Style

Last Updated on 1 March 2022 by Suffocation

Ich bin immer wieder verwundert, dass es doch ein paar Leser hier im Block gibt. Neulich schrieb mich Siegfried an und meinte er möchte ein paar Balken auf einem Cristal LCD Display darstellen, ob ich das schon mal gemacht habe. Die Antwort war nein sollte sich aber bald ändern.

Facts

Parts list

Arduino One

Arduino LCD Shield

Areas of application

  • Darstellungen von Messerwerten in abhänigkeit der Zeit
  • Equaliser visualisation

Views

It's there at the end 😉

Analyse

Such an LCD display consists of several rows and columns. Only one character fits into each row and column combination.

LCD Crystal Display – Construction

Die Pixel eines Zeichens können nicht einzeln angesprochen werden, es ist aber möglich eigenen Zeichen zu erstellen.

LCD Crystal Display – Structure of a Character

Somit habe ich für jeden Füllstand ein Zeichen erstellt. Das Leere Zeichen habe ich weggelassen weil bei meinem Display das gleiche wie bei C8 angezeigt wurde und da ich vorher das Display lösche, macht es keinen Unterschied.

LCD Cristal Display – Neue Zeichen für die Balken

Um beide Zeilen nutzen zu können müssen die jeweiligen Ergebnisse zweigeteilt (für mehr Zeilen sind mehr Teilungen nötig) werden, ist die untere Zeile voll (also C8) geht es weiter mit der oberen.

LCD Cristal Display – Balken über mehr als eine Zeile

Die Werte für jeden Balken halten wir in einem Array vor. Das Array wird dann direkt in die Balken umgewandelt.

Programming

Libraries

The library for the display is already included in the Arduino GUI.

#include

Test programme

‚); document.write(‚

‚); document.write(‚

‚);

Das Testprogramm generiert alle 4 Sekunden einen neuen zufälligen Wert. Mit jedem neuen Wert werden die Ergebnisse im Array um eins nach rechts geschoben. Ist das Array voll wird der letzte Wert verworfen.

And that's how it looks:

LCD Cristal Display – Funktionsvideo leider etwas lang 😉

Problems

Quirky fragments in the custom characters

Wenn ich die Reihenfolge im Setup änderere, also bevor ich etwas auf dem display ausgegeben habe die Benutzerdefinierten Zeichen hinzufüge, bekomme ich diese Fragmente. Ich nehme an das Display Init hat in der Bibliothek noch einen Fehler und erst mit der ersten Ausgabe ist es richtig initialisiert.

Miscellaneous

nix …

Conclusion

Nachdem die Funktion des Displays ersteimal klar war und ich wusste dass ich über die benutzerdefinierten Zeichen gehen muss, war es fast ein Kinderspiel. Die Daten in einem Array zu organisieren bietet eine gute Möglichkeit sie später zu manipulieren und in Schleifen abzuarbeiten. Ich hoffe es gefällt euch, vielen Dank an Siegfried für die Idee, solltet ihr noch Erweiterungswünsche oder Fragen haben lasst einen Kommentar da.

Verwandte Beiträge

Sources

https://www.arduino.cc/en/Reference/LiquidCrystal

https://de.wikipedia.org/wiki/Fl%C3%BCssigkristallanzeige

https://maxpromer.github.io/LCD-Character-Creator/

https://www.hackster.io/jacoslabbert99/arduino-lcd-icons-custom-characters-548f38

DateChangeAuthor
25.02.2022Post createdSuffocation

Leave a Reply

Your email address will not be published. Required fields are marked *