Using Servos with Arduino made easy !

Summary of Using Servos with Arduino made easy !


This article explains how to control a servo motor using an Arduino and a 10k potentiometer. The potentiometer acts as a position input device by varying analog signals to the Arduino, which maps this input to servo rotation angles using PWM signals. The guide covers wiring the potentiometer to the Arduino’s analog pins, connecting the servo’s signal, power, and ground lines, and uploading a modified "knob.ino" sketch to control the servo’s angle based on potentiometer input. It emphasizes correct power supply usage and provides practical advice for integrating the components.

Parts used in the Arduino Servo Control Project:

  • Servo motor
  • Arduino board
  • Jumper wires (male to male)
  • 10k potentiometer
  • USB cable
  • Protoboard or breadboard (optional for potentiometer connections)

Servomotors or simply servos are essential components of a robot which convert electrical energy into mechanical energy.They are widely used in the field of RC hobby and robotics. But unlike simple geared motors , these servos are made by integrating a geared motor with a position feedback circuit which allows us to control the rotation of the shaft precisely. To drive a servo , we need a controller which provides PWM signals to the servo which in turn determines the angle of rotation. Using an arduino to do this is pretty easy job, all you need is :

1. A servo ( To make your own servo , check this out : make your own servo ! )

2. Arduino ( and the default “knob.ino” sketch )

3. A bunch of jumper wires ( male to male )

4. A 10k potentiometer

5. A USB cable

Using Servos with Arduino made easy

Step 1: Prepare the potentiometer

The potentiometer has three pins one is for the wiper and the other two have 10k resistance between them. The wiper should be connected to the analog 0 pin on the arduino , one of the remaining two pins should be connected to +5v and the other should be grounded. The potentiometer has been soldered on a protoboard to make it “arduino friendly” ( you can use a breadboard too ).

Based on how you rotate the the wiper arm , the analog values on the analog 0 pin will change and therefore the angle of rotation of the servo will also change.

Step 2: Upload the program and attach the servo

Using Servos with Arduino made easy circuit

I’ve made some minor changes in the program :

pin 15 ( analog 1 ) and pin 16 ( analog 2 ) are used as power source for the potentiometer board.

The arduino reads values from potentiometer between 0 and 1023

val = analogRead(potpin); “

Then it converts or “maps” the values from 0-1023 to 0-179 ( in degrees )

val = map(val , 0 , 1023 , 0 , 179 ); “

Finally , it writes these values to the servo.

CONNECTIONS :

1. Connect the potentiometer to the arduino ( as mentioned above )

2. Attach the yellow/orange signal pin of servo to pin 9 on arduino.

3. Connect the red wire to VIN pin* and the brown one to ground.

4. Take power from USB.

5. Upload the attached sketch to arduino.

***IF you are using external power source ( other than USB ) then first convert the voltage to 5v.

>> some important tips

 

For more detail: Using Servos with Arduino made easy !


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top