analoge Anzeige auf GLCD

Gast #1698551
Lesenswert?

Hallo zusammen,

wenn ich ein Zeigerinstrument auf einem GLCD darstellen möchte wie setze 
ich das am besten um? Baue ich mir da einen eigenen Fond zusammen wie 
bei einer digtalen Darstellung, pro Wert (Zeigerstellung) einen 
Datensatz? Gibt es evt. einen Creator?

Danke für Antworten
Gast #1698559
Lesenswert?

> wenn ich ein Zeigerinstrument auf einem GLCD darstellen möchte wie setze
> ich das am besten um? Baue ich mir da einen eigenen Fond zusammen wie
> bei einer digtalen Darstellung, pro Wert (Zeigerstellung) einen
> Datensatz?
Du guckst dir http://de.wikipedia.org/wiki/Bresenham-Algorithmus an, 
setzt beide Varianten (Linie und Kreis) auf deinem System um, und 
verknubbelst dann quasi deine interne Software-Uhr mit der Ansteuerung 
der Uhr-Anzeige.

Um zu ermitteln, wo beispielsweise die jeweiligen Stundenmarkierungen 
liegen müssen, würde ich das einfach in Paint oder einem anderen 
Programm, welches großem Zoom ein Raster anzeigen kann, zeichnen und die 
Koordinaten entsprechend in eine Koordinatentabelle eintragen, aus der 
du jeweils die benötigte Anfangs- und Endpunkte holst.
Drumrum natürlich der Kreis. Die Zeigerpositionen würde ich ebenfalls in 
einer Tabelle führen. Die Zeiger werden dann von der Mitte der Uhr bis 
zu den entsprechenden Koordinaten gezeichnet.
Um eine Zeigerposition zu aktualisieren, ist es wichtig, beide Zeiger zu 
löschen, dann die neuen Endpunkte holen und neu zu zeichnen.

Ralf
Gast #1699412
Lesenswert?

Hi

>Du benötigst nur einen Viertelkreis und kannst dann spiegeln.

Bei simpel gestrickten Anzeigen mag das ja noch angehen. Wenn es etwas 
anspruchsvoller aussehen soll würde ich die Skala als Grafik laden und 
nur den Zeiger zeichnen. Geht auch wesentlich schneller.

MfG Spess
#1699425
Lesenswert?

Den Zeiger per Bresenham und die Kreisskala entweder auch per Bresenham 
zeichnen oder als Bitmap definieren.

Darauf achten, das man nichts von der Kreisskala mit dem Zeiger 
übermalt. Dann muss man die Skala nicht jedesmal neu zeichnen.

Außerdem ist es nützlich sich mit dem Bogenmaß auseinanderzusetzen. Legt 
man die vorberechneten Anfangs/Endkoordinaten des Zeigers dann noch in 
ein Array dann ist das ganze auch recht flott.
Gast #1699427
Lesenswert?

Hi

>Darauf achten, das man nichts von der Kreisskala mit dem Zeiger
>übermalt. Dann muss man die Skala nicht jedesmal neu zeichnen.

Wenn du für den Zeiger einen XOR-Mode benutzt reicht das erneute 
Zeichnen um den Zeiger zu löschen und den Hintergrund wieder 
herzustellen.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren