13-06-2020, 17:55
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:
Wtedy można napisać funkcję obsługi przerwania (ja tak robię)
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.