Forum: Mikrocontroller und Digitale Elektronik OLED Uhrzeiger


von Jörg (Gast)


Lesenswert?

Hallo, folgendes Anliegen ich möchte einen Zeiger wie bei einer Uhr auf 
einem 160*128 OLED Display programmieren, der sich eben genau wie bei 
einer Uhr dreht. Sprich, man brächte dann 60 Zeigerpositionen. Wie kann 
man das am besten realisieren? Gut wäre noch eine Auflösung auf ein Grad 
zu reduzieren. dann bräuchte man 359 Zeigerpositionen.

eine Funtkion für Darstellung eines Pixels ist so implementiert.

pixel_set(x,y); damit schalte ich an der Position x,y ein Pixel ein.

von egbert (Gast)


Lesenswert?

Stichworte für Google: Sinus, Cosinus und Bresenham.

von Thomas D. (thomasderbastler)


Lesenswert?

Sowas :
http://s-huehn.de/elektronik/

Projekt: Tischuhr

von Falk B. (falk)


Lesenswert?

@ Jörg (Gast)

>Hallo, folgendes Anliegen ich möchte einen Zeiger wie bei einer Uhr auf
>einem 160*128 OLED Display programmieren, der sich eben genau wie bei
>einer Uhr dreht. Sprich, man brächte dann 60 Zeigerpositionen. Wie kann
>man das am besten realisieren? Gut wäre noch eine Auflösung auf ein Grad
>zu reduzieren. dann bräuchte man 359 Zeigerpositionen.

Glaubst du ernsthaft, dass du auf DEM LCD eine Auflösung von 1 Grad in 
der Darstellung erreichst?

>pixel_set(x,y); damit schalte ich an der Position x,y ein Pixel ein.

Auch die längste Reise beginnt mit dem 1. Schritt. Nun brauchst du eine 
Funktion zum Linien zeichnen.

von ich (Gast)


Lesenswert?

> dann bräuchte man 359 Zeigerpositionen
...und die nullte bzw. 360. Position lassen wir einfach weg?

Abgesehen davon kannst du einem Display mit dieser Auflösung sowieso 
keine so kleinen Schritte darstellen. Aber 60 Positionen sollte man 
schon hinkriegen.

von Jörg (Gast)


Lesenswert?

ja ist mir jetzt auch klar aber 60 geht wohl, stichwort bresenham

von Martin K. (martinko)


Lesenswert?

Jörg schrieb:
> ja ist mir jetzt auch klar aber 60 geht wohl, stichwort bresenham

Der Bresenham sagt Dir, dass dies auf einem Display mit dieser Auflösung 
nicht so sonderlich gut geht? Cool!
Such mal hier in diesem Forum, da gibt es einen Ellenlangen Thread 
darüber, wir man einen "Zeiger berechnet". Such ihn, lies ihn und 
versuche zu verstehen, dann klappt das schon.

Gruß Martin

von W.S. (Gast)


Lesenswert?

Jörg schrieb:
> Hallo, folgendes Anliegen..

guckst du im gdi.c von der Lernbetty (in der Codesammlung), dann hast du 
alles was du brauchst.

W.S.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Jörg schrieb:
> Auflösung auf ein Grad
> zu reduzieren. dann bräuchte man 359 Zeigerpositionen

hatte frühre ein Vollkreis nicht 360 grad, und nicht 359? Hat man das 
etwa geändert und mir nicht Bescheid gesagt?

von Harald W. (wilhelms)


Lesenswert?

Wegstaben Verbuchsler schrieb:

>> dann bräuchte man 359 Zeigerpositionen
>
> hatte frühre ein Vollkreis nicht 360 grad, und nicht 359?

"Zero" zählt nicht. Da gewinnt die Bank. :-)
Gruss
Harald

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.