Summary of Rotary Encoder Video Tutorial with Arduino Code
This article provides a brief tutorial on interfacing a rotary encoder with an Arduino, including example code for reading encoder pulses using interrupts. The code tracks the direction and counts pulses by detecting rising and falling signals on encoder channels A and B. It uses attachInterrupt() for real-time handling of signal changes and updates the pulse count accordingly, printing the result via serial communication.
Parts used in the Rotary Encoder Tutorial with Arduino Code:
- Arduino board
- Rotary encoder
- Connecting wires
- Computer with serial monitor
Rotary Encoder Tutorial with Arduino Code
int pulses, A_SIG=0, B_SIG=1; void setup(){ attachInterrupt(0, A_RISE, RISING); attachInterrupt(1, B_RISE, RISING); Serial.begin(115200); }//setup void loop(){ }void A_RISE(){ detachInterrupt(0); A_SIG=1; if(B_SIG==0) pulses++;//moving forward if(B_SIG==1) pulses--;//moving reverse Serial.println(pulses); attachInterrupt(0, A_FALL, FALLING); } void A_FALL(){ detachInterrupt(0); A_SIG=0;
For more detail: Rotary Encoder Video Tutorial with Arduino Code