109 подписчиков
Команды для управления сервоприводами в визуальной среде программирования mBlock5 и в более продвинутой Arduino IDE.
Сервопривод представляет собой «коробочку», в которую спрятан моторчик и множество передач, создающие крутящий момент (это основная характеристика привода, показывающая, какой вес он способен удерживать). К его подвижной части, называемой вал, можно прикрепить лопасти разной длины и диаметра.
С помощью программного кода вы можете задавать угол поворота вала привода. Как правило, это от 0 до 180 градусов, либо для более крутых и дорогих моделей от 0 до 360 градусов (вращение без ограничений, что даже больше максимального поворота головы совы в 270 градусов).
Как же это сделать? Обратимся к обеим средам разработки. Несколько вариантов приведено на иллюстрации.
Первые два относятся к визуальной среде программирования, а третий — к Arduino IDE. В первом варианте выполняется команда установления вала сервопривода, подключенного к выводу 9 платы Arduino, в положение 90 градусов сразу же после запуска Ардуино (это момент подачи на неё питания).
Во втором варианте можно настроить плавное изменение угла поворота вала сервопривода: создадим переменную servo c начальным значением 0. Она будет отвечать за угол поворота. Будем каждую секунду поворачивать вал сервопривода на определённое значение, равное переменной servo, и после каждого такого действия увеличивать ее значение на +5. Как только значение переменной достигнет 180, сервопривод прекратит свою работу.
Третий вариант с использованием Arduino IDE требует от пользователя подключения библиотеки Servo.h (скачивать её не нужно, она уже установлена в Arduino IDE) и создания объекта myservo, с помощью которого можно отдавать команды сервоприводу. Далее создается целочисленная переменная servo: в ней, как и раньше, будет храниться значение угла поворота. В разделе void setup() указывается вывод, к которому подключен сервопривод (9-й), а в функции void loop() пишется основной рабочий цикл: если значение переменной servo меньше 180, то вал сервопривода поворачивается на угол, значение которого равняется текущему значению переменной servo; значение переменной увеличивается на 5; контроллер Ардуино ждет одну секунду (1000 миллисекунд) и всё повторяется заново, но уже с другим значением угла поворота.
1 минута
23 декабря 2023