4.12. Контроллер серводвигателя
В Arduino IDE предусмотрена библиотека Servo для упрощения управления сервоприводами. Чтобы работать с библиотекой, необходимо подключить ее к нашей программе. Затем следует прикрепить объект Servo к определенному выводу Arduino и задать угол вращения. Обо всем остальном позаботится библиотека. Самый простой способ проверить функционирование сервопривода - управление позицией вала с помощью потенциометра. Значение 0 потенциометра соответствует повороту сервопривода на 0°, значение 1023 - повороту на 180°. Загрузите код, приведенный в листинге 4.6, в плату Arduino, чтобы проверить все в действии.
Листинг 4.6. Управление положением серводигателя с помощью потенциомера - servp.ino
// Управление положением серводвигателя с помощью потенциометра
#include <Servo.h>
const int SERV0=9; // Вывод 9 для подключения сигнального провода сервопривода
const int POT=0;// Подключение потенциометра к аналоговому входу A0
Servo myServo;
int val = 0;// Переменная для чтения показаний потенциометра
void setup()
{
myServo.attach(SERV0);
}
- 103 -
void loop()
{
val = analogRead(POT);// Чтение данных потенциометра
val = map(val, 0, 1023, 0, 179); // Преобразование к нужному диапазону
myServo.write(val);// Установить положение сервопривода
delay(15);
}
Оператор include, указанный в начале программы, добавляет функционал библиотеки Servo. Оператор Servo myServo создает объект сервопривода с именем myservo.
В том месте программы, где требуется действие с сервоприводом, будет ссылка на объект myServo. В функции setup() вы инициализируете сервопривод, присоединяя его к контакту 9 Arduino. Можно подсоединить к Arduino несколько сервоприводов, создав несколько объектов Servo и назначив каждому свой контакт Arduino.
В цикле loop() считывается текущее значение потенциометра, масштабируется до диапазона значений сервопривода и формируется импульс для установки вала сервопривода в соответствующую позицию. Задержка на 15 мс гарантирует, что вал сервопривода фиксируется, прежде чем поступит новая команда.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК