Rotary Encoder

SKU: MOD-089

Price:
Sale priceR 36.06

Tax included Shipping calculated at checkout

Stock:
In stock (45 units), ready to be shipped

A rotary encoder is an electromechanical device that converts the angular position or motion of a shaft or axle to an analog or digital code. Rotary encoders are usually placed at the side which is perpendicular to the shaft. Rotary encoders act as sensors for detecting angle, speed, length, position and acceleration in the automation field.

The module can count by rotation the pulses output both clockwise and counterclockwise. Different from the potentiometer, the counting is unrestricted. It can be restored to the original state by the button on the module, i.e. counting from 0.

Application

It is widely applied in fields such as steel, harbor machinery, hoisting machinery, pressure machinery, glass machinery, packaging machinery, etc

Example Sketch & Diagram


#define clkPin 2
#define dtPin 3
#define swPin 4
int encoderVal = 0;

void setup(){
pinMode(clkPin, INPUT);
pinMode(dtPin, INPUT);
pinMode(swPin, INPUT);
digitalWrite(swPin, HIGH);
Serial.begin(9600);
}

void loop(){
int change = getEncoderTurn();
encoderVal = encoderVal + change;
if(digitalRead(swPin) == LOW)
{
encoderVal = 0;
}
Serial.println(encoderVal);
}
int getEncoderTurn(void)
{
static int oldA = HIGH;
static int oldB = HIGH;
int result = 0;
int newA = digitalRead(clkPin);
int newB = digitalRead(dtPin);
if (newA != oldA || newB != oldB)
{
if (oldA == HIGH && newA == LOW)
{
result = (oldB * 2 - 1);
}
}
oldA = newA;
oldB = newB;
return result;
}

Customer Reviews

Be the first to write a review
0%
(0)
0%
(0)
0%
(0)
0%
(0)
0%
(0)

You may also like

Recently viewed