Моя цель - создать небольшую панель переключателей для моего 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, когда они движутся против часовой стрелки. Я попытался распечатать значение счетчика на последовательном мониторе, чтобы увидеть, что он делает, но монитор меняется в случайные моменты и не распознает поворотный энкодер. Я могу уточнить любые моменты этого, но мне было интересно, что я мог бы исправить.