Balken im Crystal LCD Retro Style

Last Updated on 1. März 2022 by sfambach

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.

Fakten

Teileliste

Arduino Uno

Arduino LCD Shield

Anwendungsbereiche

  • Darstellungen von Messerwerten in abhänigkeit der Zeit
  • Equilizer visualierung

Ansichten

Gibts am Ende 😉

Analyse

So ein LCD Display besteht aus mehreren Zeilen und Spalten. In eine Spalten- und Zeilenkombination passt immer genau ein Zeichen.

LCD Cristal Display – Aufbau

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

LCD Cristal Display – Aufbau eines Zeichens

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.

Programmierung

Bibliotheken

Die Bibliothek zum Display ist bereits in der Arduino GUI enthalten.

#include <LiquidCrystal.h>

Testprogramm

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.

Und so siehts aus:

LCD Cristal Display - Funktionsvideo leider etwas lang 😉

Probleme

Komische Fragmente in den Benutzerdefinierten Zeichen

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.

Sonstiges

nix ...

Fazit

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

Quellen

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.