Skip to main content

Servo Motor Interfacing with Arduino

In this tutorial, we will learn how to interface a servo motor using Arduino UNO.
The motor inside the setup of a servo is attached by gears to the control wheel. When the motor rotates, the potentiometer’s resistance changes hence the control circuit can precisely regulate how much movement there is and in which direction.

The motor’s speed is proportional to the difference between its actual position and desired position. When the shaft is near the desired position it turns slowly else fast. This is called proportional control.

They are controlled by sending PWM (pulse width modulated) signals through the control wire.
They are available in many sizes and are of three types
  • Positional rotation 
  • Continuous rotation 
  • Linear
The most common type is the positional rotational one.
So now we are familiar with the motor let us interface it

Components Required:

  • Servo motor 1No
  • Arduino UNO 1No
  • Few connecting wires
  • Breadboard
Follow the video below for circuit connection reference
After making the circuit dump the code given below.

#include <Servo.h>
Servo myservo;
int pos = 0;
void setup()
{
myservo.attach(9);
}
void loop() 
{
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) 
{
myservo.write(pos);
delay(15);
}
}

This was the normal interfacing; you can also control the movement with the help of a potentiometer as shown below.
Servo motors can be used for several applications few of them are:
Servo motors are used in making joints of robots.

  • Surveillance cameras. 
  • Door opening mechanisms. 
  • Solar tracking systems. 
And much more…..

So try something out and let us know what you made in the comment section.

Two variants of servos are available one which rotates 180 degrees and other which rotates 360 degrees.
You can modify your servo motor to increase the rotation range just follow the link below.
http://www.instructables.com/id/How-to-modify-a-servo-motor-for-continuous-rotatio/


Thinking ?

Join our hands-on training courses.
To know more visit us at http://www.sudolearn.com/

Comments

Popular posts from this blog

LED Brightness Control using Touch Sensor and ARM

Hey Folks, In this tutorial, we will learn, how to change  the intensity of light using touch sensor the ARM (FRDM-KL25Z). INTRODUCTION The FRDM-KL25Z is an ultra-low-cost development platform for Kinetis L Series KL1x (KL14/15) and KL2x (KL24/25) MCUs built on ARM® Cortex™-M0+ processor.  The FRDM-KL25Z has been designed by NXP in collaboration with mbed for prototyping all sorts of devices, especially those requiring the size and price point offered by Cortex-M0+ and the power of USB Host and Device. The FRDM-KL25Z is supported by a range of NXP and third-party development software. It is packaged as a development board with connectors to break out to stripboard and breadboard and includes a built-in USB FLASH programmer.               FEATURES NXP KL25Z Kinetis KL2x MCU (MKL25Z128VLK4) High-performance ARM® Cortex™-M0+ Core 48MHz, 16KB RAM, 128KB FLASH USB (Host/Device) SPI (2) I2C (2) UART (3) PWM (TPM) ADC (16 bit) DAC (1x 12bit) Touch Sensor

Arduino Based Piano Project

This video will illustrate to you how to make a simple piano by using IR Modules. Based on the frequency of sa, re, ga, ma, pa, dha, ni and sa the tone of the buzzer will change. Video Link Components Required: 1> I.R. Modules 2> Arduino Uno 3> Jumper Wires 4>Small Breadboard Circuit Diagram Arduino Code: int button_C = 2; int button_D = 3; int button_E = 4; int button_F = 5; int button_G = 6; int button_A = 7; int button_B = 8; int button_Cup = 9; int speaker = 10; int buttonstate_C = 0; int buttonstate_D = 0; int buttonstate_E = 0; int buttonstate_F = 0; int buttonstate_G = 0; int buttonstate_A = 0; int buttonstate_B = 0; int buttonstate_Cup = 0; //NOTES         'c'  , 'd',  'e',  'f',  'g', 'a',  'b',  'C' int tones[] = { 240, 254, 285, 320, 359, 280, 427, 956 }; //freq int Cur_tone = 0; void setup() {   pinMode(button_C, OUTPUT);   pinMode(button_D, INPUT);   pinMode(button_E, INP

Arduino Based Dancing Robo

Hello Makers This Blog is about making a generic dancing bot which will move his hand entertainingly responsive to interruptions. Video Link Components you need: Arduino UNO  ( Click here to Buy Arduino UNO ) I.R. Module ( Click here to buy IR Module ) Servo-2 ( Click here to buy servos ) Jumper Wire ( Click here to buy jumper wire ) Cardboard ( Click here to buy cardboard ) Follow the steps and do the connections As given in Video Arduino Code : Servo myServo0;     //Object Name of your first Servo Servo myServo1;     //Object Name of your Second Servo int a;              //Variable to Store Value of IR int count = 0;      //A Counter Variable void setup() {   // put your setup code here, to run once:   myServo.attach(3);   //Attaching pin No. of first Servo will be 3   myServo1.attach(4);  //Attaching pin No. of first Servo will be 4   pinMode(5, INPUT);   //Attaching pin No. of IR   Serial.begin(9600);  //To Start your Serial Monitor } void loop() {   // put