Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Робот-ровер FPV, управляемый Wi-Fi (с Arduino и ESP8266)

Компоненты и расходные материалы

Arduino UNO
× 1
Arduino Proto Shield
× 1
Espressif ESP8266 ESP-01
× 1
28BYJ Шаговый двигатель
× 2
Драйвер шагового двигателя ULN2003
× 1
Android-устройство
× 1
Резистор 1 кОм
× 1
Резистор 100 кОм
× 2
Внешний аккумулятор
× 1
колеса 42x19 мм с резиновым протектором шины
× 2
омни-колесо со стальным шариком 49x20x32 мм
× 1
Болты M2 x 10 мм
× 12
Гайки M2 x 1,5 мм
× 12
Болты M3 x 10 мм
× 8
Гайки M3 x 1,5 мм
× 8
5/32 болтов "x 1"
× 3
5/32 "орехов
× 6
Ручной зажим для селфи-палки
× 1
алюминиевый кронштейн 3 x 3 см
× 2
акриловый лист толщиной 2 мм
× 1

Необходимые инструменты и машины

Сверлильный станок
Ручная пила

Приложения и онлайн-сервисы

IP-веб-камера
Autodesk Fusion 360
Draftsight
IDE Arduino
Блокнот ++

Об этом проекте

В этом руководстве показано, как создать дистанционно управляемый двухколесный робот-вездеход по сети Wi-Fi, используя Arduino Uno, подключенный к модулю Wi-Fi ESP8266 и двум шаговым двигателям. Роботом можно управлять из обычного интернет-браузера с помощью интерфейса, разработанного в формате HTML. Смартфон Android используется для трансляции видео и аудио с робота на интерфейс управления оператора.

В Интернете доступно множество роботизированных комплектов различных форм, размеров и цен. Но, в зависимости от вашего приложения, ни один из них не подойдет, и вы можете обнаружить, что они слишком дороги для ваших экспериментов. Или, может быть, вы просто хотите создать свою механическую конструкцию вместо того, чтобы покупать полную. В этом уроке также показано, как спроектировать и построить недорогую акриловую раму для вашего собственного роботизированного проекта, используя обычные инструменты для тех, у кого нет доступ к этим дорогим 3D-принтерам или лазерным резакам. Представлена ​​простая роботизированная платформа.

Это руководство может быть адаптировано для изменения его формы или интерфейса управления. Он был адаптирован для других моих роботизированных проектов («Робо да Алегрия»), которые вы можете проверить по ссылкам ниже:

https://hackaday.io/project/12873-rob-da-alegria -...

https://github.com/ferauche/RoboAlegria

https://hackaday.io/project/12873-rob-da-alegria -...

[Предупреждение:некоторые фотографии устарели, потому что дизайн был улучшен. Однако представленная здесь идея все еще актуальна.]

Шаг 1. Инструменты

Для создания этого прототипа необходимы следующие инструменты:

  • Ручная пила (для начального распила акрилового листа)
  • Отвертка (для установки болтов и гаек)
  • Линейка (для измерения размеров)
  • Универсальный нож (для резки акрилового листа)
  • Сверлильный станок (для создания отверстий под болты)
  • Наждачная бумага (для сглаживания острых краев)

Шаг 2. Механическая конструкция и материалы

Чтобы построить собственного робота, сначала вам нужно спроектировать свою механическую структуру. Это может быть легко, в зависимости от вашего приложения, или полно деталей и ограничений. Возможно, вам потребуется спроектировать его в программе 3D CAD или просто нарисовать в 2D, в зависимости от сложности вашей модели.

Вы также можете купить полную конструкцию в Интернете, если не хотите строить собственную механическую конструкцию. В Интернете доступно множество роботизированных комплектов. В этом случае вы можете перейти к шагу 6. ​​

Для этого урока была разработана недорогая акриловая рама для крепления двигателей и других компонентов. Структура, представленная в этом руководстве, была спроектирована в 3D с использованием программного обеспечения 123D Design CAD. Позже каждая деталь была преобразована в 2D с помощью программного обеспечения Draftsight.

Были использованы следующие материалы:

  • акриловый лист толщиной 2 мм.
  • Колеса 42x19 мм с резиновым протектором (2 шт.)
  • Омни-колесо со стальными шариками размером 49x20x32 мм (1 шт.)
  • Болты M2 x 10 мм (x12)
  • Гайки M2 x 1,5 мм (x12)
  • Болты M3 x 10 мм (x8)
  • Гайки M3 x 1,5 мм (x8)
  • Болты 5/32 "x 1" (x3)
  • 5/32 "гайки (x6)
  • Ручная клипса для селфи-палки.
  • Алюминиевый кронштейн 3 x 3 см (4 шт.)

