Forum: Mikrocontroller und Digitale Elektronik Jog Dial encoder Code (Bascom)


von Sönkrrr B. (eldelirio)


Angehängte Dateien:

Lesenswert?

Moin moin,

ich habe aus einer alten MS Mouse das Scrollrad ausgebaut.

Nun grübele ich über einen Code (programmiere in Bascom), der je nach 
Drehrichtung eine Variable inkrementiert oder dekrementiert. Leider 
komme ich nicht richtig weiter.
Wenn es Befehle gäbe, mit denen man (wie beim Int) steigende und 
fallende Flaken erkannen kann, wäre ich schon ein Stück weiter, ich 
kenne aber keine.

Kann mir jemand einen Tipp dazu geben?

Im Anhang ist eine kleine Grafik mit den vorliegenden Signalen.
(Die untere Hälfte ist im Prinzip die gleiche wie die obere, nur wegen 
der anderen Drehrichtung logischerweise gespiegelt.. hab ich nur der 
Übersicht halber dazugemacht.)

Ich hoffe mir kann jemand helfen!

von Heiner (Gast)


Lesenswert?

Wie soll man das Bild verstehen?

von Sönkrrr B. (eldelirio)


Lesenswert?

Ja, also an dem Rad sind drei Kontakte. Einen hab ich mit Masse belegt. 
Die anderen (PinA und B) werden dann bei jeden Schritt, den man 
weiterdreht, für unterschiedliche Zeiten auf Masse gezogen.

Der Vorwärts-Takt wird also von Hand ausgelöst...

Gibt es Befehle, die auf Taktflanken reagieren?

von Rahul D. (rahul)


Lesenswert?

Guck mal nach Drehencodern (und deren Ansteuerung/Auswertung).

von Peter D. (peda)


Lesenswert?

>Einen hab ich mit Masse belegt.

Und zwar den falschen.

Bei richtigem Anschluß erhältst Du 2 phasenverschobene Signale, die Du 
dann mit meinem Codebeispiel auswerten kannst.


Peter

von Sebastian Heyn (Gast)


Lesenswert?

Ja mit jedem klck sollte sich der zustand von a und b gleich ändern, nur 
dass eins eher wechselt, je nach richtung

von Sönkrrr B. (eldelirio)


Lesenswert?

Ihr habt recht, danke für den Tipp. Ein blindes Huhn freut sich über 
jedes Korn..
Die Sache läuft jetzt. Und ich kann so sogar die encode Funktion in 
Bascom benutzen.
Wunderbar!

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.