- Платы Ардуино
- Обучение Ардуино
- Мой блог
- Уроки
- Урок № 1 "Пишем свой первый скетч"
- Урок № 2 "Подключение фоторезистора"
- Урок № 3 "Подключение пищалки(BUZZER)
- Урок № 7 "Модуль часов RTC DS3231"
- Урок № 8 - "Шаговый двигатель 28BYJ-48"
- Урок № 10 - "ИК пульт на Ардуино"
- Урок № 11- "Сканер отпечатка пальца"
- Урок № 12- "Датчик наклона SW-200D"
- Урок № 13- "Гирлянда светодиодная WS2812b"
- Книги
- Мой YOUTUBE
servo sg90 Подключение серво и управление с телефона
servo sg90 Подключение серво и управление с телефона
Сегодня мы рассмотрим как управлять сервоприводом, или как его многие называют сервомотором или серводвигателем. Я тоже в видео буду называть их по разному, но надо иметь ввиду, что это одно и тоже. Подключать будем такой распространённый сервомотор SG90.
Для каких-нибудь серьёзных разработок он конечно не подойдёт, а так, поиграться в самый раз.
Давайте посмотрим что мы получим на выходе.
Управление мотором происходит с помощью этого ползунка с экрана монитора или телефона.
Это немного изменённый код из видео про управление яркостью светодиода. Посмотреть его можно вот по этой ссылке. Здесь я не буду повторяться, а расскажу только то что было изменено и только то что касается сервомотора. Если, что вам будет не понятно то смотрите это видео.
Для начала надо просто подключить сервомотором и попробовать поуправлять им. Для этого загружаем скетч из библиотеки SERVO или мой скетч из архива. Ссылка на архив как всегда будет в описании. Библиотеку устанавливать не надо. Так как она идёт в стандартной установке ARDUINO IDE.
Скетч прокомментирован и думаю, что здесь всё понятно. Сначала серво устанавливается по центру, то есть в 90 градусов. Затем через каждые 3 секунды изменяется положение на 45 градусов. Дойдя до конца, до 180 градусов, снова устанавливается в положение ноль и всё начинается сначала.
Я с помощью транспортира нарисовал метки на которых должен будет останавливаться сервомотор. Но то ли мне попались плохие сервы, или они все такие, не знаю, но из 5 штук которые были в наличии у меня ни одна не показала правильные результаты. 0 и 180 градусов это чудо техники не может показать даже если перемещать его руками, да и средние значения он указывает так себе. Может вам повезёт и у вас более качественно собранные сервы. Так что смотрим, что бы у нас просто работал мотор – это показывает что он правильно подключен и можно приступать к следующему этапу.
Здесь мы задаём цикл от 0 до 180 градусов с шагом в 1 градус и паузой в 15 миллисекунд для того чтобы он успел переместиться в новое положение. Так как серво не будет ждать успеет ли переместиться в заданное положение, а начнёт выполнять новую команду. Поэтому надо обязательно дать время на выполнение предыдущей команды.
Дойдя до крайнего положения, мотор, после паузы в 3 секунды начнёт обратных ход.
Давайте посмотрим как это работает. Видим, что серво плавно, без рывков двигается от 0 до 180 градусов. Потом подождав, возвращается на место. Если у вас движение происходит рывками, то это значит у вас не хватает питания и надо подключить отдельное питание на 5 вольт.
У меня есть ещё одно видео, где я подробно рассматриваю два типа серв. Один - это сервы с движением от 0 до 180 градусов, а второй это сервомоторы непрерывного движение. Посмотреть можно здесь.
Изменять скорость движения можно двумя способами.
Первый это уменьшением паузы, а второй – это увеличением количество шагов пройденных за одну итерацию цикла. Увеличим скорость в 10 раз. Датчик стал двигаться быстрее- это сразу стало заметно.
Это происходит потому, что теперь мотор проходит не 180 шагов, а всего лишь 18 и соответственно пауз осталось тоже 18. За счёт этого и происходит увеличение скорости. И положение конечных точек осталось на месте. Всё так же 0 и 180. В следующем примере объясню о чём это я.
Теперь сделаем шаги с интервалом в 50.
Теперь мотор сделает всего лишь 3 шага. Это 0, 50, 100 и 150 в одну сторону.
И 180, 130, 80 и 30 в другую. И как я говорил количество пауз тоже уменьшилось. А ещё теперь мотор не может дойти до своих крайних точек.
Теперь мы знаем, что наш сервомотор работает, и подключен правильно. Можно переходить к управлению через WIFI.
Для этого загрузим второй скетч из архива. Как я уже говорил это почти полная копия скетча из урока про управления яркостью светодиодом. Поэтому я не буду объяснять про то что надо установить библиотеки и как настроить сеть. Куда ввести имя сети и пароль. Если не знаете о чём я, то посмотрите то видео.
Теперь как и обещал подписчикам вкратце расскажу как вывести на страницу слайдер, заголовок и цвет фона.
Здесь мы устанавливаем поддержку русской кодировки.
- Title – отвечает за заголовок страницы.
- Устанавливаем шрифт Arial и выравниваем по центру страницы.
- Размер заголовка делаем вот таким, размер, жирность и цвет цифр-значений вот таким.
- В body устанавливаем ширину и цвет фона.
- Здесь различные настройки для слайдера. Отступы, ширина, высота, цвет фона. Для FIREFOX сделаны отдельные настройки.
Это заголовок 2 уровня.
Эта строка отвечает за отправку значений из слайдера. Оно как и практически всё в Ардуино в диапазоне от 0 до 1023.
Про javascript я рассказывать не буду – это довольно сложно. Скажу только, что эта строчка отвечает за вывод значения на экран. Так как сюда нельзя вставить функцию map, мне пришлось сделать деление на 5.68. Получил я эту цифру разделив 1023 на 180. А это get запрос в который передаётся значение от слайдера и всё это отправляется на сервер.
В setup нам нужно только установить скорость, указать к какому контакту подключена серва и передать в get значение от 0 до 180. Вот здесь мы воспользуемся стандартной Ардуиновской функцией map.
Вот и все настройки. Теперь снова посмотрим как это работает. Уже зная и умея создавать такие сложные страницы.
Если вам интересна эта тема, то я могу снять ещё много видео про сервомоторы и не только.
Объём вашего интереса, я буду оценивать по количеству лайков и комментариев. Чем их будет больше, тем быстрее выйдет новое видео.
Ну, а если вам нравятся мои уроки, то ставьте лайк и делитесь моими видео с другими. Это очень поможет мне в продвижении канала, а меня будет стимулировать выпускать уроки чаще и интереснее.
Вы видите ссылки на видео, которые, я думаю будут вам интересны. Перейдя на любое из этих видео вы узнаете что-то новое, а ещё поможете мне.
Спасибо.
А пока на этом всё. До встречи в новых видео. И ещё раз спасибо за то, что досмотрели до конца.
Пока!!!
Скетчи