Возведение конструкции основания делится на следующие этапы:

  • Вырежьте акриловую основу в соответствии с размерами на 2D-чертеже;
  • Просверлите отверстия в местах, показанных на 2D-чертеже;
  • Закрепите компоненты болтами и гайками в соответствии с трехмерным чертежом.

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

FMAR9JBITKJE83H.123dx F21RD24ITKJE8AJ.dwg FPTGSODITKJE8AN.pdf

Шаг 3. Вырезание конструкции

Сначала вам нужно перенести размеры вашей модели на акриловый лист. Распечатайте свой 2D-рисунок на обычном принтере на клейкой бумаге, затем вырежьте бумагу подходящего размера и нанесите маску на поверхность акрила.

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

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

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

Шаг 4:сверление основания

Просверлите отверстия в положениях, показанных на двухмерном чертеже (обозначенном в маске), с помощью сверлильного станка.

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

Снимите маску, и ваша база будет готова.

Шаг 5:Сборка конструкции

Закрепите компоненты болтами и гайками в соответствии с изображениями, и ваша конструкция будет готова к работе.

Болты M3 используются для установки шаговых двигателей, а болты 5/32 "- для установки переднего колеса и зажима для смартфона.

Теперь сделайте перерыв и начните разбирать схему на следующем этапе ...

Шаг 6. Электроника

Вам потребуются следующие электронные компоненты:

  • Arduino Uno (купить)
  • ESP8266 (купить)
  • Protoshield (для более компактной версии) или обычный макет (купить)
  • Резистор 1 кОм (x2)
  • резистор 10 кОм (x1)
  • Несколько перемычек
  • Шаговый двигатель с драйвером ULN2003 (x2) (покупка / покупка)
  • Компьютер (для компиляции и загрузки кода Arduino)
  • Power bank (купить)
  • USB-кабель

Для сборки схемы вам не понадобятся специальные инструменты. Все компоненты можно найти в Интернете в вашем любимом интернет-магазине. Схема питается от блока питания, подключенного к USB-порту Arduino.

Соедините все компоненты согласно схеме. Вам понадобятся перемычки для соединения модуля ESP-8266 и шаговых двигателей. Вы можете использовать протощиток (для более компактной схемы), обычную макетную плату или спроектировать собственный экран Arduino. Подключите USB-кабель к плате Arduino Uno и переходите к следующему шагу.

Шаг 7. Код Arduino

Установите последнюю версию Arduino IDE. В этом проекте для управления шаговыми двигателями использовалась библиотека stepper.h. Никакой дополнительной библиотеки для связи с модулем ESP-8266 не потребовалось. Пожалуйста, проверьте скорость передачи вашего ESP8266 и правильно установите ее в коде.

Загрузите код Arduino (stepperRobot.ino) и замените XXXXX на SSID вашего Wi-Fi роутера, а YYYYY на пароль роутера. Подключите плату Arduino к USB-порту компьютера и загрузите код.

FG1K5KJITKJFW2R.ino

Шаг 8. IP-камера Android

