Вай фай управление машинкой

Wi-Fi машинка с пультом управления на M5Stack.

Последнее время увлёкся программированием ESP32, ESP8266 на MicroPython, разрабатываю различные проекты. Кроме этого, делаю уроки по программированию ESP32, ESP8266 на MicroPython. И, чтобы закрепить свои знания на практике, решил сделать Wi-Fi машинку с пультом управления на базе M5Stack, конечно же, всё запрограммировав на MicroPython. И для тех, у кого нет M5Stack написал программу для ПК, которая позволяет управлять машинкой.

Если вы считаете данный проект интересным, пожалуйста, поделитесь им, чтобы он мог охватить больше людей, кому это может быть интересно. Спасибо!

Что понадобится для сборки Wi-Fi машинки с пультом управления.

В проекте я буду использовать L293D Shield для платы NodeMCU. Но это у моего шилда не работает драйвер. Это распространённая проблема. По идее L293D Shield можно использовать в проекте без внешнего драйвера, но я буду использовать дополнительный драйвер L298n.

Что понадобится для сборки Wi-Fi машинки с пультом управления.

Что понадобится для проекта:

  • NodeMCU
  • драйвер L298n
  • Робо платфорам.
  • 2 бокса под аккумуляторы формата 16850
  • 2 аккумулятора 16850.

При сборке с рабочим L293D Shield понадобятся следующие материалы.

Если вам повезло, и драйвер на шилде работает как нужно, можно обойтись без внешнего драйвера. В таком случае вам понадобятся:

  • NodeMCU
  • L293D Shield
  • Робо платфорам.
  • 2 бокса под аккумуляторы формата 16850
  • 2 аккумулятора 16850.

Пульт для Wi-Fi машинки.

Пульт для Wi-Fi машинки.

Пульт реализовал на M5Stack Core2. Данное устройство сделано на микроконтроллере ESP32, имеет сенсорный дисплей и аккумулятор для автономной работы. Этот набор свойств пригодится при создании пульта для нашей машинки. Более подробное описание M5Stack Core2 читайте тут.

Запрограммировать пульт можно в среде UIFlow или на MicroPython. Внизу статьи вы можете скачать прошивку пульта управления для UIFlow и MicroPython.

Запрограммировать пульт можно в среде UIFlow или на MicroPython.

Для того чтобы пульт заработал, нужно указать IP- адрес машинки в прошивке. Как узнать IP машинки расскажу далее.

Программируем M5Stack Core2 в Visual Studio Code.

Для удобства программирования M5Stack Core2 на MicroPython я использую редактор Visual Studio Code. Для его настройки нужно установить расширение «vscode-m5stack-mpy».

Для удобства программирования M5Stack Core2 на MicroPython я использую редактор Visual Studio Code.

Внизу программы появится надпись «Add M5Stack», при нажатии на которую откроется выбор порта, к которому подключено устройство.

Внизу программы появится надпись «Add M5Stack», при нажатии на которую откроется выбор порта

Выбираем порт и нажимаем кнопку «Ок».

Выбираем порт и нажимаем кнопку «Ок».

В проводнике появится устройство со всеми доступными файлами на нём. Сейчас можно приступать к написанию программы.

В проводнике появится устройство со всеми доступными файлами на нём.

Дизайн можно сделать в UIFlow, скопировав полученный код. А остальной код написать на MicroPython в Visual Studio Code.

Дизайн можно сделать в UIFlow, скопировав полученный код. А остальной код написать на MicroPython в Visual Studio Code.

Сохраняем программу и проверяем, как всё работает. После этого можно приступить к сборке машинки.

Схема подключения Wi-Fi машинки на ESP8266.

Если вы планируете использовать внешний драйвер, например L298n, подключить электронику в таком случае нужно по схеме, приведённой ниже.

Читайте также:  Создал точку доступа wi fi интернета нет

Схема подключения Wi-Fi машинки на ESP8266.

А при использовании L293D Shield схема подключения будет выглядеть вот таким образом.

А при использовании L293D Shield схема подключения будет выглядеть вот таким образом.

Как видим, с Shield подключение проще и меньше проводов, но, как я уже говорил, данные шилды бывают бракованные и драйвер не работает. Обратите на это внимание!

Так как программа будет написана на MicroPython, её можно установить и на ESP32, прописав правильно пины подключения. Схему отдельно рисовать не буду. Надеюсь, что смысл понятен и вы без проблем при необходимости всё подключите.

Программа для Wi-Fi машины на MicroPython.

Скачать код Wi-Fi машины на MicroPython можно внизу статьи в разделе «Файлы для скачивания».

Чтобы загрузить код на ESP8266, нужно установить прошивку для вашей платы. А также установить Thonny Python IDE. Подробнее как это сделать, можно узнать в уроке MicroPython Windows. Установка и настройка IDE .

Скачать код Wi-Fi машины на MicroPython

В коде нужно указать логин и пароль для подключения к вашей Wi-Fi сети. После чего загружаем код на ESP8266. Чтобы программа запускалась при следующей подаче питания на устройство, нужно сохранить её под именем «main.py». Почему именно так и как это устроено рассказываю в уроке № 2.

После загрузки кода, в терминале вы увидите IP- адрес вашей машинки.

После загрузки кода, в терминале вы увидите IP- адрес вашей машинки. Его нужно указать в программе для пульта управления.

В связи с тем, что в среде разработки UIFlow можно указать GET запрос только текстом. Без возможности использовать переменные. IP машинки придётся указывать в каждом запросе. Соответственно, нужно будет прописать ваш IP 8 раз.

В связи с тем, что в среде разработки UIFlow можно указать GET запрос только текстом

В программе на MicroPython гораздо всё проще. Указать URL нужно только в переменной «url_car«.

Программа управления Wi-Fi машинкой с компьютера.

Так как M5Stack Core2 есть не у каждого, я решил написать программу для компьютера. Чтобы проверить работоспособность Wi-Fi машинки смог каждый желающий. В программе нужно также указать IP машинки в переменной url_car = «192.168.1.10».

Программа управления Wi-Fi машинкой с компьютера.

Так как это моя первая программ на Python для ПК, она не отличается красивым интерфейсом. Также я не успел её запаковать в исполняемый файл .exe. Возможно, добавлю его к статье, поэтому не забудьте добавить сайт в закладки.

Программа управления Wi-Fi машинкой с компьютера.

Запустить программу можно из файла «Car_PC_test.py». НО нужно установить Python 3 и все необходимые модули. Для создания интерфейса я использовал модули «kivy» и «kivymd».

Запустить программу можно из файла «Car_PC_test.py».

В программе PyCharm зависимости устанавливать очень легко. При подсвечивании библиотеки красным цветом наводим на неё курсор мыши, после чего появляется надпись о том, что нужно установить зависимость. Кликаем по ссылке, и модуль устанавливается самостоятельно, без ввода команд через терминал. С помощью PyCharm можно запустить программу, нажав правой кнопкой мыши на файл с кодом и выбрать «Run Car_PC_test.py».

С помощью PyCharm можно запустить программу, нажав правой кнопкой мыши на файл с кодом и выбрать «Run Car_PC_test.py»

Также вы можете всё сделать через терминал. Как установить модули «kivy» и «kivymd» написано на официальном сайте. Для запуска файла открываем терминал в папке с файлом «Car_PC_test.py». Для этого кликам правой кнопкой мыши и выбираем «Открыть окно команд».

Для этого кликам правой кнопкой мыши и выбираем «Открыть окно команд».

Вводим команду «python Car_PC_test.py», где Car_PC_test — это имя файла Python.

Читайте также:  Драйвера wifi usb dongle

Вводим команду «python Car_PC_test.py», где Car_PC_test — это имя файла Python.

