Оглавление:

4-колесный робот, управляемый Wi-Fi: 6 шагов
4-колесный робот, управляемый Wi-Fi: 6 шагов

Видео: 4-колесный робот, управляемый Wi-Fi: 6 шагов

Видео: 4-колесный робот, управляемый Wi-Fi: 6 шагов
Видео: 📷Wi-Fi машинка с камерой своими руками 2024, Ноябрь
Anonim
4-колесный робот, управляемый Wi-Fi
4-колесный робот, управляемый Wi-Fi

Для этого проекта мы будем разрабатывать 4-колесного робота на ESP8266, который будет управляться через сеть Wi-Fi. Роботом можно управлять из обычного интернет-браузера, с помощью интерфейса, разработанного в формате HTML, или из мобильного приложения для Android. Чип ESP8266 - это мощный и дешевый микроконтроллер, который не только прост в использовании, но и имеет встроенное соединение Wi-Fi. Это просто идеальный чип для удаленного управления роботами с вашего компьютера или мобильного устройства.

Чтобы включить этот чип в наш проект, мы можем использовать различные отладочные платы на основе этого микроконтроллера.

1. Adafruit Feather Huzzah - он сделан Adafruit и имеет легко доступные инструкции и поддержку. Зарядное устройство для литий-полимерных аккумуляторов находится на самой плате, поэтому в портативных проектах оно очень пригодится.

2. NodeMCU ESP8266 - плата с открытым исходным кодом и отличной документацией, поэтому приступить к работе будет очень легко.

3. Sparkfun ESP8266 - он похож на Huzzah с добавлением переключателя питания и внешней антенны для увеличения диапазона Wi-Fi.

4. Wemos D1 Mini - это самая маленькая из плат, но это не влияет на производительность.

В своем проекте я использую Wemos D1 Mini для создания 4-колесного робота, управляемого через Wi-Fi. Но вы можете использовать любую плату разработки ESP8266 и использовать тот же код Arduino без каких-либо изменений. Я разработал печатную плату для этого проекта, но вы можете использовать плату с точечной печатной платой для реализации схемы или даже спроектировать свою собственную печатную плату.

И мы будем использовать комплект 4WD Robotic Chassis Kit, как показано на изображении выше, поскольку он идеально подходит для DIY и является наиболее экономичным автомобильным комплектом для роботов с простой механической структурой.

Особенности этого комплекта: -

1. Поставляется с четырьмя отдельными пластиковыми моторами BO с коробкой передач, что обеспечивает хорошую маневренность.

2. Большое и прочное акриловое шасси позволяет легко расширять его до DIY.

3. Комплект шасси автомобиля с полным приводом. Очень легко установить, просто добавьте микроконтроллер (например, Arduino) и сенсорные модули, чтобы создать полностью автономного робота.

Шаг 1: Список компонентов

Список компонентов
Список компонентов
Список компонентов
Список компонентов
Список компонентов
Список компонентов

Wemos D1 Mini [Количество - 1]

ИС драйвера двигателя L293d [Количество - 2]

ИС расширителя портов PCF8574 [Количество - 1]

Литий-ионный аккумулятор 12 В [Количество - 1]

Плата робота, управляемая Wi-Fi [Количество - 1]

Комплект шасси для интеллектуального автомобиля 4WD Robot [Количество - 1]

Шаг 2. Суть проекта - плата разработки ESP8266 (Wemos D1 Mini)

Мозг проекта - Совет по разработке ESP8266 (Wemos D1 Mini)
Мозг проекта - Совет по разработке ESP8266 (Wemos D1 Mini)

Wemos D1 Mini - это мини-плата для разработки Wi-Fi с 4 МБ флэш-памяти на базе чипа ESP-8266.

  • Имеет 11 цифровых входов / выходов, все контакты поддерживают прерывание / шим / I2C / однопроводное соединение (кроме D0)
  • Имеет 1 аналоговый вход (макс. Вход 3,2 В)
  • Имеет разъем Micro USB для программирования, а также источник питания.

Эта плата основана на ESP8266, следовательно, совместима с Arduino IDE, поэтому ее можно программировать с помощью Arduino или также можно программировать с помощью компилятора Lua. Он также поддерживает как последовательное, так и OTA программирование.

Мы будем программировать Wemos D1 Mini с помощью Arduino IDE. Для программирования платы с использованием Arduino IDE необходимо выполнить следующие требования.

Требование: -

  • Драйвер CH340G
  • Установите последнюю версию Arduino IDE с веб-сайта Arduino.
  • Кабель micro usb для программирования

После установки драйвера и программного обеспечения Arduino вам необходимо установить «ядро Arduino для чипа ESP8266 WiFi» внутри Arduino IDE, чтобы мы могли программировать чип ESP8266 из среды Arduino. Это ядро ESP8266 Arduino позволяет писать скетчи, используя знакомые функции и библиотеки Arduino, и запускать их непосредственно на ESP8266, без внешнего микроконтроллера.

Ядро ESP8266 Arduino поставляется с библиотеками для связи через WiFi с использованием TCP и UDP, настройки HTTP, mDNS, SSDP и DNS-серверов, выполнения обновлений OTA, использования файловой системы во флеш-памяти, работы с SD-картами, сервоприводами, периферийными устройствами SPI и I2C..

Загрузите следующий документ, чтобы получить представление о том, как установить ядро Arduino Esp8266.

Шаг 3: Драйвер двигателя - L293d

Драйвер двигателя - L293d
Драйвер двигателя - L293d
Драйвер двигателя - L293d
Драйвер двигателя - L293d
Драйвер двигателя - L293d
Драйвер двигателя - L293d

Motor Driver - это интегральная схема для двигателей, которая позволяет вам управлять рабочей скоростью и направлением двух двигателей одновременно.

L293d предназначен для обеспечения двунаправленных приводных токов при напряжении от 5 В до 36 В. L293D может одновременно управлять двумя двигателями постоянного тока.

L293D - это 16-контактная микросхема драйвера двигателя. Для каждого двигателя имеется 4 контакта INPUT, 4 контакта OUTPUT и 2 контакта ENABLE.

L293D Особенности:

Выходной ток 600 мА на канал

Управление направлением по часовой и против часовой стрелки для отдельных каналов

Описание контактов L293d:

  • Контакт 1: когда Enable1 находится в HIGH, левая часть IC будет работать, то есть двигатель, подключенный к контакту 3 и контакту 6, будет вращаться.
  • Контакт 2: Вход 1, когда этот контакт ВЫСОКИЙ, ток будет течь через выход 1.
  • Контакт 3: Выход 1, этот контакт подключен к одной клемме двигателя.
  • Контакт 4/5: контакты GND
  • Контакт 6: выход 2, этот контакт подключен к одной клемме двигателя.
  • Контакт 7: вход 2, когда этот контакт ВЫСОКИЙ, ток будет проходить через выход 2.
  • Контакт 8: VCC2, этот контакт используется для подачи питания на подключенные двигатели с максимальным напряжением от 5 В до 36 В в зависимости от подключенного двигателя.
  • Контакт 9: Когда Разрешение 2 - ВЫСОКОЕ, правая часть ИС будет работать, то есть двигатель, подключенный к контакту 11 и контакту 14, будет вращаться.
  • Контакт 10: вход 4, когда этот контакт ВЫСОКИЙ, ток будет проходить через выход 4.
  • Контакт 11: Выход 4, этот контакт подключен к одной клемме двигателя.
  • Контакт 12/13: контакты GND
  • Контакт 14: Выход 3, этот контакт подключен к одной клемме двигателя.
  • Контакт 15: вход 3, когда этот контакт ВЫСОКИЙ, ток будет проходить через выход 3.
  • Контакт 16: VCC1, для питания логики IC, например, 5 В.

