пятница, 20 октября 2023 г.

WIFI кораблик

Популярные и недорогие 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

Тема радиоуправления является весьма интересной и востребованной однако существует множество других интересных и востребованных тем связанных с электроникой, затронутых в данном блоге. Это например: машинное зрение, бесколлекторные моторы и их контроллеры, сварочные аппараты, аппарат наплавления, 3д сканер, 3д принтер и д.р. ЧПУ станки, всевозможные роботы (напр. BEAM роботы или роботы на ардуине, распберри и т.д.), уроки по микроконтроллерам, металлоискатель, гаусган, бесплатная энергия, всевозможные варианты дистанционного управления по средствам звука, света и т.д. и многое другое. Принять участие в выборе приоритетной темы предлагается посредством криптодонатинга. Для этого нужно прислать некоторое количество сатошей по адресу:

bc1qlhrmmkh77x2lzhqe4lt9qwkglswj64tsqt2l5g

После чего прислать название темы + номер транзакции или номер отправителя например в сообщении к данной статье, в комментарии на ютуб канале или на почту: freedms@yandex.ru. Можно также, для этого, воспользоваться группой вконтакте или сообщением. Те темы которые будут набирать больше сатошей будут более приоритетными. Темы естественно д.б. по тематике блога и реально реализуемыми т.е. например космический корабль вряд ли будет реализован, в рамках данного блога, максимум что можно сделать по теме космического корабля - это словесно описать то как его можно было бы реализовать при наличии достаточного количества ресурсов и др. возможностей по его созданию. Проверка самодельного космического корабля на практике естественно не будет осуществлена, если конечно для этого не будет прислано достаточно сатошей в донате. Сатоши могут быть добыты различными способами. Например обменяны на другие валюты или товары, намайнены или добыты с биткоин кранов. Хотя последний вариант наименее прибыльный из всех, всё же он может сработать если желающих делать донаты будет мало или не будет совсем т.к. даже одна сатоша больше чем ноль сатош. При использовании биткоина важно соблюдать меры предосторожности. По возможности использовать холодные кошелки и ни в коем случае не забывать пароль от кошелька (лучше записать его на некотором количестве разных мест) т.к. надежность криптоалгоритмов биткоина очень высока.