Программа запустится, и вы сможете управлять машинкой с ПК.

Программа запустится, и вы сможете управлять машинкой с ПК.

Пример управления машинкой с пульта управления.

Пришло время проверить проделанную работу. Включаем машинку. На дисплее пульта в правом нижнем углу есть надпись, которая указывает процент зарядки аккумулятора.

На дисплее пульта в правом нижнем углу есть надпись, которая указывает процент зарядки аккумулятора.

А также на дисплее располагаются 4 большие кнопки, которые помогают управлять машинкой. Функционал достаточно простой. Машинка едет, пока нажата кнопка «Вперёд». При отпускании кнопки машинка останавливается.

 Функционал достаточно простой. Машинка едет, пока нажата кнопка «Вперёд». При отпускании кнопки машинка останавливается.

Если нажать поворот, машинка поворачивается до тех пор, пока мы удерживаем кнопку. Если отпустить, то машинка останавливается. Аналогичным образом работают и остальные кнопки пульта.

Если нажать поворот, машинка поворачивается до тех пор, пока мы удерживаем кнопку.

Управлять достаточно комфортно. У меня ребёнок играл машинкой несколько дней, не выпуская пульт из рук. Так же его друзья, когда приходили в гости, оценили Wi-Fi машинку.

Управление машинкой с ПК.

Пульт управления 5х5 см. Это гораздо удобнее, чем управление с компьютера. Но данная программа пригодится для тестирования, если у вас нет в наличии M5Stack Core2. А я на данном примере начал изучать написание программ для ПК на Python, хотя используемые библиотеки подходят и для создания мобильных приложений, но это уже совсем другая история.

Управление машинкой с ПК.

Понравилс я проект Wi-Fi машинка с пультом управления на M5Stack ? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

car wifi

wifi машинка

машинка на wifi управлении

машинка на wifi esp8266

wifi машинка esp32

wifi в машину купить

wifi машина

micropython проекты

Admin (27 февраля, 2022 в 20:42)

Управляемая машина имеет полный привод и передние поворотные колеса. Т.е. 1 мотор приводит в движение задние колеса, 1 мотор передние, 1
поворачивает передние колеса. Подскажите, пожалуйста, как лучше
подключить три мотора и возможно ли это в данной схеме?

Гость: Никита (7 февраля, 2022 в 15:11)

Управляемая машина имеет полный привод и передние поворотные колеса. Т.е. 1 мотор приводит в движение задние колеса, 1 мотор передние, 1 поворачивает передние колеса. Подскажите, пожалуйста, как лучше подключить три мотора и возможно ли это в данной схеме?

Источник

Машинка 4×4 на Arduino с управлением по WiFi с Android

Машинка 4x4

RC машинка может быть WiFi машинкой . RC машинка это хорошо, но дешевые RC машинки имеют ограниченный диапазон и управляются только определённым пультом поставляемым в комплекте. Я купил RC джип 4х4 с гибкой подвеской и внедорожными шинами примерно за 30 долларов. Поигравшись с машинкой я решил, что её можно улучшить при помощи Wi-Fi и Android. Потратив немного времени, я полностью удалил плату из машинки. Я замерял напряжения на этой плате и разработал систему управления двигателем при помощи Arduino. Оригинальная система управления не использует ШИМ для контроля скорости. Машинка рассчитана на переезд через препятствия на очень низкой передаче, и как следствие очень медленно. В моей же схеме используется ШИМ. Я использую Arduino уже несколько месяцев. Я также приобрел asynclabs WiFi Sheild для Duemilanoe Arduino, чтобы экспериментировать с WiFI. Он поставляется с библиотекой, устанавливаемой в Arduino IDE. Я смог сделать программу, которая позволяет управлять двигателями и направлением движения при помощи WiFi. При помощи Visual Studio я разработал окно программы, которая подключается к серверу автомобиля и дает ему команды. Затем после нескольких попыток я написал приложение для Android, которое использует акселерометр для управления машинкой.

