Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом руководстве показано, как удаленно управлять некоторыми серводвигателями в сети Wi-Fi, используя обычный интернет-браузер (например, Firefox). Это может быть использовано в нескольких приложениях: игрушки, роботы, дроны, панорамирование / наклон камеры и т. Д.
Двигатели были подключены к Arduino Uno, который соединяет сеть Wi-Fi через модуль ESP-8266. Интерфейс управления был разработан с использованием HTML и jQuery.
Вдохновением для этого послужил учебник Мигеля (https://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/), в котором показано, как включать / выключать светодиоды с помощью ESP-8266. Почта.
Показанная здесь техника используется в одном из моих проектов: «Робо да Алегрия»:
www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/
Вы можете найти больше об этом по одной из следующих ссылок:
hackaday.io/project/12873-rob-da-alegria-joy-robot
www.facebook.com/robodaalegria/
github.com/ferauche/RoboAlegria
Шаг 1. Электроника
Для этого проекта вам понадобятся следующие компоненты:
- Arduino Uno (купить)
- ESP8266 (купить)
- Protoshield (для более компактной версии) или обычный макет (купить)
- Резистор 10 кОм (x3)
- Некоторые перемычки
- Серводвигатель SG90 (x2) (купить)
- Компьютер (для компиляции и загрузки кода Arduino)
Для сборки этого проекта вам не потребуются специальные инструменты. Все компоненты можно найти в Интернете в вашем любимом интернет-магазине. Схема питается от порта USB (подключенного к компьютеру или обычному зарядному устройству для телефона), но вы также можете добавить внешний источник питания постоянного тока или аккумулятор, подключенный к разъему питания Arduino.
Шаг 2: Сборка
Подключите все компоненты согласно схеме. Вам понадобятся перемычки для соединения модуля ESP-8266 и серводвигателей. Вы можете использовать протощит (для более компактной схемы), обычный макет или разработать собственный щит Arduino.
Подключите USB-кабель к плате Arduino Uno и переходите к следующему шагу.
Шаг 3: Код Arduino
Установите последнюю версию Arduino IDE. В этом проекте для управления сервоприводами использовалась библиотека servo.h. Во избежание конфликта между модулем Wi-Fi и USB-портом компьютера во время загрузки кода использовалась библиотека softserial. Никакой дополнительной библиотеки для связи с модулем ESP-8266 не потребовалось. Пожалуйста, проверьте скорость вашего ESP8266 и правильно установите ее в коде.
Некоторые серводвигатели начинают дрожать и издают странные звуки, когда их положение близко к пределу (0 и 180 градусов). Чтобы избежать этого, угол был ограничен от 10 до 170 градусов как в коде Arduino, так и в интерфейсе управления (позже).
К сожалению, библиотеки servo.h и softserial.h используют тот же таймер, что и микроконтроллер. Это может вызвать дрожание в сервоприводах всякий раз, когда Arduino связывается с ESP-8266. Чтобы этого избежать, сервоприводы отключаются от Arduino после каждой команды. Вы также можете подключить модуль к стандартным последовательным контактам. В этом случае не забывайте отключать модуль перед каждой загрузкой.
Загрузите код Arduino (wi-servo.ino) и замените XXXXX на SSID вашего Wi-Fi роутера, а YYYYY на пароль роутера. Подключите плату Arduino к USB-порту компьютера и загрузите код.
Шаг 4: Интерфейс
Интерфейс html был разработан для управления серводвигателями. В этом примере использовались два сервопривода, но к Arduino Uno можно добавить больше (я тестировал до четырех двигателей).
Форма текстового поля используется для ввода IP-адреса модуля ESP.
Загрузите файлы Wi-servo.html и jquere.js и сохраните их в одной папке.
Шаг 5: использование
После перезапуска Arduino попытается автоматически подключиться к вашей сети Wi-Fi. Используйте Serial Monitor, чтобы проверить, было ли соединение успешным, и узнать, какой IP-адрес был назначен вашему ESP-8266 вашим маршрутизатором.
Откройте HTML-файл в интернет-браузере (Firefox).
Сообщите IP-адрес вашего ESP-8266 в текстовом поле, и вы будете готовы к работе. Выберите желаемый угол для каждого сервопривода с помощью ползунков. Браузер автоматически отправит запрос в Arduino, когда вы отпустите кнопку мыши и переместите каждый сервопривод.