mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Analoges Zeigerinstrument auf LCD?


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein 128x64 Display und will auf der rechten Hälfte ein analoges 
Zeigerinstrument (Uhr, Drehzahlmesser, Tacho oder so) darstellen. Der 
Kreis samt Beschriftung wird einfach einmal als Bild gespeichert. Aber 
wie mache ich das mit dem Zeiger? Ich will bei einem Winkel von 270° 
schon so ca. 100 verschiedene Zeigerstellungen darstellen. Am besten mit 
einer Zeigerbreite von 3 Pixel damit er nicht zu klein wirkt. Waagerecht 
würde der Zeiger also so aussehen:
 000000000000000000000000000000000
00000000000000000000000000000000000
 000000000000000000000000000000000
Jede Mögliche Zeigerstellung in einem einzelnen Bild zu speichern ist 
ziemlich speicherfressend (Habe nur einen Mega32). Oder wäre es besser 
von jedem Pixel des Waagerechten Zeigers ausgehend, mit Sinus und 
Cosinus die Position des Pixels um x Grad gedreht zu berechnen? An Zeit 
hätte ich ca. 2MIPS zur Verfügung, das sollte doch für so eine 
Berechnung reichen.
Oder habt ihr eine bessere Idee so einen Zeiger zu berechnen.

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Logisch. Ich täte den Zeiger mit dem klassischen 
Bresenham-Linien-Algorithmus malen. Sinustabelle für die Richtungen ist 
eh klar. Wenn die Linienstärke 3 Pixel sein soll, würde ich jeden Pixel 
der Linie noch mit mit 4 oder acht Pixel umgeben, womit eine 
Linienstärke von drei entsteht:

   x
  xBx
   x

oder

  xxx
  xBx
  xxx

wobei x die umgebenden Pixel sind und B das "Bresenham-Pixel". Je nach 
Richtung kann man da natürlich noch optimieren, um weniger x-Pixel 
zeichnen zu müssen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.