SERVO MOTOR WITH ARDUINO UNO R3

About: PrimeRobotics is a E-Commerce site, which focus on supplying right products to Electronics Hobbyists, Enthusiast & Students.

Servo is a type of geared motor that can only rotate 180 degrees. It is controlled by sending electrical pulses from your Arduino Uno board. These pulses tell the servo what position it should move to.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Components Required

Step 2: Principle

Servo consists of shell, circuit board, non-core motor, gear and location detection. Its working principle is as follows: Arduino Uno board sends PWM signal to servo motor, and then this signal is processed by IC on circuit board to calculate rotation direction to drive the motor, and then this driving power is transferred to swing arm by reduction gear. At the same time, position detector returns location signal to judge whether set location is reached or not.

Step 3: Schematic Diagram

Step 4: Procedures

Step1:

Build the circuit.

Step 2:

Download the code from https://github.com/primerobotics/Arduino

Step 3:

Upload the sketch to the Arduino Uno board

Click the Upload icon to upload the code to the control board.

If "Done uploading" appears at
the bottom of the window, it means the sketch has been successfully uploaded.

Now, you can see the servo motor rotate 90 degrees (rotate once every 15 degrees). And then rotate in the opposite direction.

Step 5: Code

/***********************************************

* name:Servo

* function:you can see the servo motor rotate 90 degrees (rotate once every 15 degrees).

* And then rotate in the opposite direction.

************************************************/

//Email: info@primerobotics.in

//Website: www.primerobotics.in

#include

/************************************************/

Servo myservo;//create servo object to control a servo

/************************************************/

void setup()

{

myservo.attach(9);//attachs the servo on pin 9 to servo object

myservo.write(0);//back to 0 degrees

delay(1000);//wait for a second

}

/*************************************************/

void loop()

{

myservo.write(15);//goes to 15 degrees

delay(1000);//wait for a second

myservo.write(30);//goes to 30 degrees

delay(1000);//wait for a second.33

myservo.write(45);//goes to 45 degrees

delay(1000);//wait for a second.33

myservo.write(60);//goes to 60 degrees

delay(1000);//wait for a second.33

myservo.write(75);//goes to 75 degrees

delay(1000);//wait for a second.33

myservo.write(90);//goes to 90 degrees

delay(1000);//wait for a second

myservo.write(75);//back to 75 degrees

delay(1000);//wait for a second.33

myservo.write(60);//back to 60 degrees

delay(1000);//wait for a second.33

myservo.write(45);//back to 45 degrees

delay(1000);//wait for a second.33

myservo.write(30);//back to 30 degrees

delay(1000);//wait for a second.33

myservo.write(15);//back to 15 degrees

delay(1000);//wait for a second

myservo.write(0);//back to 0 degrees

delay(1000);//wait for a second

}

/**************************************************/

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    Discussions