[erledigt] Grafik mit Textdisplay: Gibt's da was?

Hallo allerseits!

Ich wurde gebeten, ein kleines Gewächshaus zu pimpen: Licht an/aus, Lüftung an/aus, je nach Uhrzeit und/oder Werten eines DHT11 - evtl. bastle ich noch einen LDR dazu. Da nur wenige Daten gut ablesbar sein müssen, habe ich ein I²C-LC-Display mit 4 Zeilen à 20 Zeichen gewählt. Bild eines Balkonversuchs von vor ein paar Tagen hier.

Als Gimmick (unnötiger Schnullibulli-Schnickschnack) möchte ich geloggte Werte „so grafisch wie möglich“ darstellen. Man kann vermutlich einen großen Teil mit den frei definierbaren Zeichen erschlagen - nur wie ...

Kennt jemand etwas, wo so etwas versucht wurde? Womöglich hat sich schon irgendein Hirni vor mir Gedanken dazu gemacht und eine Bibliothek programmiert :slight_smile:

Hinweise, Ideen und sonstige Infos willkommen!

Gruß

Gregor

Ein LCD "bar graph" (entweder horizontale oder vertikale Balkendiagramme) wäre eine Möglichkeit: Display Potentiometer Voltage as bargraph on LCD - Robojax

Dafür gibt es mehrere Bibliotheken.

Super Idee, danke! Je nach Art der Darstellung braucht man nur wenig „Zeichen“-Varianten.

Gruß

Gregor

Falls es um große Zahlen geht dann mich erinnern an z.B. daran:

Wenn Du für jeden Meßwert ein eigenes Display verwendest, hast Du auch noch Platz für Min- und Max-Werte, Tendenzen, Prognosen und dergleichen.

Ob das inhaltlich Sinn macht, gehört in ein anderes Forum, technisch sind aber dank I²C mehrere Displays möglich.

Hallo uxomm und agmue,

@usomm: Danke für den Hinweis auf den Thread. Auf diese Weise große Ziffern „malen“ zu können ist interessant. Ich meinte mit „möglichst grafisch“ aber eine Art „Missbrauch des Textdisplays als Matrix-Display“.

Mein letztes Experiment hierzu habe ich leider nicht geknipst. Hätte aber eh nicht auf die dort probierte Art funktioniert, weil ich eines der frei definierbaren Zeichen bereits für einen Grad-Kringel benutze.
Meine aktuelle Idee ist, drei zusätzliche „Zeichen“ zu definieren, die aus der 5x8-Matrix für ein einzelnes Zeichen eine „Zelle“ für zwei Pixel machen - neben „ganz leer“ (Leerzeichen) bräuchte ich dann nur drei zusätzliche „Zeichen“ : unteres „Pixel“ (untere Hälfte) gesetzt, obere Hälfte gesetzt, beide „Pixel“ gesetzt.
Auf diese Weise hätte ich eine „Zeichenfläche“ von 8x20 Pixeln und für eine grobe Kurve, die von weitem gelesen werden kann, genügt das (denke ich).

@agmue: Nein, für weitere Displays fehlt der Platz. Es muss sich wirklich alles auf dem vierzeiligen LC-Display abspielen.

Gruß

Gregor

die Grad gibt es sehr sicher im Zeichensatz. Dazu brauchst du kein Sonderzeichen definieren. Im Standard ROM auf 0xDF

Hallo,
wie sieht es mit einem "ausgediehten" Android Funkfermsprecher als Anzeige für Graphiken, Texten usw. aus?

Was das Gradzeichen angeht: an Pos. 0xDF im Zeichensatz befindet sich ein kleines Quadrat - siehe
display.pdf (773,7 KB) auf Seite 7.

@paul: Das Display ist bereits vorhanden, d.h. ein zusätzliches oder ganz anderes Display ist keine Option.

Gruß

Gregor

Das ist doch einer der kleinstmöglichen Kringel. Im Kontext erkennst du ganz klar " °C ".
Noch kleiner sind die beiden Kringel in '%' (0x25). Die passen dir doch auch...

Welchen Kontext meinst Du?

Gruß

Gregor

Eine Ausgabe auf deinem 4 x 20 (5x8 pixel) Display.

ja das verwendet fast jeder für die Grad. Bisher habe ich nur bei den Displays mit SPLC780D1 gefunden, dass das Quadrat auf der Spitze steht (Raute). Im Bild das gelb grüne Display links.

Ich habe mal auf die Schnelle ein Bild gemacht.
Gruß
Gregor

2 Likes

Ja, ist natürlich schöner.
Kriegst ein Fleiß-Bienchen von mir.
Und wenn du die freien Sonderzeichen nicht besser brauchst, prima. Aber das war ja das Original-Problem, oder?

Nein, ich hatte mich bzw. Euch gefragt, wie ich das Text-Display als Matrix-Display missbrauchen kann. Aber das ist na nun erst einmal geklärt.
Danke!
Gregor

PS: Und nochn Bild...

Dann eventuell jetzt oder für ein späteres Projekt ein LCD Grafik-Display 128x64.

Danke für den Link! Davon hätte ich vor vier Wochen wissen müssen. Naja ... beim nächsten Mal :slight_smile:
Gruß
Gregor