Introduction: SERVO MOTOR WITH ARDUINO UNO R3
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.
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
}
/**************************************************/