einfacher Encoder

OP #4831173
Lesenswert?

Hallo,

ich möchte mit einem Encoder, der das Signal wie im Bild oben zu sehen 
ist aus gibt. Im Uhrzeigersinn hochzählen lassen, und gegen den 
Uhrzeigersinn herunter zählen lassen. Ich suche jetzt aber erst mal eine 
simple Lösung.  Zb. Über  PD0 (Signal A) und PD1 (Signal B)  beim 
Atmega88 einlesen.  Aber ich komme nicht drauf. Welche kombi ich hier 
auswerten soll, wenn ich zb. A hochzähle, und dann die Richtung wechsle, 
wie ich B runter zählen lassen kann.  Ich stelle mir das so vor
1
 if (!(PIND&(1<<PD0))) {A++;}
  oder , wenn A=1 & B !=1 A++ sonst B--. Hätte hier jemand mal nen Tipp 
für mich? Ausser die Suchfunktion gray Code usw…. wenn ich zum 
höchzählen nur High auswerte und runter nur Low, dann geht sich das auch 
nicht aus

Grüsse Huber
Angehängte Dateien:
#4831731
Lesenswert?

AB encoder auswerten geht besser mit (flank)interrupts. Wen A eine 
LOW-HIGH Uebergang sieht, gehts du in ISR. In ISR konnen sie dan die 
abhangig von Zustand  B eine Zaehler up oder down aenderen. Mit eine 
HIGH_LOW Flanke das geleiche, aber jetz invers zaehlen. Nur die actuelle 
Zustand anschauen geht nicht !

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren