Sisukord:
- Tarvikud
- Samm: programmeerige ESP32 kaamera
- Samm: ehitage robot
- 3. samm: HEI! Oota sekund! Miks ma vajan Arduino Nano?
- Samm: ühendage USB juhtkangi (valikuline)
- 5. samm: RATSAME
- 6. toiming: üksikasjad veebiserveri HTML/Javascripti koodi muutmise kohta
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
ESP32 kaamera moodul on odav ja võimas PLC. See sisaldab isegi näotuvastust!
Ehitame esimese inimese vaatepunkti roboti, millega sõidate läbi pardal oleva veebiliidese!
See projekt kasutab Geekcreit ESP32 moodulit koos OV2640 kaameraga. See põhineb AIThinkeri moodulil.
Seal on palju erinevaid ESP32 kaamera kloone. Mõni töötab, mõni mitte. Soovitan teil kasutada sama moodulit, mida tegin, nii et teil oleks hea võimalus edukaks saada.
Robot töötab järgmiselt.
ESP32 edastab teie võrku veebi-URL-i, mis esitab otsevideovoo koos mõnede märkeruutudega kaamera teatud funktsioonide kasutamiseks. Samuti saab see klaviatuurilt veebilehele saadetud klahvivajutusi, mis on roboti suunakäsud. Võib -olla soovite ehitada USB -juhtkangi kaitsekilbi, et saaksite juhtida robotit juhthoovaga, mitte sisestada klaviatuuri käske.
Kui ESP32 saab klahvivajutusi, edastab ta need baidid Arduino Nano -le, mis seejärel juhib mootoreid, et robot liikuma panna.
See projekt on keskmise raskusega. Palun võtke aega.
Alustame!
Tarvikud
- ESP -32 Kaameramoodul koos OV2640 kaameraga - ma soovitaksin Geekcreiti toodet
- Väline kinnitatav antenn ESP-32 jaoks, et maksimeerida signaali tugevust
- Arduino Nano
- Arduino Leonardo juhtkangi mooduli jaoks (vajame Leonardo pakutavat USB -klaviatuuri emuleerimist)
- Üldine juhtkangi moodul
- L293D Quad H-silla kiip
- DC-DC Buck Coverter 5V väljundiga ESP32 toiteks
- FTDI jadaadapter ESP32 programmeerimiseks
- Üldine robotraam kahe käigukastiga mootoriga - mis tahes šassii töötab. Soovitatav on 3 kuni 6 V mootorid
- 2 x 7,4 V 1300mAh LiPo akusid (või sarnaseid) ESP32 ja mootorite toiteks
- 1 x 9 V aku Arduino Nano toiteks
Samm: programmeerige ESP32 kaamera
Ühendage ESP32 kaamera leivaplaadi abil FTDI -adapteriga järgmiselt.
FTDI ESP32
3.3V ----------- 3.3V
GND ----------- GND
TX ----------- U0R
Rx ----------- U0T
Lisaks ühendage tihvt IO0 ("silma-oh-null") GND-ga. Seda peate tegema, et lülitada ESP32 programmeerimisrežiimi.
Pakkige fail esp32CameraWebRobotforInstructable.zip lahti.
Selles projektis on 4 faili:
esp32CameraWebRobotforInstructable.ino on Arduino visand.
ap_httpd.cpp on kood, mis haldab veebiserverit ja tegeleb kaamera funktsioonide seadistamisega veebilehelt ning klahvivajutuste vastuvõtmisega veebilehelt.
camera_index.h sisaldab veebirakenduse HTML/JavaScripti koodi baidimassiividena. Veebirakenduse muutmine väljub selle projekti raamidest. Lisan hiljem lingi HTML/JavaScripti muutmiseks.
camera_pins.h on päisefail, mis on seotud ESP32 kaamera pin -konfiguratsiooniga.
ESP32 programmeerimisrežiimi lülitamiseks peate maandusega ühendama IO0 ("eye-oh-zero").
Käivitage oma Arduino IDE ja minge jaotisse Tööriistad/Lauad/Laudade haldur. Otsige esp32 ja installige teek esp32.
Avage projekt oma Arduino IDE -s.
Sisestage oma ruuteri võrgu -ID ja oma parool ülaltoodud pildil esile tõstetud ridadele. Salvestage projekt.
Minge menüüsse Tööriistad ja tehke valikud, nagu on näidatud ülaltoodud pildil.
Tahvel: ESP32 Wrover
Üleslaadimiskiirus: 115200
Jaotusskeem: "Suur rakendus (3 MB ilma OTA -ta)"
ja valige port, millega teie FTDI -adapter on ühendatud.
Klõpsake nuppu "Laadi üles".
Mõnikord ei hakka ESP32 üles laadima. Nii et olge valmis vajutama ESP32 tagaküljel asuvat nuppu RESET, kui hakkate üleslaadimise ajal konsooli nägema… ---… märke. Seejärel hakatakse seda üles laadima.
Kui näete konsoolil nuppu „RST”, on üleslaadimine lõpetatud.
Ühendage maapinnast lahti IO0. Ühendage lahti FTDI adapteri ja ESP32 vaheline 3,3 V liin.
ESP32 kaamera vajab hästi töötamiseks palju voolu. Ühendage 5V 2A toiteadapter ESP32 5V ja GND kontaktidega.
Avage jadamonitor, seadke edastuskiiruseks 115200 ja vaadake, kuidas ESP32 taaskäivitub. Lõpuks näete serveri URL -i.
Minge oma brauserisse ja sisestage URL. Kui veebisait laaditakse, klõpsake nuppu „Alusta voogesitust” ja video otseülekanne peaks algama. Kui klõpsate märkeruutu „Floodlight”, peaks rongisisene välklambi LED-tuli süttima. Vaata ette! SEE ON HELE!
Samm: ehitage robot
Teil on vaja kaherattalist robotraami. Igaüks teeb. Pange šassii kokku vastavalt tootja juhistele.
Seejärel ühendage robot vastavalt skeemile. Jätke akuühendused praegu alles.
L293D kasutatakse mootorite juhtimiseks. Pange tähele, et kiibi poolik sälk on ESP32 suunas.
Tavaliselt on kahe mootori juhtimiseks vaja Arduinole 6 tihvti.
See robot vajab ainult 4 tihvti ja töötab endiselt täielikult.
Pistikud 1 ja 9 on ühendatud Arduino 5V allikaga, nii et need on püsivalt KÕRGED. Roboti sel viisil ühendamine tähendab, et vajame Arduino mootorite juhtimiseks kahte tihvti vähem.
Edasisuunas on INPUT -tihvtide asendiks LOW ja mootori impulsslaine modulatsiooni tihvtide väärtused vahemikus 0 kuni 255, kusjuures 0 tähendab OFF ja 255 tähendab maksimaalset kiirust.
Vastupidises suunas on INPUT tihvtid seatud asendisse HIGH ja PWM väärtused pööratakse vastupidiseks. 0 tähendab maksimaalset kiirust ja 255 tähendab väljalülitamist.
Pakkige lahti ja laadige ArduinoMotorControli visand Arduino Nano -sse üles.
3. samm: HEI! Oota sekund! Miks ma vajan Arduino Nano?
Tõenäoliselt mõtlete: "Hei! ESP32 kaameral on saadaval vähemalt 4 IO kontakti. Miks ma ei saa neid mootorite juhtimiseks kasutada?"
Noh, see on tõsi, ESP32 -l on järgmised tihvtid:
IO0 - vajalik ESP32 programmeerimisrežiimi viimiseks
IO2 - saadaval
IO4 - välklambi LED
IO12, IO13, IO14, IO15, IO16 - täiendavad GPIO tihvtid.
Kui laadite ESP32 -le lihtsalt põhijoonise, et tihvte juhtida PWM -käskudega, siis need toimivad.
Kui olete visandites CAMERA teegid aktiveerinud, pole need tihvtid enam saadaval.
Nii et kõige lihtsam on lihtsalt Nano abil mootoreid juhtida PWM -i kaudu ja saata käsud ESP32 -lt jadaühenduse kaudu ühe juhtme (ESP32 U0T kuni Arduino Rx0) ja GND kaudu. Väga lihtne.
Samm: ühendage USB juhtkangi (valikuline)
Saate robotit juhtida, saates veebilehele klahvivajutusi järgmiselt.
8 - edasi
9 - Edasi paremale
7 - Edasi vasakule
4 - pöörake vasakule
5 - Peatu
1 - tagurpidi vasakule
2 - tagurpidi
3 - tagurpidi paremale.
USB -juhtkangi visand teisendab juhtkangi sisendid klahvivajutusteks ja saadab need veebiliidesesse, mis edastab need Arduinole roboti juhtimiseks.
Ühendage juhtkang Arduino LEONARDO -ga järgmiselt.
Leonardo juhtkang
5V ---------- VCC
GND ---------- GND
A0 ---------- VRx
A1 ---------- VRy
Avage usbJoySticki visand, valige tahvliks Arduino Leonardo ja laadige see Leonardosse üles.
Kui soovite seda testida, avage lihtsalt oma arvutis tekstiredaktor, klõpsake aknas hiirt ja hakake juhtkangi liigutama. Te peaksite nägema aknas väärtusi 1 kuni 9
5. samm: RATSAME
Võtke aega ja vaadake oma juhtmestik üle, et veenduda, kas kõik on õigesti.
Seejärel ühendage akud järgmiselt.
1. Lülitage ESP32 kaamera sisse. Veebiserveri käivitamiseks kulub mõni sekund.
2. Lülitage Arduino Nano sisse.
3. Lülitage mootorid sisse.
Käivitage oma brauser ja minge ESP32 URL -ile.
Klõpsake nuppu Alusta voogesitust.
Klõpsake hiirega kuskil brauseri ekraanil, nii et ekraan on nüüd fookuses.
Alustage oma roboti juhtimist juhtkangi (või klaviatuuri) abil.
Olen avastanud, et vaikimisi kasutatav kaadrisuurus sobib hästi otsevideo edastamiseks WiFi kaudu. Kuid kui suurendate kaadrisuurust, muutub voog katkemaks, kuna proovite edastada suuremaid pilte.
See on väljakutseid pakkuv projekt, mis annab teile võimaluse alustada tööd video otseülekandega ja juhtida robotit WiFi kaudu. Loodan, et leidsite selle lõbusaks!
NÜÜD NÜÜD JA TEE MIDAGI IMELISEKS!
Jaanuari 2020 värskendus - viimastel fotodel on näha roboti lõplik versioon, kõvasti joodetud ja kindlalt šassiile kinnitatud.
Esiküljel olevad kolm lülitit on järgmised:
Vasakule - mootori aku
Keskel - Arduino aku
Paremal - ESP32 kaamera aku
Võiksin kasutada ühte suurt akut koos mõne buck-boost trafoga (kasutan ühte ESP32 jaoks-see on eestvaate foto paremas alanurgas), kuid lihtsuse huvides hoian alles 3 akut.
Robot nüüd pääsupunktis
Minu arvates on selle roboti demonstreerimine väljaspool kodu tülikas, sest minu kooli ettevõtete võrk ei luba mul roboti veebiserverit sellega ühendada. Lahendusena uurisin ESP32 veebiserveri pääsupunkti funktsiooni kasutamist. See võtab natuke tööd, kuid nõuab peamise roboti visandis üsna minimaalseid muudatusi, et muuta ESP32 enda IP -aadress. See ei ole nii võimas kui spetsiaalne kiire WiFi -jaotur (mõnikord hangub, kui liigute liiga kiiresti), kuid see toimib üsna hästi ja nüüd saan ma näidata robotit kõikjal, kus tahan, ilma et peaksin seda võrku ühendama! Kui olete robot tööle saanud, proovige see ise pöörduspunktiks teisendada!
6. toiming: üksikasjad veebiserveri HTML/Javascripti koodi muutmise kohta
See pole vajalik, kuid mul on olnud mõned taotlused.
Esitasin sellele Google'i dokumendile üksikasjad selle kohta, kuidas kasutada CyberChefi HTML/Javascripti ja failide camera_index.h baidimassiivide vahel edasi -tagasi teisendamiseks.
Soovitan:
Professionaalne ilmajaam ESP8266 ja ESP32 DIY abil: 9 sammu (piltidega)
Professionaalne ilmajaam, kasutades ESP8266 ja ESP32 isetegemist: LineaMeteoStazione on täielik ilmajaam, mida saab ühendada Sensirioni professionaalsete anduritega ja mõne Davise instrumendi komponendiga (vihmamõõtur, anemomeeter). Projekt on mõeldud DIY ilmajaamana, kuid nõuab lihtsalt
ESP32 TTGO WiFi signaali tugevus: 8 sammu (piltidega)
ESP32 TTGO WiFi signaali tugevus: Selles õpetuses õpime, kuidas kuvada WiFi võrgu signaali tugevus ESP32 TTGO tahvli abil. Vaadake videot
ESP32 Bluetoothi õpetus - ESP32 sisseehitatud Bluetoothi kasutamine: 5 sammu
ESP32 Bluetoothi õpetus | ESP32 sisseehitatud Bluetoothi kasutamine: Tere poisid Kuna ESP32 pardal on WiFi ja amp; Nii Bluetooth kui ka meie enamasti projektide puhul kasutame tavaliselt ainult Wifi -d, me ei kasuta Bluetoothi. Nii et selles juhendis näitan, kui lihtne on kasutada ESP32 Bluetoothi & Teie põhiprojektide jaoks
ESP32 CAM -i kasutamise alustamine - Video voogesitus, kasutades ESP CAM -i Wifi kaudu - ESP32 turvakaamera projekt: 8 sammu
ESP32 CAM -i kasutamise alustamine | Video voogesitus, kasutades ESP CAM -i Wifi kaudu | ESP32 turvakaamera projekt: täna õpime, kuidas seda uut ESP32 CAM -plaati kasutada ja kuidas seda kodeerida ning kasutada turvakaamerana ja saada voogesitusvideot wifi kaudu
ESP32 kasutamise alustamine - ESP32 tahvlite installimine Arduino IDE -sse ESP32 vilkuv kood: 3 sammu
ESP32 kasutamise alustamine | ESP32 tahvlite installimine Arduino IDE -sse ESP32 vilkumiskood: selles juhendis näeme, kuidas alustada esp32 -ga töötamist ja kuidas esp32 -tahvleid Arduino IDE -sse installida, ning programmeerime esp 32, et käivitada vilkumiskood arduino ide abil