Популярные и недорогие WIFI модули ESP8266 можно использовать для создания, на их основе, системы дистанционного управления например самодельными кораблями. В качестве пульта управления для такого корабля можно использовать например смартфон. Дистанционно управляемый кораблик, также как и дистанционно управляемый танк, может иметь простую в реализации систему поворота путем создания ассиметричной тяги с разных сторон т.е. например если мотор с левой стороны корабля работает быстрее чем мотор с правой то корабль поворачивает на право. Если правый быстрее то налево. Моторы можно расположить по бокам и приделать к ним гребные винты или колеса. Т.к. моторы будут работать по воде а не по суше то их не обязательно дополнять редукторами для усиления и снижения оборотов. Для управления моторами можно использовать драйвер l293d или аналогичный (мотор, при этом, должен соответствовать драйверу по мощности т.е. не потреблять больше тока и напряжения чем может выдать драйвер) чтобы драйвер не сгорел. Проверить потребление тока мотором можно соединив его последовательно с амперметром и источником питания. Для драйвера L293D этот ток должен быть не боле 600мА. Для того чтобы WIFI модуль ESP8266 работал без перебоев (например при возникновении большой нагрузки на моторы) и не сгорел при превышении напряжения питания, питание на него следует подавать со стабилизатора напряжения с конденсатором для сглаживания пиков просадки и скачков напряжения. Электрическая схема кораблика, с данным модулем, будет не сложная:
Рисунок 1 - Схема WIFI кораблика
Скетчь также не сложный, он был сделан на основе заготовки описанной в статье https://electe.blogspot.com/2023/08/esp8266-esp32.html
Для того чтобы было удобнее управлять корабликом, применены специальные стили поворачивающие ползунки вертикально.
Один ползунок управляет одним мотором, второй ползунок управляет вторым мотором. Если ползунки не трогать то они находятся по середине и моторы не крутятся. Поднятием ползунка можно крутить мотор в одну сторону со скоростью пропорциональной уровню поднятия. Опусканием крутить в другую сторону со скоростью пропорциональной уровню отпускания. Простого способа сделать один джойстик для двух двигателей стандартными средствами HTML найти не получилось по этому пришлось использовать два ползунка. Так HTML код получается коротким, при желании можно модифицировать код и сделать более удобный орган управления. Однако ползунки всё таки поддерживаются многими браузерами а также работают на смартфонах и для их использования не надо писать много кода поэтому были выбраны они. В скетче есть закомментированные строки для случая если например понадобиться (зачем то) управлять корабликом через роутер, есть строка для задания идентификатора точки доступа без задания пароля а также строка для вывода ip адреса в последовательный порт. IP адрес задается в строкеIPAddress local_IP(192,168,4,22);
После того как скетч загружен в модуль (о том как это сделать (загрузить скетч в модуль (а также настроить среду разработки Arduino IDE)) см. первую статью о модуле ESP8266 https://electe.blogspot.com/2023/06/esp8266-arduino-ide.html) можно подать питание на модуль (3.3В (если это не специальная плата с модулем и специальным стабилизатором для него и выводом для подачи другого напряжения)) и после того как WIFI сервер, на этом модуле, запуститься (что, как правило, происходит быстро) можно будет включить поиск WIFI точек на смартфоне и найти точку с идентификатором который был задан в строке
const char* ssid = "id";
Вместо id можно задать другое название например THE_GREAT_BOT или что в этом роде. Далее чтобы подключиться к точке доступа нужно будет ввести пароль который был указан в строке:
const char *password = "987654321"; // пароль обязательно должен быть длиннее 8ми символов
пароль обязательно должен быть длиннее 8ми символов т.к. иначе программа не заработает. Пароль можно сделать посложнее чтобы потенциальным злоумышленника было сложнее угнать великолепный самодельный игрушечный радиоуправляемый по WIFI кораблик. Далее для доступа к кораблику нужно открыть браузер на смартфоне и ввести в его адресной строке IP адрес кораблика который был указан в строке:
IPAddress local_IP(192,168,4,22);
Номер порта можно не указывать если он 80. После подключения к кораблику должен появиться незамысловатый интерфейс с двумя ползунками для управления. Подробнее про работу скетча можно узнать статьи о шаблоне для ESP8266 по ссылке наверху данной страницы. Тест кораблика можно посмотреть на видео:
testtesttesttestvideohere