Rotary Encoder: How It Works and Easy methods to Use With Arduino

Rotary Encoder: How It Works and Easy methods to Use With Arduino

You possibly can learn this and different superb tutorials onElectroPeak’s official web site


On this tutorial, you’ll get to know how you can use the rotary encoder. First, you’ll see some details about the rotational encoder, and you then’ll learn to use a rotary encoder with three sensible examples.

What You Will Be taught:

  • What the rotary encoder is and the way it works.Displaying encoder place
  • Controlling a LED mild utilizing a rotary encoder
  • Controlling a DC motor velocity and route utilizing a rotary encoder

Trainer Notes

Lecturers! Did you employ this instructable in your classroom?

Add a Trainer Observe to share the way you included it into your lesson.

Step 1: What Is a Rotary Encoder?

The rotary encoder is an electromechanical system that converts the place of the shaft angle to digital knowledge. Rotary encoder has a round plate with some holes and two channels A and B. By rotating the round plate, when A and B channels move the holes, a connection between that channel and a standard base is established. These interruptions trigger a sq. wave within the output channel. By counting these pulses, we are able to discover the quantity of rotation. Then again, channels A and B have 90 levels of the part distinction, so it’s also possible to discover the rotation route relying on which channel pulse is forward

An encoder could be put in straight on the motor shaft or made as a module. The rotary encoder module, together with 5 pins, is the commonest rotating encoder. 2 pins assist encoder provide, SW is a push button on the module, and CLK and DT present the A and B channels.

A number of the options of this module are:

  • The flexibility of Rotate to infinity
  • 20 pulse decision
  • 5V provide voltage

Step 2: Required Elements

Step three: Easy methods to Use a Rotary Encoder?

To make use of a rotary encoder, we should always rely the pulses of channels A and B. To do that, we used Arduino UNO and carried out three initiatives for positioning the encoder, controlling the LED mild and controlling the velocity and route of the DC motor.

Step four: Figuring out the Place of the Rotary Encoder Shaft

Join the + to 5V, GND to GND pin, CLK to pin quantity 6, and DT to pin quantity 7.

It’s good to know the place of the shaft to make use of the encoder. The place of the shaft varies relying on the quantity of its rotation. It modifications from zero to infinity for clockwise rotation, and from zero to minus infinity for the counterclockwise rotation. Add the next code in your Arduino and see the place of the shaft encoder within the serial monitor. You should utilize the hooked up code for all of your initiatives with an encoder.

To find out the encoder place, we have to join channels A and B as inputs to Arduino. We learn and save the preliminary worth of Channel A at the start. Then, we learn the instantaneous worth of channel A, and if the worth of Channel B was forward of it, we lower the counter. In any other case, we enhance the counter quantity.

Step 5: Controlling a LED Mild With Shaft Rotation

At first you want to get the shaft place, after which you possibly can scale back or enhance the LED mild with PWM. Because the PWM has some worth between zero to 255, we set the shaft place on this vary within the code too.

Step 6: Controlling DC Motor Velocity and Route With Interrupt

On this code, we’ve got used an interrupt to learn the shaft and key place. For extra details about interrupts, you possibly can verify the Arduino Web site.

The motor breaks by pushing the encoder key or setting the encoder in place zero. You possibly can see how you can drive DC motor with the L293D defend right here.

Step 7: Like Us on FaceBook

In the event you discover this tutorial useful and fascinating please like us on fb.

Be the First to Share


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.