Как управлять сервоприводом на Arduino через библиотеку Servo?
Купил маленький сервопривод (SG90), хочу чтобы он поворачивался на нужный угол. Как им управлять с Arduino? Видел библиотеку Servo, но не понимаю, как её подключить и заставить серво двигаться.
2 ответа
Сервопривод управляется готовой библиотекой Servo, которая уже встроена в Arduino IDE. Подключи: коричневый провод → GND, красный → 5V, оранжевый (сигнал) → любой цифровой пин, например 9.
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9); // серво на пине 9
}
void loop() {
myServo.write(0); // повернуть в 0 градусов
delay(1000);
myServo.write(90); // в середину
delay(1000);
myServo.write(180); // в крайнее положение
delay(1000);
}
write(угол) принимает угол от 0 до 180 градусов. Всё просто: библиотека сама генерирует нужные импульсы.
Важно: маленькое серво ещё можно питать от 5V Arduino, но если их несколько или серво мощное — питай от отдельного источника, иначе плата перезагружается из-за просадки напряжения. GND обязательно общий.
Если серво дёргается или гудит в крайних положениях — попробуй не доводить до самых 0 и 180, а ограничить, например, 10–170 градусами. Дешёвые SG90 часто упираются в механический предел и начинают дребезжать.