// пример с небольшой оптимизацией опроса #include EncButton enc; // энкодер с кнопкой //EncButton enc; // просто энкодер //EncButton enc; // просто кнопка void setup() { Serial.begin(9600); } void loop() { // тик вернёт отличное от нуля значение, если произошло событие: // 1 - left + turn // 2 - right + turn // 3 - leftH + turnH // 4 - rightH + turnH // 5 - click // 6 - held // 7 - step // 8 - press // опрос этих событий можно проводить в условии, // чтобы "не тратить время" на постоянный опрос в loop if (enc.tick()) { if (enc.turn()) Serial.println("turn"); if (enc.turnH()) Serial.println("hold + turn"); if (enc.left()) Serial.println("left"); if (enc.right()) Serial.println("right"); if (enc.leftH()) Serial.println("leftH"); if (enc.rightH()) Serial.println("rightH"); if (enc.press()) Serial.println("press"); if (enc.click()) Serial.println("click"); if (enc.held()) Serial.println("held"); if (enc.step()) Serial.println("step"); // в конце лучше вызвать resetState(), чтобы сбросить необработанные флаги! enc.resetState(); } }