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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.