• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Encoder na przerwaniach - czy tak może być?
#2
Zainstaluj bibliotekę https://github.com/brianlow/Rotary/archive/master.zip
Ja wykorzystuję ją do odczytu kierunku.
Jeśli pracujemy na uC Atmela to:
Podpinamy enkoder pod piny z wyzwalaniem zewnętrznego przerwania (dla Uno itp, będą to 2,3).
Tworzymy obiekt enkodera:

Cytat:Rotary enkoder = Rotary(2,3);


Wtedy można napisać funkcję obsługi przerwania (ja tak robię)

Kod:
ISR(PCINT2_vect) {
  unsigned char result = enkoder.process();
  if (result) {   
    if (result == DIR_CW){//obsługa enkodera w prawo}
    else {//obsługa enkodera wlewo};      
  }
}
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Encoder na przerwaniach - czy tak może być? - przez Robson Kerman - 13-06-2020, 17:55

Skocz do:


Przeglądający: 1 gości