Servo Motor

Servo motor is an electrical device which is used to move or rotate objects. Servo motors have rotation angle that vary from 0 to 180 degree. It is not for continuous rotation like other motors.

It uses negative feedback to control motion of motor in a closed loop system which provide a better control over angular velocity.

 

 

 

Pin description:

  • VCC: To provide power to the sensor
  • GND: To provide GND to the sensor
  • Control Signal: To provide signal for motor control

Component needed:

  • Arduino Uno
  • Servo motor
  • Jumper wires

 Steps:

Step 1:

Connect servo motor to Arduino

Connection:

  • Connect VCC to 5V of Arduino
  • Connect GND to any GND pin of Arduino
  • Connect SIG pin to any PWM enabled pin (we will be using pin 9)

 



 

 

 

Step 2:

Upload the code

  • Download and include servo.h library in Arduino IDE
  • Copy and paste the code below into Arduino IDE
#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}
  • Upload the code to Arduino

Conclusion:

The motor will go from 1 to 180 and then from 180 to 0 degree with a delay of 0.15 sec in between.