Таким образом, вы можете видеть, что вам требуются 3 цифровых контакта для управления каждым двигателем (один контакт для управления скоростью и два контакта для управления направлением). Если один L293d управляет двумя двигателями постоянного тока, нам потребуются две микросхемы L293d для управления четырьмя двигателями постоянного тока. Мы собираемся использовать для этого проекта пластиковые BO Motors. Таким образом, вы видите, что нам потребуется 12 цифровых выводов для независимого управления всеми четырьмя двигателями постоянного тока с управлением скоростью и направлением.

Но если вы видите, что Wemos D1 mini имеет только 11 контактов цифрового ввода / вывода и 1 аналоговый контакт. Чтобы решить эту проблему, мы собираемся подключить четыре контакта включения (два контакта включения первого L293d и два контакта включения другого L293d) к контактам Wemos Digital напрямую, в то время как все восемь входных контактов (четыре первых L293d и четыре других L293d) с использованием PCF8574 (расширитель портов ввода / вывода) через I2C.

Шаг 4: PCF8574 - расширитель портов ввода / вывода

PCF8574 - расширитель портов ввода / вывода
PCF8574 - расширитель портов ввода / вывода
PCF8574 - расширитель портов ввода / вывода
PCF8574 - расширитель портов ввода / вывода

Wemos D1 Mini (например, ESP8266) имеет нехватку входных / выходных контактов. Мы можем увеличить количество цифровых входов / выходов, используя ИС расширителя ввода / вывода, например PCF8574, который представляет собой 8-битный расширитель ввода / вывода.

Одним из преимуществ использования расширителя ввода / вывода PCF8574A является то, что он использует шину I2C, для которой требуется только две линии данных, это часы (SCK) и данные (SDA). Таким образом, с помощью этих двух линий вы можете контролировать до восьми выводов одного и того же чипа. Изменяя три адресных контакта каждого PCF8574, мы можем управлять 64 контактами.

Этот 8-битный расширитель ввода / вывода для двухполюсной двунаправленной шины (I2C) предназначен для работы от 2,5 В до 6 В VCC. Устройство PCF8574 обеспечивает универсальное расширение удаленного ввода-вывода для большинства семейств микроконтроллеров посредством интерфейса I2C [последовательные часы (SCL), последовательные данные (SDA)].

Устройство оснащено 8-битным квазидвунаправленным портом ввода-вывода (P0 – P7), включая выходы с защелкой и возможностью сильноточного возбуждения для прямого управления светодиодами. Каждый квазидвунаправленный ввод / вывод может использоваться как ввод или вывод без использования управляющего сигнала направления данных. При включении уровень входов / выходов высокий.

См. Ниже pdf-файл "PCF8574_With_L293d", где представлена схема соединения PCF8574 с двумя ИС L293d.

Шаг 5: схемы

Схемы
Схемы
Схемы
Схемы

Я использовал Kicad для проектирования печатных плат.

Загрузите приведенную ниже схему в формате pdf, чтобы спроектировать свою собственную печатную плату или реализовать ее на плате с точечной печатной платой.

Шаг 6: Код

Подключитесь к следующей точке доступа Wi-Fi: -

// Пользовательские сетевые учетные данныеconst char * ssid = "WiFi_Robot";

const char * password = "Автоматизировать @ 111";

После подключения к указанной выше точке доступа перейдите по ссылке ниже в веб-браузере: -

192.168.4.1

Вы получите следующее сообщение: -

"привет от робота!"

192.168.4.1/fw

Это заставит робота двигаться вперед

192.168.4.1/bk

Это заставит робота двигаться назад

192.168.4.1/lt

Это заставит робота двигаться влево

192.168.4.1/rt

Это заставит робота двигаться вправо

192.168.4.1/st

Это заставит робота остановиться

При желании вы также можете управлять роботом через приложение для Android от Robo India.

{Найдите приложение для Android "WiFi Robot Controller" в магазине игр от Robo India}

[Примечание: я никак не связан с Robo India, и это не для рекламы, это мой личный проект!]

Рабочее видео проекта: -

Рекомендуемые: