Агуулгын хүснэгт:

ESP32 камерын робот - FPV: 6 алхам
ESP32 камерын робот - FPV: 6 алхам

Видео: ESP32 камерын робот - FPV: 6 алхам

Видео: ESP32 камерын робот - FPV: 6 алхам
Видео: Вездеход на гусеницах на ESP-32 Cam с камерой и с управлением по Wi-fi и через интернет 2024, Арваннэгдүгээр
Anonim
Image
Image
ESP32 камерын робот - FPV
ESP32 камерын робот - FPV
ESP32 камерын робот - FPV
ESP32 камерын робот - FPV

ESP32 Камерын модуль нь хямд, хүчирхэг PLC юм. Тэр ч байтугай нүүр царай таних онцлогтой!

Та самбар дээрх вэб интерфейсээр дамжуулан жолоодож буй First Person Viewpoint роботыг бүтээцгээе!

Энэ төсөл нь OV2640 камертай Geekcreit ESP32 модулийг ашигладаг. Энэ нь AIThinker модуль дээр суурилсан болно.

ESP32 камерын олон янзын клонууд байдаг. Зарим нь ажилладаг, зарим нь ажилладаггүй. Миний хийсэн модулийг ашиглахыг танд зөвлөж байна, ингэснээр танд амжилтанд хүрэх сайхан боломж байна.

Робот дараах байдлаар ажилладаг.

ESP32 нь вэбийн URL хаягийг таны сүлжээнд дамжуулдаг бөгөөд энэ нь камерын зарим функцийг ажиллуулах зарим хайрцгийг агуулсан шууд видеог дамжуулдаг. Энэ нь мөн роботын чиглүүлэгч команд болох вэб хуудас руу илгээсэн түлхүүрүүдийг дардаг. Та USB джойст бамбайг бүтээхийг хүсч болох бөгөөд ингэснээр та роботыг гарын командыг бичихээс илүүтэйгээр джойстикоор жолоодож чадна.

ESP32 товчлуур дарах үед тэдгээр байтуудыг Arduino Nano руу дамжуулдаг бөгөөд дараа нь моторыг хөдөлгөж роботыг хөдөлгөдөг.

Энэ төсөл нь дунд зэргийн өндөр бэрхшээлтэй байдаг. Та бүхэн яараарай.

Эхэлцгээе!

Хангамж

  • OV2640 камертай ESP -32 камерын модуль - Би Geekcreit бүтээгдэхүүнийг санал болгож байна
  • Дохионы хүчийг нэмэгдүүлэхийн тулд ESP-32-ийн гаднах антенн
  • Ардуино Нано
  • Joystick модульд зориулсан Arduino Leonardo (бидэнд Леонардогийн өгсөн USB гар эмуляц хэрэгтэй)
  • Ерөнхий Joystick модуль
  • L293D Quad H-гүүрний чип
  • ESP32-ийг тэжээхийн тулд 5V гаралттай DC-DC Buck Coverter
  • ESP32 програмчлахад зориулагдсан FTDI цуваа адаптер
  • Хоёр ротортой мотортой ерөнхий робот явах эд анги - ямар ч явах эд анги ажиллах болно. 3 -аас 6В хүртэл мотор ашиглахыг зөвлөж байна
  • ESP32 болон моторыг тэжээх 2 x 7.4V 1300mAh LiPo батерей (эсвэл үүнтэй төстэй)
  • 1 x 9V батерей нь Arduino Nano -ийг тэжээдэг

Алхам 1: ESP32 камерыг програмчлах

ESP32 камерыг програмчлах
ESP32 камерыг програмчлах
ESP32 камерыг програмчлах
ESP32 камерыг програмчлах

Талхны самбар ашиглан ESP32 камераа FTDI адаптертай дараах байдлаар холбоно уу.

FTDI ESP32

3.3V ----------- 3.3V

GND ----------- GND

TX ----------- U0R

Rx ----------- U0T

Нэмж хэлэхэд, IO0 зүү ("нүд-өө-тэг") -ийг GND-тэй холбоно уу. ESP32 -ийг програмчлалын горимд оруулахын тулд та үүнийг хийх хэрэгтэй.

Esp32CameraWebRobotforInstructable.zip файлыг задлах.

Энэ төсөлд 4 файл байна:

esp32CameraWebRobotforInstructable.ino бол Arduino -ийн ноорог юм.

ap_httpd.cpp бол вэб серверийг удирдах код бөгөөд вэб хуудасны камерын онцлогийг тохируулах, вэб хуудаснаас товчлуур дарахыг хүлээн авахтай холбоотой код юм.

camera_index.h нь вэб програмын HTML/JavaScript кодыг байтын массив хэлбэрээр агуулдаг. Вэб програмыг өөрчлөх нь энэ төслийн хамрах хүрээнээс хол байна. Би дараа нь HTML/JavaScript -ийг хэрхэн өөрчлөх талаар линк оруулах болно.

camera_pins.h бол ESP32 камерын зүү тохируулгатай холбоотой толгой файл юм.

ESP32-ийг програмчлалын горимд оруулахын тулд та IO0 ("eye-oh-zero") -ийг Ground-тай холбох ёстой.

Arduino IDE -г ажиллуулаад Tools/Board/Board Board Manager руу очно уу. Esp32 хайж, esp32 номын санг суулгана уу.

Төслийг Arduino IDE дээрээ нээнэ үү.

Дээрх зураг дээр тодруулсан мөрөнд өөрийн чиглүүлэгчийн сүлжээний ID болон нууц үгээ оруулна уу. Төслийг хадгална уу.

Tools цэс рүү ороод дээрх зурагт үзүүлсэн шиг сонголтоо хийгээрэй.

Удирдах зөвлөл: ESP32 Wrover

Байршуулах хурд: 115200

Хуваах схем: "Агуу APP (3MB OTA байхгүй)"

мөн таны FTDI адаптер холбогдсон портыг сонгоно уу.

"Байршуулах" товчийг дарна уу.

Одоо заримдаа ESP32 -ийг байршуулж эхлэхгүй байна. Байршуулах явцад консол дээр… ---… тэмдэгтүүд гарч эхэлмэгц ESP32-ийн арын хэсэгт байрлах RESET товчийг дарахад бэлэн байгаарай. Үүний дараа байршуулж эхэлнэ.

Консол дээр 'RST дарна уу' гэж харах үед байршуулалт дууссан болно.

IO0 -ийг Ground -аас салга. FTDI адаптер ба ESP32 хоорондох 3.3V шугамыг салга.

ESP32 камер сайн ажиллахын тулд маш их гүйдэл шаарддаг. 5V 2A тэжээлийн адаптерийг ESP32 дээрх 5V ба GND зүү рүү холбоно уу.

Цуваа мониторыг нээж, дамжуулах хурдыг 115200 болгож, дараа нь ESP32 -ийг дахин ачаалахыг үзээрэй. Эцэст нь та серверийн URL хаягийг харах болно.

Хөтөч рүү очоод URL -г оруулна уу. Вэбсайт ачаалагдах үед 'Эхлэх дамжуулах' товчийг дарахад шууд видео дамжуулалт эхлэх ёстой. Хэрэв та 'Floodlight' хайрцгийг дарвал самбар дээрх флэш LED асах ёстой. Болгоомжтой! ГЭРЭЛТЭЙ!

Алхам 2: Робот бүтээх

Робот бүтээх
Робот бүтээх

Танд хоёр дугуйтай робот явах эд анги хэрэгтэй болно. Хэн ч хийх болно. Явах эд ангиудыг үйлдвэрлэгчийн зааврын дагуу угсарна.

Дараа нь схемийн дагуу роботыг холбоно уу.

L293D нь моторыг хянахад ашиглагддаг. Чип дээрх хагас зүү нь ESP32-ийн эсрэг байна гэдгийг анхаарна уу.

Ихэвчлэн Arduino дээр хоёр хөдөлгүүрийг удирдахын тулд 6 зүү хэрэгтэй байдаг.

Энэ роботод зөвхөн 4 зүү хэрэгтэй бөгөөд одоо хүртэл бүрэн ажиллаж байна.

1 ба 9 -р зүү нь Arduino -ийн 5V эх үүсвэрт холбогдсон тул тэдгээр нь үргэлж өндөр байдаг. Роботыг ингэж холбосон нь моторыг удирдахын тулд бидэнд Arduino дээр хоёр цөөхөн зүү хэрэгтэй болно гэсэн үг юм.

Урагш чиглэсэн чиглэлд INPUT тээглүүрийг LOW гэж тохируулж, хөдөлгүүрийн импульсийн долгионы модуляцыг 0 -ээс 255 -ийн хооронд 0, OFF гэсэн утгатай, 255 -ийн хамгийн дээд хурдыг илэрхийлнэ.

Урвуу чиглэлд INPUT тээглүүрийг HIGH болгож, ХОУХ -ны утгуудыг буцаана. 0 нь хамгийн дээд хурдыг, 255 нь унтраасан гэсэн үг юм.

ArduinoMotorControl ноорогыг задалж Arduino Nano дээр байршуулна уу.

Алхам 3: Хөөе! Секунд хүлээнэ үү! Надад яагаад Arduino Nano хэрэгтэй байна вэ?

Та "Хөөе! ESP32 камер дээр дор хаяж 4 IO зүү байгаа. Би яагаад моторыг удирдахын тулд ашиглаж болохгүй гэж?" Гэж бодож байгаа байх.

Үнэн бол ESP32 дээр дараах байдлаар зүү байна.

IO0 - ESP32 програмчлалын горимд оруулах шаардлагатай

IO2 - боломжтой

IO4 - LED гэрэл

IO12, IO13, IO14, IO15, IO16 - нэмэлт GPIO тээглүүр.

Хэрэв та PWM командын тусламжтайгаар тээглүүрийг хянахын тулд ESP32 дээр үндсэн ноорог ачаалж байвал тэдгээр нь ажиллах болно.

Гэсэн хэдий ч, та зураг зурахдаа CAMERA номын санг идэвхжүүлсний дараа эдгээр тээглүүр байхгүй болно.

Нано ашиглан хөдөлгүүрийг PWM -ээр удирдаж, ESP32 -ээс командыг нэг утас (ESP32 U0T Arduino Rx0 руу) болон GND -ээр дамжуулах нь хамгийн хялбар арга юм. Маш энгийн.

Алхам 4: USB тоглоомын залгуурыг холбоно уу (заавал биш)

Та вэбсайт руу товчлуур дарж дараах байдлаар робот жолоодох боломжтой.

8 - урагш

9 - Баруун урагш

7 - Зүүн урагш

4 - Зүүн тийш эргүүлэх

5 - Зогс

1 - Урвуу зүүн

2 - урвуу

3 - Баруун тийш урвуу.

USB джойстикийн ноорог нь джойстикийн оролтыг товчлуур дээр дарж вэб интерфэйс рүү илгээж, робот жолоодохын тулд Arduino руу дамжуулдаг.

Joystick -ийг Arduino LEONARDO -той дараах байдлаар холбоно уу.

Леонардо Жойстик

5V ---------- VCC

GND ---------- GND

A0 ---------- VRx

A1 ---------- VRy

UsbJoyStick ноорогыг нээгээд самбар дээр Arduino Leonardo -г сонгоод Леонардо руу байршуулна уу.

Хэрэв та үүнийг туршиж үзэхийг хүсч байвал компьютер дээрээ текст засварлагч нээгээд цонхон дээрх хулганаа дараад joystick -ийг хөдөлгөж эхлээрэй. Та 1 -ээс 9 хүртэлх утгыг цонхонд харуулах ёстой

Алхам 5: УНАЯ

Цаг хугацаа өнгөрч, бүх зүйл зөв байгаа эсэхийг шалгахын тулд утсан дээрээ очиж үзээрэй.

