Upload files to 'EncoderTester'
This commit is contained in:
parent
5ea30e1ad1
commit
a3d911e14a
76
EncoderTester/EncoderTester.ino
Normal file
76
EncoderTester/EncoderTester.ino
Normal file
@ -0,0 +1,76 @@
|
||||
// define the pins for the rotary encoder
|
||||
const int pinA = 2;
|
||||
const int pinB = 3;
|
||||
const int sw = 4;
|
||||
|
||||
|
||||
|
||||
// define the current and previous state of the rotary encoder pins
|
||||
int currA = 0;
|
||||
int currB = 0;
|
||||
int prevA = 0;
|
||||
int prevB = 0;
|
||||
int prevButton = 1;
|
||||
int currButton = 0;
|
||||
|
||||
// define the current and previous positions of the rotary encoder
|
||||
int position = 0;
|
||||
int prevPosition = 0;
|
||||
|
||||
|
||||
|
||||
void setup() {
|
||||
// set the pin modes for the rotary encoder
|
||||
pinMode(pinA, INPUT_PULLUP);
|
||||
pinMode(pinB, INPUT_PULLUP);
|
||||
pinMode(sw, INPUT_PULLUP);
|
||||
|
||||
// enable pull-up resistors on the rotary encoder pins
|
||||
// digitalWrite(pinA, HIGH);
|
||||
// digitalWrite(pinB, HIGH);
|
||||
|
||||
// initialize the serial communication
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// read the current state of the rotary encoder
|
||||
currA = digitalRead(pinA);
|
||||
currB = digitalRead(pinB);
|
||||
|
||||
|
||||
//read state of button
|
||||
currButton = digitalRead(sw);
|
||||
|
||||
// check if the state of pin A has changed
|
||||
if (currA != prevA) {
|
||||
|
||||
// if pin A has changed, check the state of pin B to determine direction
|
||||
if (currA == currB) {
|
||||
// clockwise rotation
|
||||
position++;
|
||||
} else {
|
||||
// counter-clockwise rotation
|
||||
position--;
|
||||
}
|
||||
delay(50);
|
||||
|
||||
Serial.println(position);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(currButton == 0 && prevButton == 1){
|
||||
Serial.println("button press");
|
||||
delay(20);
|
||||
}
|
||||
|
||||
prevButton = currButton;
|
||||
|
||||
|
||||
// update the previous state and position of the rotary encoder
|
||||
prevA = currA;
|
||||
prevB = currB;
|
||||
prevPosition = position;
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user