NGHỆ THUẬT
LÀM ĐẸP VÀ SỨC KHỎE
THỦ CÔNG
VĂN HÓA VÀ LỊCH SỬ
GIẢI TRÍ
MÔI TRƯỜNG
THỰC PHẨM VÀ ĐỒ UỐNG
TƯƠNG LAI XANH
KỸ THUẬT NGƯỢC
KHOA HỌC
THỂ THAO
CÔNG NGHỆ
THIẾT BỊ ĐEO
Driving a Servo Motor — SIK Circuit 8
Ed

Tạo bởi

Ed

17. tháng Ba 2026FI
40
0
0
0
0

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.

Hướng dẫn

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

Vật liệu cho bước này:

SparkFun Inventors Kit - V3.2SparkFun Inventors Kit - V3.21 bộ
Arduino Uno R3Arduino Uno R31 cái
BreadboardBreadboard1 cái
Servo MotorServo Motor1 cái
Jumper WiresJumper Wires3 cái

Công cụ cần thiết:

Computer with Arduino IDE
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.

Vật liệu cho bước này:

Servo MotorServo Motor1 cái
Jumper WiresJumper Wires3 cái
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);
  }
}

Vật liệu cho bước này:

Arduino Uno R3Arduino Uno R31 cái

Công cụ cần thiết:

Computer with Arduino IDE
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.

Vật liệu

5

Công cụ yêu cầu

1
  • Computer with Arduino IDE
Tổng ước tính
$145.00

CC0 Phạm vi công cộng

Bản thiết kế này được phát hành theo CC0. Bạn tự do sao chép, sửa đổi, phân phối và sử dụng cho bất kỳ mục đích nào mà không cần xin phép.

Hỗ trợ nhà sáng tạo bằng cách mua sản phẩm qua bản thiết kế, nơi họ nhận Hoa hồng nhà sáng tạo do nhà bán hàng đặt, hoặc tạo phiên bản mới và kết nối trong bản thiết kế riêng để chia sẻ doanh thu.

Thảo luận

(0)

Đăng nhập để tham gia thảo luận

Đang tải bình luận...