Дараа нь батерейгаа дараах байдлаар холбоно уу.

1. ESP32 камерыг асаах. Вэб серверийг эхлүүлэхэд хэдэн секунд шаардагдана.

2. Arduino Nano -г асаагаарай.

3. Моторыг асаах.

Хөтөчөө ажиллуулаад ESP32 -ийн URL руу очно уу.

Дамжуулалтыг эхлүүлэх товчийг дарна уу.

Хөтчийн дэлгэцийн аль нэг хэсэгт хулганаа дарна уу, ингэснээр дэлгэц одоо анхаарлаа төвлөрүүлэх болно.

Роботыг джойстик (эсвэл гар) ашиглан жолоодож эхэл.

Анхдагч хүрээний хэмжээ нь амьд видеог WiFi -ээр нэлээд хариу өгөхөд тохиромжтой гэдгийг би олж мэдсэн. Гэсэн хэдий ч та хүрээ хэмжээг нэмэгдүүлэх тусам илүү том зураг дамжуулахыг оролдож байгаа тул урсгал илүү тасархай болно.

Энэ бол танд видео дамжуулах, WiFi ашиглан робот жолоодох ажлыг эхлүүлэх боломжийг олгодог хүнд хэцүү төсөл юм. Танд хөгжилтэй санагдсан гэж найдаж байна!

ОДОО ОЧИЖ ЯМАР ГАЙХАМШИГТАЙ БОЛГООЧ!

2020 оны 1 -р сарын шинэчлэлт - Сүүлийн зургууд нь роботын эцсийн хувилбар бөгөөд хатуу гагнаж, явах эд анги руу найдвартай суурилуулсан болно.

Урд талд суурилуулсан гурван унтраалга дараах байдалтай байна.

Зүүн - Моторын батерей

Төв - Arduino батерей

Баруун талд - ESP32 камерын зай

Би бага оврын трансформатортой нэг том батерей ашиглаж болно (би ESP32-т ашигладаг-энэ нь урд талын зургийн баруун доод талд байгаа), гэхдээ хялбар болгох үүднээс би 3 зайг л хадгалж байна.

Робот одоо Access Point дээр байна

Энэ роботыг гэрийнхээ гадаа үзүүлэх нь надад хэцүү санагдаж байна, учир нь манай сургуулийн аж ахуйн нэгжийн сүлжээ роботын вэб серверийг түүнтэй холбохыг зөвшөөрдөггүй. Үүний шийдэл болгон би ESP32 вэб серверийн Хандалтын цэгийн онцлогийг ашиглах талаар судалгаа хийсэн. Энэ нь бага зэрэг ажил шаарддаг боловч ESP32 нэвтрүүлгийг өөрийн IP хаягаар хийхийн тулд үндсэн роботын зураг дээр бага зэрэг өөрчлөлт оруулах шаардлагатай болдог. Энэ нь тусгай зориулалтын өндөр хурдны wifi зангилаа шиг хүчирхэг биш юм (хэрвээ та хэт хурдан хөдөлвөл заримдаа залгагддаг), гэхдээ энэ нь маш сайн ажилладаг бөгөөд одоо би роботыг сүлжээнд холбохгүйгээр хүссэн газраа үзүүлэх боломжтой боллоо! Роботыг ажиллуулсны дараа өөрөө Access Point болгон хөрвүүлээд үзээрэй!

Алхам 6: Вэб серверийн HTML/Javascript кодыг хэрхэн өөрчлөх тухай дэлгэрэнгүй мэдээлэл

Энэ шаардлагагүй, гэхдээ надад хэд хэдэн хүсэлт ирсэн.

Би энэ Google Doc -д CyberChef -ийг ашиглан HTML/Javascript болон camera_index.h файл дахь байтын массивын дүрслэлийг хэрхэн нааш цааш нь хөрвүүлэх талаар дэлгэрэнгүй мэдээлэл өгсөн.

Зөвлөмж болгож буй: