Forum: Mikrocontroller und Digitale Elektronik Kontinuierlicher Bargraph auf x-Zeichen LCDs


von :-) (Gast)


Angehängte Dateien:

Lesenswert?

Weil diese Displays keine durchgängigen Pixel haben, sondern sich 
jeweils eine Lücke zwischen den einzelnen Zeichen befindet, lässt sich 
ein kontinuierlicher Bargraph mit drei selbstdefinierten Zeichen 
darstellen.
Da wo es keine Pixel gibt muss auch nichts angezeigt werden.

Bei einem 8 stelligen Display sind dann also 24 Balken möglich. Der 
anzuzeigende Wert muss hier auf 0 bis 24 skaliert werden.
Eine simple Schleife mit 8 Durchläufen zieht vom Anzeigewert jeweils den 
Wert 3 ab und prüft auf Überlauf. Solange kein Überlauf stattfindet wird 
das Sonderzeichen 3 mit drei Balken geschrieben. Findet ein Überlauf 
statt, wird je nach Restwert das Sonderzeichen 2 oder 1 geschrieben. 
alle restlichen Zeichen werden mit Leerzeichen überschrieben. D.h. bei 
jeder Aktualisierung des Balkens werden immer alle 8 Zeichen geschrieben 
und dadurch die vorherige Anzeige überschrieben.

von Marcus W. (Gast)


Lesenswert?

:-) schrieb:
> ... Über selbstdefinierte Zeichen bei Displays

Wow! Bist ganz allein darauf gekommen, gell? Haste fein gemacht, hier - 
nimm dir nen Keks.

von :-) (Gast)


Lesenswert?

Ist keine Frage sondern eine Hilfestellung

von Graf Bar (Gast)


Lesenswert?

Mhm, vielleicht sollte man das dann auch in einem AUSSAGEKRÄFTIGEN 
Threadtitel ankündigen?!

von Falk B. (falk)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Es geht hier doch schon überhaupt nicht darum, dass man seine eigenen 
Zeichen in ein Display bekommt. Sondern es geht darum, die eigentlich 
störenden Abstände mit in den Balken aufzunehmen. Und ich finde, das 
hier ist eine schnuckelige Idee.

Ich bin mir nicht sicher, ob da jeder drauf gekommen wäre. Auf jeden 
Fall kenne ich bei einigen Geräten nur die Variante mit 5 
selbstdefinierten Zeichen und Lücken zwischendrin...

von Paul Baumann (Gast)


Lesenswert?

Lothar schrub:
>Sondern es geht darum, die eigentlich
>störenden Abstände mit in den Balken aufzunehmen. Und ich finde, das
>hier ist eine schnuckelige Idee.

So ist es, aber das ist von den Nölern nicht erkannt worden.
:-(

MfG Paul

von Falk B. (falk)


Lesenswert?

@ Lothar Miller (lkmiller) (Moderator) Benutzerseite

>störenden Abstände mit in den Balken aufzunehmen. Und ich finde, das
>hier ist eine schnuckelige Idee.

Nur ist das rein gar nicht kontinuierlich, bestenfalls gleichmäßige 
Lücken ;-)


>Ich bin mir nicht sicher, ob da jeder drauf gekommen wäre. Auf jeden
>Fall kenne ich bei einigen Geräten nur die Variante mit 5
>selbstdefinierten Zeichen und Lücken zwischendrin...

Die so schlecht nicht ist, da es eh kein vollgrafisches LCD ist.
Es ist und bleibt ein netter Workaround.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Paul Baumann schrieb:
> aber das ist von den Nölern nicht erkannt worden.
Oder sie können es nicht zugeben. Ich habe den Witz an der Sache auch 
erst beim zweiten Blick erfasst...

Falk Brunner schrieb:
>> Auf jeden >Fall kenne ich bei einigen Geräten nur die Variante mit 5
>> selbstdefinierten Zeichen und Lücken zwischendrin...
> Die so schlecht nicht ist, da es eh kein vollgrafisches LCD ist.
Schon, aber dann musst du schon wieder überlegen: werden die Werte für 
die Zeichenzwischenräume mit eingerechnet oder übersprungen?

Beim Einrechnen fehlen zwischendurch Werte, weil die ja in den Lücken 
sitzen und die Lücken nichts anzeigen können. Beim Überspringen kommt 
immer nach 5 Inkrementen ein Sprung. Beides ist unschön.

: Bearbeitet durch Moderator
von :-) (Gast)


Lesenswert?

Lothar Miller schrieb:
> werden die Werte für
> die Zeichenzwischenräume mit eingerechnet oder übersprungen?

da wird nichts eingerechnet. In jedem Zeichen sitzen einfach zwei 
künstliche Lücken, damit es zur folgenden zwangsweisen Lücke zwischen 
den Zeichen passt. Die Schleife die den Bargraph erzeugt ist so simpel, 
dass es kaum einfacher geht. Die Schleife zieht einfach so oft wie es 
ganzzahlig geht den Wert 3 ab und schreibt dabei das Zeichen mit den 
drei Balken hin. Dann nimmt sie den Restwert und ruft damit das passende 
Zeichen mit zwei oder einem Balken aus dem CGRam auf. die restlichen 
Schleifendurchläufe werden dann nur noch mit Leerzeichen überschrieben. 
Die Durchlaufzeit ist dadurch jedesmal nahezu identisch und flackern tut 
da auch nichts.

von :-) (Gast)


Angehängte Dateien:

Lesenswert?

Falk Brunner schrieb:
> gleichmäßige Lücken
Richtig, das war die eigentliche Idee bei dieser Sache. Ebenso dass die 
Bargraphroutine mit wenigen Assemblerzeilen auskommt.

Anbei noch ein Beispiel.
Ein kleines Tool mit 4x20 LCD, das beim Carrera D-143 System die Daten 
der drei Handregler von der Schiene liest, decodiert und anzeigt.
3 Bit Reglernummer, ein Tastenstatusbit und 4 Bit für die 
Geschwindigkeitsinformation. Die restlichen 6 Datenpakete werden nicht 
ausgewertet, da sie beim D-143 nicht verwendet werden.

von Falk B. (falk)


Lesenswert?

@ :-) (Gast)

>> gleichmäßige Lücken
>Richtig, das war die eigentliche Idee bei dieser Sache.

Das hat wenigstens den Vorteil, dass man die Striche zählen kann, so wie 
auf dem Bierdeckel ;-)

> Ebenso dass die
>Bargraphroutine mit wenigen Assemblerzeilen auskommt.

Optimierungswahn? Selbst in nicht perfektem C ist das so wenig, dass es 
praktisch unter den Tisch fällt.

von Johnny (Gast)


Lesenswert?

Sieht gut aus

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
Noch kein Account? Hier anmelden.