Глиф Учебники

Как управлять сервоприводом с Arduino

Справочник · Arduino · 2 минуты чтения

Сервопривод подключается тремя проводами и управляется встроенной библиотекой Servo:

Arduino
#include <Servo.h>

Servo servo;

void setup() {
  servo.attach(9);     // сигнал на выводе 9
}

void loop() {
  servo.write(0);      // повернуть на 0°
  delay(1000);
  servo.write(90);     // в середину
  delay(1000);
  servo.write(180);    // до упора в другую сторону
  delay(1000);
}

servo.write(угол) принимает угол от 0 до 180 — сервопривод сам доворачивает вал и держит его в этом положении. Библиотеку ставить не нужно: она уже есть в Arduino IDE.

Угол с потенциометра

Потенциометр 10 кОм: крайние выводы — к 5V и GND, средний — к A0. Число 0–1023 переводится в угол функцией map:

Arduino
#include <Servo.h>

Servo servo;

void setup() {
  servo.attach(9);
}

void loop() {
  int angle = map(analogRead(A0), 0, 1023, 0, 180);
  servo.write(angle);
  delay(15);
}

Питание — главное

Сервопривод при движении и под нагрузкой берёт сотни миллиампер. От 5V платы можно питать один SG90 для опыта, но не больше.

Не питайте сервоприводы и моторы от вывода 5V платы, подключённой к компьютеру, если их больше одного маленького: просадка напряжения перезагружает плату, а большой ток может повредить стабилизатор платы или USB-порт.

Если что-то не так

Больше о моторах и драйверах — в уроке Сервоприводы и моторы.