예술
뷰티 및 웰니스
공예
문화 및 역사
엔터테인먼트
환경
음식 및 음료
그린 퓨처
역공학
과학
스포츠
기술
웨어러블
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.

재료

  • 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로 공개되었습니다. 어떤 목적으로든 자유롭게 복사, 수정, 배포 및 사용할 수 있습니다.

제품 구매를 통해 메이커를 지원하세요. 판매자가 설정한 메이커 커미션 을 받거나, 이 블루프린트의 새로운 반복을 만들어 연결로 포함시킬 수 있습니다.

토론

(0)

로그인 하여 토론에 참여하세요

댓글 로딩 중...