#include <unoHID.h> #define ENC_DT 6 #define ENC_CLK 7 int lastStateCLK; void setup() { pinMode(ENC_CLK, INPUT_PULLUP); pinMode(ENC_DT, INPUT_PULLUP); Serial.begin(9600); Serial.println("Encoder ready"); Keyboard.begin(); lastStateCLK = digitalRead(ENC_CLK); } void loop() { int currentStateCLK = digitalRead(ENC_CLK); if (currentStateCLK != lastStateCLK) { delayMicroseconds(200); // антидребезг if (digitalRead(ENC_CLK) == LOW) { if (digitalRead(ENC_DT) == HIGH) { Serial.println("RIGHT"); Keyboard.press(KEY_RIGHT_ARROW); Keyboard.release(KEY_RIGHT_ARROW); } else { Serial.println("LEFT"); Keyboard.press(KEY_LEFT_ARROW); Keyboard.release(KEY_LEFT_ARROW); } } lastStateCLK = currentStateCLK; } }