ИСКУССТВО
КРАСОТА И ЗДОРОВЬЕ
РЕМЕСЛО
КУЛЬТУРА И ИСТОРИЯ
РАЗВЛЕЧЕНИЯ
ЭКОЛОГИЯ
ЕДА И НАПИТКИ
ЗЕЛЁНОЕ БУДУЩЕЕ
ОБРАТНАЯ ИНЖЕНЕРИЯ
НАУКИ
СПОРТ
ТЕХНОЛОГИИ
НОСИМЫЕ УСТРОЙСТВА
Driving a Servo Motor — SIK Circuit 8
Ed

Создано

Ed

17. March 2026

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.

Инструкции

1

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).

2

Hardware Hookup

Wiring Instructions

  1. Connect 3 jumper wires to the servo's female 3-pin header for breadboarding.
  2. Connect the Red wire to 5V.
  3. Connect the Black wire to GND.
  4. 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.

3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

servo_motor.inoarduino
/*
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);
  }
}
4

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.

Материалы

Требуемые инструменты

  • Computer with Arduino IDE

CC0 Общественное достояние

Этот чертёж выпущен под лицензией CC0. Вы можете свободно копировать, изменять, распространять и использовать эту работу в любых целях без запроса разрешения.

Поддержите мейкера, покупая товары через его чертёж, где он получает Комиссию мейкера установленную продавцами, или создайте новую итерацию этого чертежа и включите его как связь в свой чертёж для распределения дохода.

Обсуждение

(0)

Войти чтобы присоединиться к обсуждению

Загрузка комментариев...