Смартфон Android использовался для трансляции видео и звука с робота на интерфейс управления. Вы можете найти приложение в магазине Google Play (https://play.google.com/store/apps/details?id=com.pas.webcam).

Установите его и переходите к следующему шагу.

Шаг 9. Вставьте схемы в робота

Установите схемы в верхней части робота, используя несколько болтов M1, как показано на изображениях.

После этого приклейте блок питания к задней части робота с помощью двустороннего скотча (потому что позже его легко удалить) и вставьте свой смартфон в зажим.

Шаг 10:веб-интерфейс управления

Для управления роботом был разработан HTML-интерфейс.

Загрузите interface.rar и распакуйте все файлы в заданную папку. Затем откройте его в Firefox.

В этом интерфейсе используется форма текстового поля для ввода IP-адресов модуля ESP и видео / аудиосервера (из приложения Android IP Webcam).

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

FQTAWF5ITKJFW4O.rar

Шаг 11. Использование

После перезапуска Arduino попытается автоматически подключиться к вашей сети Wi-Fi. Используйте Serial Monitor, чтобы проверить, было ли соединение успешным, и узнать, какой IP-адрес был назначен вашему ESP-8266 вашим маршрутизатором. Откройте html-файл в интернет-браузере (Firefox) и укажите этот IP-адрес в текстовом поле.

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

Отключите Arduino Uno от компьютера и подключите его к блоку питания. Подождите, пока он снова подключится.

Запустите приложение IP Webcam на смартфоне, подключенном к роботу. Введите IP-адрес видео / аудио в интерфейсе управления и подключитесь к серверу, и все будет готово. Возможно, вам придется уменьшить разрешение видео в приложении, чтобы уменьшить задержку между передачами.

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

Код

  • Ардуино
  • интерфейс управления html
Arduino Arduino
Код Arduino.
 // подключаем библиотеки # include  #include  SoftwareSerial esp8266 (3, 2); // RX pin =3, TX pin =2 // определение переменных # define DEBUG true // показ сообщений между ESP8266 и Arduino в последовательном порту const int stepsPerRevolution =500; int state =5; Stepper rightStepper (stepsPerRevolution, 8,10, 9,11); Stepper leftStepper (stepsPerRevolution, 4,6,5,7); // ***** // НАСТРОЙКА // ***** void setup () {// запускаем связь Serial.begin (9600 ); esp8266.begin (19200); sendData ("AT + RST \ r \ n", 2000, ОТЛАДКА); // сбросить модуль sendData ("AT + CWMODE =1 \ r \ n", 1000, DEBUG); // установить режим станции sendData ("AT + CWJAP =\" XXXXX \ ", \" YYYYY \ "\ r \ n", 2000, DEBUG); // подключаемся к сети Wi-Fi while (! esp8266.find ("OK")) {// ждем подключения} sendData ("AT + CIFSR \ r \ n", 1000, DEBUG); // показать IP-адрес sendData ("AT + CIPMUX =1 \ r \ n", 1000, DEBUG); // разрешить несколько подключений sendData ("AT + CIPSERVER =1,80 \ r \ n", 1000, DEBUG); // запускаем веб-сервер на 80-м порту // Определение скорости двигателя rightStepper.setSpeed ​​(60); leftStepper.setSpeed ​​(60); } void loop () {if (esp8266.available ()) // проверка входящих данных {if (esp8266.find ("+ IPD,")) // наличие сообщения {String msg; esp8266.find ("?"); // ищем сообщение msg =esp8266.readStringUntil (''); // читать все сообщение String command =msg.substring (0, 3); // первые 3 символа =команда String valueStr =msg.substring (4); // следующие 3 символа =значение int value =valueStr.toInt (); если (ОТЛАДКА) {Serial.println (команда); Serial.println (значение); } // двигаться вперед if (command =="cm1") {state =1; } // двигаться назад if (command =="cm2") {state =2; } // повернуть направо if (command =="cm3") {state =3; } // повернуть налево if (command =="cm4") {state =4; } // ничего не делаем if (command =="cm5") {state =5; }}} // двигаться вперед if (state ==1) {rightStepper.step (1); leftStepper.step (-1); } // двигаться назад if (state ==2) {rightStepper.step (-1); leftStepper.step (1); } // двигаться вправо if (state ==3) {rightStepper.step (1); leftStepper.step (1); } // перемещаемся влево if (state ==4) {rightStepper.step (-1); leftStepper.step (-1); } // ничего не делаем if (state ==5) {}} // ******************* // Вспомогательные функции // ******** *********** String sendData (команда String, время ожидания const int, логическая отладка) {String response =""; esp8266.print (команда); long int time =миллис (); в то время как ((время + тайм-аут)> миллис ()) {в то время как (esp8266.available ()) {char c =esp8266.read (); ответ + =c; }} если (отладка) {Serial.print (ответ); } возврат ответа;} 
интерфейс управления html HTML
 Нет предварительного просмотра (только загрузка). 

Изготовленные на заказ детали и корпуса

Файл дизайна 123D. robot.123dx2D дизайн базы. base.dwg

Схема

Принципиальная схема Макетное соединение схемы Фриттинг файла схемы wistepper% 20-% 20rev1.fzz

Производственный процесс

  1. Робот Raspberry Pi, управляемый через Bluetooth
  2. Создайте своего робота для видеостриминга, управляемого через Интернет, с помощью Arduino и Raspberry Pi
  3. Дезинфекция робота ультрафиолетовым светом
  4. Робот с сервомотором избегает препятствий
  5. Емкостной датчик отпечатков пальцев с Arduino или ESP8266
  6. Управление роботом Roomba с помощью Arduino и устройства Android
  7. Роботизированная рука, управляемая нунчук (с Arduino)
  8. Arduino Nano:управление двумя шаговыми двигателями с помощью джойстика
  9. Робот, управляемый речью
  10. Определение здоровья растений с помощью TinyML