Ich habe sonst nur noch die Bibliotheken für ein Rotary Encoder KY 040 eingebunden, in etwa so:
#include <ClickEncoder.h>
#include <TimerOne.h>
...
Timer1.initialize(1000);
Timer1.attachInterrupt(timerIsr);
encoder.setAccelerationEnabled(false);
Und im Haupt-Loop mache ich dann folgendes:
void loop() {
do {
currentVolumePosition = encoder.getValue();
if (currentVolumePosition != oldVolumePosition ) {
//update...
}
...