Управление Servo-приводом с помощью контроллера Arduino

Сервопривод, в отличии от обычного двигателя постоянного вращения, позволяет более точно управлять вращением двигателя. Через контроллер можно подать угол, на который должен повернуться двигатель и серводвигатель будет вращаться в сторону заданного угла. Обычно можно задать угол до 180 градусов. Здесь рассмотрено управление сервоприводом с помощью контроллера Arduino. В качестве сервопривода взята HXT900.

Рисунок 13. Сервопривод

Данная модель сервоприводов подключается тремя проводами. Провод красного цвета – провод питания сервопривода, поэтому на этот провод необходимо подать 5 вольт. Коричневый провод необходимо подключить к земле (GND), а желтый – управляющий вывод двигателя и его нужно подключить к цифровому порту Arduino.

Рисунок 14. Подключение серводвигателя

Ниже рассматривается программа на Arduino, которая заставляет поворачивать сервопривод сначала в положение 0 градусов, потом 90, потом 120, 170 и опять повторяет все сначала. В данном примере, управляющий провод (желтый) подключается к 9 порту Arduino.

#include <Servo.h>//Подключение библиотеки для работы с //Серво
Servo myservo;//Создание объекта типа Servo
void setup() {
  myservo.attach(9);//Сопоставляет 9-й порт объекту //myservo. К этому порту должен быть подключен желтый //провод двигателя.
}
void loop() {
  myservo.write(0);//Поворачивает двигатель к заданному //углу
  delay(500);//Задержка программы, чтобы двигатель //закончил вращение
  myservo.write(90);
  delay(500);
  myservo.write(120);
  delay(500);
  myservo.write(170);
  delay(500);
}