Читайте также:  Wifi amazfit gtr 2

Инструменты и элементы

Это общий список инструментов и элементов, которые использовались в этом проекте. В документации Eagle указаны точные технические характеристики используемых компонентов. Arduino, Wi-Fi шилд и Motor шилдМультиметр
Паяльник
Припой
Отвертки
Раствор для травления плат
Фольгированый стеклотекстолит
Плоскогубцы
Arduino
AsyncLabs WiFi Sheild
Разъёмы RJ45
Драйвер двигателя с H-мостом
Конденсаторы Сэндвич из Arduino, Wi-Fi шилд и Motor шилд

Драйвер двигателей

Схема драйвера двигателей (мотор шилд)

Используя Eagle, я разработал эту схему и сделал печатную плату для неё. Она функционирует как драйвер двигателей и регулятор их мощности для Arduino.
Это позволяет использовать стандартный 7.2В аккумулятор для питания основных и рулевых двигателей и Arduino. В этой схеме используется двойной интегральный драйвер с Н-мостом SN754410 для управления двигателями. Выводы управления драйвера подсоединены к кабелю RJ45, который подключается к AsyncLabs WiFi Sheild.

Arduino Shield

Схема Arduino Shield

Используя библиотеку SparkFun в Eagle я разработал Arduino Shield, через который будут проходить контакты с WiFi Shield и подключаться к драйверу двигателя через разъем RJ45 и 2 винтовые клеммы. Цоколевка контактов RJ45 очень важна. Ошибка в подключении может привести к непредсказуемым результатам и придётся переделывать плату.

Травление печатных плат

Эта тема была раскрыта много раз, и я не буду подробно описывать её.
Я использую ЛУТ, и он меня устраивает, а с опытом дает прекрасные результаты.

Размещение электроники

Размещение электроники

Для крепления платы к корпусу использовались липучки. Мне повезло, т.к. в моей машинке было много места для электроники под трубчатым каркасом.
Я забыл сфотографировать соединение платы драйвера двигателя с остальными платами, однако он хорошо стал и не занял много места в корпусе.

Программа

Программа в Windows

Мой код может быть не достаточно эффективен, но он работает. Машинка Мне удалось собрать CarServer на основе примера SocketServer, который я получил вместе с Wifi Sheild AsynLabs.
Вам необходимо будет ввести информацию о своей беспроводной сети в код Arduino. Когда машина включилась, дайте ей 15-45 секунд, чтобы установить соединение с маршрутизатором. Красный светодиод на WiFi Shield означает, что соединение установлено. Программа в Windows Я сделал эту программу при помощи C # и MS Visual Studio 2008. Я сделал хорошее окно, и автомобилем можно управлять стрелочками. Android Почему бы не управлять машинкой с телефона? Такая мысль появилась у меня примерно через неделю после покупки DroidX. Я начал экспериментировать и в конечном итоге использовал Android SDK. Я нашел аналогичные приложения, где для управления используется акселерометр. Смотря на эти приложения написал свое. Вставить IP и порт, указанные в коде Arduino. Держите телефон горизонтально. Затем наклоните его от себя, чтобы ехать вперед и на себя, чтобы ехать назад. Используйте телефон как руль.
Это мое первое крупное приложение для Android. В нем до сих пор есть некоторые ошибки, но в основном оно работает нормально.

Рулите во дворе машинкой 4×4 с WiFi!

Машинка 4x4 с Wi-Fi

Я отлично провел время, создавая этот проект. Я получил много знаний и новых навыков, и теперь у меня есть машинка 4х4, которой можно управлять с телефона. Мне нужна камера для установки за лобовым стеклом, чтобы смотреть куда ехать. Она должна быть с низким энергопотреблением, а также передавать видео сама по себе. (Я думаю, что Arduino справится с этим).

Список радиоэлементов

Прикрепленные файлы:

Источник

Оцените статью
Adblock
detector