Как подключить сервопривод к Arduino: пошаговая инструкция

Иван Корнев·27 июля 2026·3 мин

Чтобы понять, как подключить сервопривод к Arduino, необходимо правильно соединить три провода устройства с платой и загрузить управляющий скетч. Стандартное подключение включает подачу питания (4.8–6 В), соединение земли и передачу сигнала управления через цифровой пин с использованием библиотеки Servo.

Оглавление

Распиновка и схема подключения

Большинство стандартных аналоговых сервоприводов имеют трехпроводной интерфейс. Цветовая маркировка проводов обычно следующая:

  • Красный — питание (VCC).
  • Коричневый или черный — земля (GND).
  • Оранжевый, желтый или белый — сигнал (Signal).

Для подключения сигнального провода можно использовать любой цифровой пин Arduino, поддерживающий ШИМ, хотя библиотека Servo работает и с обычными цифровыми входами.

Стандартные сервоприводы работают в диапазоне напряжения 4.8–6 В. Подача более высокого напряжения может вывести устройство из строя.

Требования к источнику питания

При работе с одним маломощным сервоприводом допустимо питание от платы Arduino. Однако если вы используете мощные сервомоторы или несколько устройств одновременно, рекомендуется использовать внешний источник питания.

Важнейшее правило при использовании внешнего блока питания: земля (GND) внешнего источника должна быть обязательно соединена с землей платы Arduino. Без общего заземления сигнал управления не будет корректно считываться, и сервопривод не заработает.

Программное управление через библиотеку Servo

Для упрощения работы с сервомоторами в среде Arduino IDE используется стандартная библиотека Servo library. Она позволяет управлять до 12 сервоприводами на плате Arduino Uno.

Основные функции библиотеки:

  1. servo.attach(pin) — привязывает объект сервопривода к указанному цифровому пину.
  2. servo.write(angle) — устанавливает вал сервопривода в заданное положение.

Стандартный диапазон угла поворота составляет от 0 до 180 градусов.

ФункцияНазначениеПример использования
attach()Привязка к пинуmyServo.attach(9);
write()Установка углаmyServo.write(90);

Пример кода для проверки

Ниже приведен базовый скетч, который плавно поворачивает вал сервопривода от 0 до 180 градусов и обратно.

#include <Servo.h>

Servo myServo;  // Создаем объект сервопривода

void setup() {
  myServo.attach(9);  // Подключаем сервопривод к 9 пину
}

void loop() {
  // Поворот от 0 до 180 градусов
  for (int angle = 0; angle <= 180; angle += 1) {
    myServo.write(angle);
    delay(15); // Небольшая задержка для скорости поворота
  }

  // Поворот от 180 до 0 градусов
  for (int angle = 180; angle >= 0; angle -= 1) {
    myServo.write(angle);
    delay(15);
  }
}

Частые ошибки

  1. Отсутствие общего заземления. При подключении внешнего питания забывают соединить GND источника с GND Arduino, из-за чего сервопривод дергается или не реагирует на команды.
  2. Нехватка тока. Попытка запитать несколько мощных сервоприводов напрямую от 5V пина Arduino приводит к перезагрузке платы или нестабильной работе моторов.
  3. Превышение диапазона углов. Использование значений больше 180 или меньше 0 в функции write() может привести к непредсказуемому поведению или повреждению редуктора.

FAQ

Сколько сервоприводов можно подключить к Arduino Uno? При использовании стандартной библиотеки Servo к плате Arduino Uno можно подключить до 12 сервоприводов.

Какой диапазон углов поддерживает стандартный код? Стандартный диапазон управления углом поворота составляет от 0 до 180 градусов.

Нужен ли общий провод при внешнем питании? Да, земля (GND) внешнего источника питания должна быть обязательно соединена с землей платы Arduino для корректной передачи сигнала управления.