
Driving a Servo Motor — SIK Circuit 8
Control a servo motor to sweep through positions. Learn about the Servo library, include directives, and how to precisely control motor position from 0 to 180 degrees.
ہدایات
Parts & Introduction
Parts & Introduction
A servo motor can be precisely positioned between 0 and 180 degrees. Unlike a regular motor that just spins, servos hold their position — making them perfect for robotics, pan/tilt mechanisms, and control surfaces. This experiment introduces the Servo library.
Parts Needed
- 1x Arduino Uno + USB cable
- 1x Breadboard
- 1x Servo Motor (with 3-pin header)
- 8x Jumper Wires
The servo has three wires: Red (power), Black (ground), White (signal).
Hardware Hookup
Hardware Hookup
Wiring Instructions
- Connect 3 jumper wires to the servo's female 3-pin header for breadboarding.
- Connect the Red wire to 5V.
- Connect the Black wire to GND.
- Connect the White wire (signal) to Digital Pin 9.
Power Note: Servos draw significant current. If the servo twitches and the Arduino resets, use a wall adapter instead of USB power, or power the servo from a separate 5V supply.
Arduino Code
Arduino Code
Open the Arduino IDE and upload the following sketch to your Arduino board.
/*
SparkFun Inventor's Kit
Example sketch 08 — SINGLE SERVO
Sweep a servo back and forth through its full range of motion.
Hardware connections:
Servo RED wire (power) to 5V
Servo WHITE wire (signal) to digital pin 9
Servo BLACK wire (ground) to GND
This code is completely free for any use.
*/
#include <Servo.h>
Servo servo1;
void setup()
{
servo1.attach(9);
}
void loop()
{
int position;
// Quick moves to specific positions
servo1.write(90); // Go to 90 degrees
delay(1000);
servo1.write(180); // Go to 180 degrees
delay(1000);
servo1.write(0); // Go to 0 degrees
delay(1000);
// Slow sweep to 180 degrees (2-degree steps)
for(position = 0; position < 180; position += 2)
{
servo1.write(position);
delay(20);
}
// Slow sweep back to 0 degrees (1-degree steps)
for(position = 180; position >= 0; position -= 1)
{
servo1.write(position);
delay(20);
}
}Test & Experiment
Test & Experiment
What You Should See
The servo quickly moves to 90°, 180°, and 0° (1 second each), then slowly sweeps from 0° to 180° and back.
Troubleshooting
- Servo not moving: Even with colored wires, it's easy to plug a servo in backwards. Check connections.
- Twitching/resetting: The servo draws too much power from USB. Use a wall adapter or separate power supply.
Experiments to Try
- Add a potentiometer (from Circuit 2) to control servo position with a knob.
- Change the step size and delay to experiment with speed and smoothness.
- Build a simple pan/tilt mechanism with two servos.
مواد
- •SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
- •Arduino Uno R3 - 1 pieceپلیس ہولڈر
- •Breadboard - 1 pieceپلیس ہولڈر
- •Servo Motor - 1 pieceپلیس ہولڈر
- •Jumper Wires - 8 piecessNOK 39.20
درکار اوزار
- Computer with Arduino IDE
CC0 پبلک ڈومین
یہ بلیو پرنٹ CC0 کے تحت جاری کیا گیا ہے۔ آپ اجازت لیے بغیر اس کام کو نقل، ترمیم، تقسیم اور کسی بھی مقصد کے لیے استعمال کرنے کے لیے آزاد ہیں۔
میکر کی حمایت کریں ان کے بلیو پرنٹ کے ذریعے پروڈکٹس خرید کر جہاں وہ میکر کمیشن وینڈرز کی طرف سے مقرر، کماتے ہیں، یا اس بلیو پرنٹ کی نئی تکرار بنائیں اور آمدنی شیئر کرنے کے لیے اسے اپنے بلیو پرنٹ میں کنکشن کے طور پر شامل کریں۔