mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tachometer auf Display


Autor: Axel Preuss (funkydunky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich programmiere gerade ein Tachometer für einen kleinen Motor, welches 
auf ein LCD Display ausgegeben werden soll.(Geschwindgkeitsmessung und 
LCD Ansteurung funzt schon)

Ich dachte mir, das ich ein Tachometer wie auch im Auto zeichne(Ein 
Kreis, und vielleicht 330Grad werden zur Geschwindigkeitsanzeige 
genutzt. Unten ist dann halt eine Lücke zwischen Min und Max 
Geschwindigkeit)
Maximal sollen 400 km/h dargestellt werden können, und sagen wir ich 
nutze 330° zur Anzeige, dann würde 1 km/h Geschw.änderung doch 
330/400=0,6 Grad Zeigeränderung entsprechen, oder?
Dann müßte ich doch nur von einem Nullpunkt ausgehen, die Anzahl der 
Gradsegmente aufaddieren die der jeweiligen Geschwindigkeit entsprechen 
und das dann in xy-Polarkoordinaten umrechnen...

Würde das erstmal so funktionieren?

Aber für die Berechnungen brauche ich ja trigonometrische 
Funktionen..ist das nicht ar...langsam? Kann man das irgendwie durch 
Tricks vereinfachen und die sin/cos Funktionen vermeiden? Ich habe da 
Linien/Kreisalgorithmen von einem Herrn Bresenham gefunden, die ziemlich 
genial zu sein scheinen und ganz ohne sowas auskommen. Gibts sowas 
ähnliches auch für sinus etc?
Oder ist mein ganzer Ansatz Mist und zu Umständlich?

noch eine Frage zur Polarkoordinatenumrechnung:
Ich habe bei Wikipedia geschaut, und diese ganzen Polarformeln haben als 
0Grad Ursprung die X-Achse. Kann man diesen Ursprung auch irgendwie an 
eine andere Stelle legen(wie würde sich das in der Formel auswirken?

Und wie wirken sich globale Variablen auf die Geschwindigkeit aus? 
Werden die irgendwie langsamer angesprochen? Oder ist das egal?

Sorry falls das alles Kindergartenfragen sind, aber ich bin Anfänger und 
muss noch viel lernen. Evtl hab ich auch erstmal ganz andere Probleme 
als mich um irgendwelche Geschwindigkeitsoptimierungen zu kümmern ;P

P.S: Ich arbeite auf einem H8S irgendwas Hitachi mikroc.

Autor: Condi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Auflösung hat das Display und wieviele Pixel Durchmesser hat der 
Kreis?

Autor: Axel Preuss (funkydunky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also das display hat 240*128 und der kreis hat einen durchmesser von 
120px

Autor: Condi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja dann wird das eh nix mit 0,6 Grad. Wie zeichnest du denn den Kreis?

Im Prinzip brauchst du ja nur den Mittelpunkt und dann eine Tabelle mit 
60 x,y Punkten. Die sollten einen viertel Kreis ergeben. Den kannst du 
dann in alle Richtungen drehen wie du es brauchst. Den Zeiger kannst du 
dann mit dem Bresenham bzw. dem Anstieg machen. Du hast ja dann den 
Mittelpunkt und auch die Zielkoordinaten vom Kreis.

http://de.wikipedia.org/wiki/Bresenham-Algorithmus

Hier ist auch Beispielcode dabei.

Autor: Axel Preuss (funkydunky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also den kreis zeichne ich mit dem bresenham kreisalgorithmus von 
wikipedia...das funktioniert auch wunderbar.

das mit der tabelle ist eine idee. ich las mir das mal durch den kopf 
gehen und versuche da ne lösung für mich zufinden und das irgendwie 
hinzufrickeln

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.