Данная библиотека позволяет плате Arduino управлять работой серводвигателей. Сервопривод представляет собой двигатель со встроенным редуктором и выходным валом, положение которого можно точно контролировать. Стандартные серводвигатели позволяют задавать угол поворота вала в диапазоне от 0 до 180 градусов. В двигателях с непрерывным вращением вала можно задавать скорость его вращения.
В библиотеке Servo реализована возможность одновременного управления несколькими двигателями: на большинстве плат Ардуино - до 12, на Arduino Mega - до 48. При этом, на всех платах Ардуино (за исключением Arduino Mega) использование этой библиотеки приводит к неработоспособности ШИМ-функции analogWrite() на контактах 9 и 10, вне зависимости от того, подключен серводвигатель к ним или нет. На плате Arduino Mega действуют другие правила: если к Ардуино подключено меньше 12 двигателей, то библиотека Servo не оказывает влияния на ШИМ-функции; в случае подключения от 12 до 23 двигателей - функция ШИМ станет недоступна на контактах 11 и 12.
Схема подключения
У серводвигателя есть три провода: питание, земля и сигнальный провод. Провод питания (обычно красного цвета) должен соединяться с выводом 5V платы Arduino. Провод земли (как правило, черный или коричневый) должен быть подсоединен к соответствующему контакту на плате Ардуино. Сигнальный провод (обычно желтого, оранжевого или белого цвета) должен соединяться с цифровым контактом Arduino. Следует помнить, что серводвигатели потребляют относительно большой ток, поэтому при необходимости управления двумя или более двигателями рекомендуется запитывать их от отдельного источника питания (не используя контакт Arduino +5V). При этом следует убедиться, что контакты земли Arduino и внешнего источника питания соединены вместе.
Методы
attach()
write()
writeMicroseconds()
read()
attached()
detach()
Примеры
Knob: управление валом серводвигателя с помощью потенциометра.
Sweep : вращение валом серводвигателя в разные стороны.
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://www.arduino.cc/en/Reference/Servo |