Урок 4. Сервопривод: поворачиваем на заданный угол

Сервопривод поворачивает вал на точный угол и держит его. Подключаем SG90 тремя проводами и учим его вставать на 0, 90 и 180 градусов.

Уроки 28 сентября 2026 4 минуты

Что понадобится

  • Arduino Uno или Nano.
  • Сервопривод SG90 (или похожий).
  • Для двух и больше сервоприводов — отдельный блок питания 5 В.

Как подключить

Коричневый провод серво — к GND, красный — к 5V, оранжевый (сигнал) — к выводу 9. Один SG90 можно питать от платы; несколько уже просаживают USB, и плата начинает перезагружаться — тогда их питают отдельно, соединив землю блока питания с GND платы.

Программа из блоков

Соберите в BloX такую программу — или нажмите «Открыть в BloX», и она появится в редакторе готовой.

Программа «сервопривод» из блоков BloX: подключить серво на вывод 9, затем угол 0, 90 и 180 градусов с паузой в секунду

Код C++, который BloX собирает из этих блоков, — его можно скопировать в Arduino IDE:

#include <Servo.h> Servo myServo; void setup() { myServo.attach(9); } void loop() { myServo.write(0); delay(1000); myServo.write(90); delay(1000); myServo.write(180); delay(1000); }

Как это работает

Блок «Серво подключить пин 9» сам добавляет в код библиотеку Servo.h и объект myServo — в Arduino IDE ничего доставлять не нужно, эта библиотека встроенная.

«Серво угол» отправляет на вывод управляющие импульсы, и привод поворачивается на заданный угол от 0 до 180 градусов. Пауза в секунду даёт ему время доехать: без неё он не успел бы повернуться до следующей команды.

Как загрузить в плату

BloX собирает код, а в плату его заливает Arduino IDE. Нажмите в BloX «Код C++», скопируйте его, вставьте в новый скетч Arduino IDE, выберите плату и порт в меню «Инструменты» и нажмите «Загрузить».

Платы под рукой нет? Нажмите «Проверить в симуляторе» — код откроется на виртуальной плате урокробототехники.рф. Добавьте на схему сервопривод и подключите его к выводу 9, 5V и GND.

Попробуйте сами

  • Добавьте углы 45 и 135 — получится шаг поменьше.
  • Уменьшите паузы до 300 мс и посмотрите, успевает ли серво.
  • Возьмите потенциометр из урока 3 и поворачивайте серво ручкой: угол = map(потенциометр, 0, 1023, 0, 180).