Как использовать поворотные датчики для управления устройством HID? - PullRequest
2 голосов
/ 21 января 2020

Моя цель - создать небольшую панель переключателей для моего Windows 10 P C. Я использую Arduino Micro для запуска моей программы. Я хочу использовать цифровой поворотный регулятор для управления входами джойстика. Я хочу управлять громкостью, нажимая громкость вверх, когда я поворачиваю энкодер по часовой стрелке, и громкость вниз, когда я поворачиваю его против часовой стрелки

#include <Joystick.h>

#define outputA 2
#define outputB 3


int counter = 0;
int aState;
int aLastState;

void setup() {
  Joystick.begin();
  pinMode(2, INPUT);
  pinMode(3, INPUT);
}

void loop() {
  aState = digitalRead(outputA);
  if (aState != aLastState) {
    if (digitalRead(outputB) != aState) {      // Clockwise
      Joystick.pressButton(1);
      delay(10);
      Joystick.releaseButton(1);
      counter ++;
    } else {                   // Counterclockwise
      Joystick.pressButton(2);
      delay(10);
      Joystick.releaseButton(2);
      counter --;
    }
    Serial.print("Counter:  ");
    Serial.println(counter);
  }
  aLastState = aState;
}

Это должно нажимать кнопку (кнопку 1) каждый раз, когда штифты нажимаются по часовой стрелке, и нажмите кнопку 2, когда они движутся против часовой стрелки. Я попытался распечатать значение счетчика на последовательном мониторе, чтобы увидеть, что он делает, но монитор меняется в случайные моменты и не распознает поворотный энкодер. Я могу уточнить любые моменты этого, но мне было интересно, что я мог бы исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...