#define ENCODER_CLK1 10
#define ENCODER_DT1 11
#define ENCODER_CLK2 6
#define ENCODER_DT2 9
#define ENCODER_CLK3 3
#define ENCODER_DT3 5
void setup() {
Serial.begin(115200);
pinMode(ENCODER_CLK1, INPUT);
pinMode(ENCODER_DT1, INPUT);
pinMode(ENCODER_CLK2, INPUT);
pinMode(ENCODER_DT2, INPUT);
pinMode(ENCODER_CLK3, INPUT);
pinMode(ENCODER_DT3, INPUT);
}
// Consolidated for all encoders
int lastClk1 = HIGH;
int lastClk2 = HIGH;
int lastClk3 = HIGH;
void loop() {
readEncoder(1);
readEncoder(2);
readEncoder(3);
}
void readEncoder(int encoderNum) {
int clkPin, dtPin;
switch (encoderNum) {
case 1:
clkPin = ENCODER_CLK1;
dtPin = ENCODER_DT1;
break;
case 2:
clkPin = ENCODER_CLK2;
dtPin = ENCODER_DT2;
break;
case 3:
clkPin = ENCODER_CLK3;
dtPin = ENCODER_DT3;
break;
default:
return; // Invalid encoderNum
}
/// CODE FOR COMMAND PROMPT TO SHOW WHAT ACTION IS PERFORMED
// int newClk = digitalRead(clkPin);
// if (newClk != lastClk1) {
// int dtValue = digitalRead(dtPin);
// if (newClk == LOW && dtValue == HIGH) {
// Serial.println("Encoder " + String(encoderNum) + " rotated clockwise ⏩");
// } else if (newClk == LOW && dtValue == LOW) {
// Serial.println("Encoder " + String(encoderNum) + " rotated counterclockwise ⏪");
// }
// lastClk1 = newClk; // Update lastClk for the current encoder
// }
}