Arduino библиотека Servo

Arduino библиотека Servo представляет собой набор функций для управления сервоприводами. Данная библиотека дает возможность управлять сразу двенадцатью сервоприводами с помощью большинства микроконтроллеров Ардуино. Некоторые платы Ардуино позволяют подключать меньше сервоприводов (такие платы как Arduino LilyPad) так как у их меньше цифровых вводов/выводов. Другие платы дают возможность управлять сразу 48-ю сервоприводами (Arduino Mega).

Использование библиотеки Servo накладывает некоторые ограничения. На всех платах кроме Arduino Mega, при работе с данной библиотекой, пропадает возможность использовать цифровые пины 9 и 10 в режиме ШИМ. На плате Ардуино Мега режим ШИМ становится не доступен на пинах 11 и 12, только при подключении более 12 сервоприводов.

Скачать библиотеку Servo.h

Данная библиотека автоматически устанавливается вместе с Arduino IDE. Но вы можете отдельно скачать библиотеку Servo для Ардуино. Для установки библиотеки просто распакуйте zip архив в папку «C:\Program Files (x86)\Arduino\libraries» или в то место, где у васт установлена среда разработки Arduin IDE. Если у вас запущена программа Arduino IDE, то для работы с новой библиотекой её необходимо перезапустить.

После того как вы скачали библиотеку Servo и установили ее, вы можете подключать библиотеку в свои скетчи и вам будут доступны примеры использования данной библиотеки.

Для использование библиотеки Servo необходимо подключить ее в свой скетч и создать переменную типа servo. Сделать это очень просто:

attach()

Указывает вывод к которому подключен сервопривод.

Синтаксис, параметры, возвращаемые значения, пример

Синтаксис

servo.attach(pin, min, max);

Параметры

pin - Обязательный параметр. Цифровой пин к которому подключен сигнальный провод сервопривода.
min - Необязательный параметр. Ширина импульса в микросекундах, соответствующая минимальному (угол 0 градусов) положению сервопривода. (по умолчанию 544)
max - Необязательный параметр. Ширина импульса в микросекундах, соответствующая максимальному (угол 180 градусов) положению сервопривода.

Возвращаемые значения

Нет

write()

Поворачивает сервопривод на заданный угол. Для сервоприводов постоянного вращения устанавливает скорость и направление вращения.

Синтаксис, параметры, возвращаемые значения, пример

Синтаксис

servo.write(angle);

Параметры

angle - Обязательный параметр. Устанавливает угол от 0 до 180 градусов. При использовании сервопривода постоянного вращения значение 90 используется для неподвижного состояния. Значение 0 для максимальной скорости кручения в одну сторону, а 180 для максимальной скорости кручения в другую сторону.

Возвращаемые значения

Нет

writeMicroseconds()

Поворачивает сервопривод на угол заданный в микросекундах. С сервоприводами постоянного вращения работает по таком же принципу как и функция write().

Синтаксис, параметры, возвращаемые значения, пример

Синтаксис

servo.writeMicroseconds(ms);

Параметры

ms - Обязательный параметр. Значение в микросекундах

Возвращаемые значения

Нет

read()

Возвращает текущее положение сервопривода.

Синтаксис, параметры, возвращаемые значения, пример

Синтаксис

servo.read();

Параметры

Нет

Возвращаемые значения

Int от 0 до 180.

attached()

Проверяет, указан ли управляющий пин для экземпляра класса Servo.

Синтаксис, параметры, возвращаемые значения, пример

Синтаксис

servo.attached();

Параметры

Нет

Возвращаемые значения

boolean true - если пин был указан и false - если нет

detach()

Отсоединяет экземпляр класса от пина. При отсоединения всех сервоприводов, заблокированные ШИМ выводу снова станут доступны.

Синтаксис, параметры, возвращаемые значения, пример

Синтаксис

Servo.detach()

Параметры

Нет

Возвращаемые значения

Нет