Cov txheej txheem:

Virtual Presence Robot: 15 Kauj Ruam
Virtual Presence Robot: 15 Kauj Ruam

Video: Virtual Presence Robot: 15 Kauj Ruam

Video: Virtual Presence Robot: 15 Kauj Ruam
Video: 10-MINUTE Method To Earn +$70 DAILY Online FOR FREE! | Make Money Online For Beginners 2022 2024, Kaum ib hlis
Anonim
Image
Image
Txawb Neeg Hlau Tsheb
Txawb Neeg Hlau Tsheb

Tus neeg hlau txawb no cuam tshuam nrog nws lub cev ib puag ncig, los ntawm kev sawv cev "virtual muaj" ntawm tus neeg tswj hwm nws nyob deb. Nws tuaj yeem nkag los ntawm ib tus neeg, nyob txhua qhov chaw hauv ntiaj teb, kom faib cov khoom zoo thiab ua si nrog koj.

Kev ua haujlwm ntawm no yog tsim los ntawm ob tus neeg (ib tus nyob hauv Tebchaws Yelemees thiab ib tus hauv Asmeskas) raws li kev sim txav mus dhau qhov txhais tau tias kev siv internet-kev sib txuas lus los ntawm kev tsim lub cev sib cuam tshuam rau kev sib cuam tshuam deb. Raws li COVID-19 txuas ntxiv cuam tshuam rau lub ntiaj teb, thiab txhua tus neeg muaj lub luag haujlwm txwv tsis pub peb lub cev raug rau tib neeg, peb sim coj rov qab qhov kev sib txuas uas pom tau uas yog ib feem ntawm kev sib cuam tshuam ntawm lub cev.

Nws yog ua raws ESP32-Lub Koob Yees Duab-Neeg Hlau-FPV-Xib Fwb Qhia Ntawv thiab hloov kho kom suav nrog kev ntsuas nrug, kho lub tshuab xa khoom thiab "tswj los ntawm txhua qhov chaw hauv ntiaj teb" muaj peev xwm, muab rau koj muaj kev sib txuas hauv internet me ntsis.

Khoom siv

Txoj haujlwm muaj 4 ntu tseem ceeb - Lub Tsheb Robot Txawb, Chip Dispenser, Joystick, thiab Kev Sib Txuas Network.

Txawb Neeg Hlau Tsheb

  • Cov qhob cij
  • 2 Log Tsav Lub Cev Tsav Tsheb thiab Chassis Robot Kit (suav nrog lub log, DC lub cev muaj zog, lub rooj tsav tsheb thiab ntsia hlau)
  • Arduino Mega 2560 (yog tias koj tsim yam tsis muaj qhov ntsuas nrug lossis Chip Dispenser Uno yuav muaj tus pin txaus)
  • (3) 9V Roj teeb (muaj ob peb ntxiv nyob ib puag ncig raws li koj yuav tso lawv debugging)
  • LM2596 Cov Khoom Siv Hluav Taws Xob DC/DC Buck 3A Regulator (lossis zoo sib xws)
  • ESP32-CAM Wifi Module
  • FT232RL FTDI USB rau TTL Serial Converter (rau kev ua haujlwm ESP32-CAM)
  • HC-SR04 Ultrasonic Distance Sensor
  • L298N Tsav Tsav Tsheb
  • (3) LEDS (xim twg)
  • (3) 220 Ohm Resistors

Chip Dispenser

  • (2) SG90 Servos
  • Cardboard / Ntawv los xij

Joystick

  • Arduino Ib
  • Joystick Module
  • Mini Breadboard, (1) LED, (1) 220 Ohm Resistor (yeem)

Lwm yam

Ntau Breadboard Jumper WiresExtra Cardboard / PaperboardTapeScissorsRuler / Ntsuas Daim Kab Xev Me Me Philips ScrewdriverSmall Flathead Screwdriver

Ua siab ntev =)

Kauj Ruam 1: Txawb Neeg Hlau Tsheb

Cov Neeg Hlau Tsheb chassis ua haujlwm raws li lub xov tooj ntawm tes, nrog Arduino MEGA ua lub luag haujlwm tseem ceeb tswj lub tshuab tsav, nyeem cov ntawv ntsuas qhov ntsuas thiab ua haujlwm pabcuam. Kev ua feem ntau yog ua los ntawm kev muaj Arduino MEGA tau txais cov lus txib ntawm kev sib txuas lus txuas, xa los ntawm ESP32-CAM. Thaum ESP32 muab lub koob yees duab nyob kom tswj tau tus neeg hlau, nws lwm txoj haujlwm yog los tswj kev sib txuas wireless ntawm tus neeg hlau thiab tus neeg rau zaub mov, yog li tso cai rau cov neeg siv los tswj nws los ntawm txhua qhov chaw hauv ntiaj teb. ESP32 tau txais cov lus txib los ntawm nplooj ntawv web ntawm kev nias thiab xa lawv mus rau Arduino MEGA raws li tus lej cim. Raws li tus nqi tau txais lub tsheb yuav mus tom ntej, thim rov qab thiab lwm yam. *Vim tias lub siab thiab hloov pauv lub zog xav tau ntawm ESP32 nti Lub Hwj Huam Lub Hwj Huam tau pom zoo rau siv nrog roj teeb lub zog (saib daim duab thaiv kab).

Kauj Ruam 2: Txawb Neeg Hlau Tsheb - Daim Duab Circuit

Txawb Neeg Hlau Tsheb - Daim Duab Circuit
Txawb Neeg Hlau Tsheb - Daim Duab Circuit

Peb yuav taug kev koj los ntawm kev sib sau ua ke cov kauj ruam no ib kauj ruam.

Kauj Ruam 3: Txawb Neeg Hlau Tsheb - Los Ua Ke (Cov Tsav Tsheb)

Txawb Neeg Hlau Tsheb - Los Ua Ke (Cov Tsav Tsheb)
Txawb Neeg Hlau Tsheb - Los Ua Ke (Cov Tsav Tsheb)

Tom qab koj sib sau ua ke 2WD chassis, peb pib los ntawm kev txuas lub tshuab thiab roj teeb mus rau Arduino MEGA los ntawm tus tsav tsheb L298N.

Kauj Ruam 4: Txawb Neeg Hlau Tsheb - Sib Dhos (Zaum Sensor)

Txawb Neeg Hlau Tsheb - Los Ua Ke (Zaum Sensor)
Txawb Neeg Hlau Tsheb - Los Ua Ke (Zaum Sensor)

Raws li muaj ob peb yam khoom siv sib txuas, cia peb ntxiv lub khob cij, yog li peb tuaj yeem txuas lub zog thiab sib koom hauv av yooj yim dua. Tom qab peb rov teeb tsa cov xov hlau, txuas lub ntsuas qhov nrug thiab kho nws nyob rau hauv pem hauv ntej ntawm tus neeg hlau.

Kauj Ruam 5: Txawb Neeg Hlau Tsheb - Sib dhos (ESP32 CAM)

Txawb Neeg Hlau Tsheb - Los Ua Ke (ESP32 CAM)
Txawb Neeg Hlau Tsheb - Los Ua Ke (ESP32 CAM)

Tom ntej no, txuas ESP32-CAM module, thiab kho nws ib sab ntawm qhov ntsuas qhov deb ze ntawm lub hauv ntej ntawm tus neeg hlau. Nco ntsoov qhov kev tiv thaiv hluav taws xob no yuav tsum muaj nws lub roj teeb thiab DC-tus tswj hwm.

Kauj Ruam 6: Txawb Neeg Hlau Tsheb - Los Ua Ke (Chip Dispenser)

Txawb Neeg Hlau Tsheb - Los Ua Ke (Chip Dispenser)
Txawb Neeg Hlau Tsheb - Los Ua Ke (Chip Dispenser)

Tam sim no, cia ntxiv cov nti-dispenser (ntau ntxiv txog qhov no hauv ntu "Chip Dispenser" ntu). Txhim kho ob lub servos raws li daim duab Fritzing, thiab kho lub dispenser ntawm tus Tsov tus tw.

Kauj Ruam 7: Txawb Neeg Hlau Tsheb - Los Ua Ke (Ncuav Qab Zib!)

Txawb Neeg Hlau Tsheb - Los Ua Ke (Ncuav Qab Zib!)
Txawb Neeg Hlau Tsheb - Los Ua Ke (Ncuav Qab Zib!)

Thaum kawg, peb ntxiv cov khoom rau lub dispenser!

Kauj Ruam 8: Txawb Neeg Hlau Tsheb - Arduino Code

RobotCar_Code yog tus lej koj yuav xav tau thauj ntawm Arduino Mega.

Nov yog qhov nws ua haujlwm li cas: Arduino mloog bytes uas tau xa los ntawm ESP32 ntawm kev sib txuas lus hauv xov tooj ntawm 115200 band. Raws li cov byte tau txais, lub tsheb yuav txav mus rau tom ntej, rov qab, sab laug, sab xis thiab lwm yam los ntawm kev xa ib qho HIGH lossis LOW voltage rau lub cav kom tswj kev taw qhia, nrog rau PWM sib txawv ntawm 0-255 los tswj qhov nrawm. Txhawm rau zam kev sib tsoo cov cai no tseem nyeem qhov muaj txiaj ntsig los ntawm qhov ntsuas qhov deb thiab yog tias qhov kev ncua deb tsawg dua qhov tau teev tseg, tus neeg hlau yuav tsis txav mus rau tom ntej. Thaum kawg, yog tias Arduino tau txais cov lus txib kom xa cov khoom kho, nws yuav qhib cov kev pabcuam hauv Chip Dispenser.

Kauj Ruam 9: Txawb Neeg Hlau Tsheb - ESP32 Code

ESP32 tso cai rau kev sib txuas lus ntawm server thiab Arduino ntawm Wifi. Nws yog programmed cais los ntawm Arduino, thiab nws muaj nws tus lej:

  • ESP32_Code.ino yog tus lej rau ESP32 xa cov ntaub ntawv mus rau Arduino
  • app_httpd.cpp yog tus lej xav tau rau lub neej ntawd ESP32 webserver thiab teeb tsa lub luag haujlwm los mloog rau qhov nyem. Zoo rau debugging thiab ntsuas ntawm wifi hauv zos. Nws tsis siv rau kev sib txuas lus sab nraum lub network hauv zos.
  • camera_index.h yog tus lej html rau daim ntawv thov web lub neej ntawd
  • camera_pins.h txhais tus pin nyob ntawm tus qauv ESP32

ESP32 tus lej siv Wifi lub tsev qiv ntawv ntxiv rau ESP32 Ntxiv-on, uas tuaj yeem teeb tsa hauv Arduino IDE los ntawm cov hauv qab no:

  1. Hauv Arduino IDE mus rau File> Preferences
  2. Tom qab ntawd hauv Cov Chaw tab nyob hauv Tus Thawj Saib Xyuas Ntxiv URL nkag mus rau hauv qab no "https://dl.espressif.com/dl/package_esp32_index.json"
  3. Tam sim no qhib Tus Thawj Tswj Haujlwm thiab mus rau Cov Cuab Yeej> Pawg Thawj Coj> Tus Thawj Saib Xyuas thiab tshawb rau ESP32 los ntawm kev ntaus "ESP32"
  4. Koj yuav tsum pom "esp32 los ntawm Espressif Systems". Nyem Nruab.
  5. Tam sim no ESP32 ntxiv-ntxiv yuav tsum tau teeb tsa. Txhawm rau txheeb xyuas rov qab mus rau Arduino IDE thiab mus rau Cov Cuab Yeej> Pawg Thawj Coj thiab xaiv "ESP32 Wrover Module".
  6. Ib zaug ntxiv mus rau Cov Cuab Yeej> Upload Ceev thiab teeb nws rau "115200".
  7. Thaum kawg, mus rau Cov Cuab Yeej> Cov Txheej Txheem Muab faib thiab teeb nws rau "Huge APP (3MB Tsis Muaj OTA/1MB SPIFFS)
  8. Thaum koj tau ua tiav qhov no, Kuv pom zoo ua raws cov lus qhia no los ntawm RandomNerdTutorials uas piav qhia ntxaws yuav ua li cas thiaj li teeb tsa ESP32 thiab xa cov lej nrog FTDI ProgrammerProgramming ESP32

Kauj ruam 10: Chip Dispenser

Chip Dispenser
Chip Dispenser

Chip Dispenser yog qhov pheej yig ntxiv rau cov neeg siv xov tooj ntawm tes tso cai rau nws cuam tshuam rau ib puag ncig ib puag ncig thiab cuam tshuam nrog tib neeg / tsiaj los ntawm kev ua kom qab. Nws suav nrog lub thawv ntawv sab nrauv uas muaj 2 tus neeg ua haujlwm sab hauv, nrog rau sab hauv daim ntawv thawv ntawv sab hauv uas tuav cov khoom (xws li khoom qab zib lossis khoom qab zib rau menyuam) kom xa tawm. Ib qho servo ua raws li lub qhov rooj thaum lwm tus thawb cov khoom tawm.

*Txhua qhov ntev yog hli

Kauj ruam 11: Joystick

Joystick
Joystick

Thaum nws tuaj yeem muaj kev lom zem los tswj tus neeg hlau nrog cov keyboard, nws tseem muaj kev lom zem thiab nkag siab siv tus joystick, qhov twg tus neeg hlau cuam tshuam ncaj qha raws li cov lus qhia koj thawb. Txij li cov neeg hlau no tau ua los ntawm kev nias lub kaw lus hauv lub vev xaib peb xav tau peb lub joystick los ua raws cov keyboard. Txoj kev no cov neeg siv yam tsis muaj tus joystick tseem tuaj yeem tswj tus neeg hlau ncaj qha los ntawm cov keyboard, tab sis lwm tus tuaj yeem siv lub joystick.

Txog qhov no peb tsuas yog muaj Arduino Uno uas tsis muaj peev xwm siv lub tsev qiv ntawv yog li peb tau teeb tsa nws ncaj qha siv USB raws tu qauv hu ua Device Firmware Update (DFU) uas tso cai rau arduino ntsais nrog lub USB USB HID keyboard firmware. Hauv lwm lo lus, thaum lub arduino txuas rau hauv usb nws tsis tau lees paub tias yog arduino tab sis ua cov keyboard!

Kauj Ruam 12: Joystick - Daim Duab Circuit

Joystick - Daim duab Circuit Court
Joystick - Daim duab Circuit Court

Nov yog qhov peb tau txuas lub joystick.

Kauj Ruam 13: Joystick - Keyboard Emulator

Txhawm rau koj Arduino Uno ua raws li cov keyboard, koj yuav tsum ncaj qha rau program Atmega16u2 nti ntawm Arduino ntawm Phau Ntawv Qhia Ntaus Ntawv Firmware Update (DFU). Cov theem hauv qab no yuav piav qhia tus txheej txheem rau lub tshuab Windows, thiab vam tias yuav pab koj zam qee qhov teeb meem uas peb tau ntsib.

Thawj kauj ruam yog sau phau ntawv Atmel usb tsav tsheb mus rau Arduino yog li nws tau lees paub tias yog USB thiab tsis yog Arduino uas ua rau nws tuaj yeem ua haujlwm nrog FLIP programmer.

  1. Rub tawm Atmel's FLIP Programmer los ntawm no
  2. Txuas koj Arduino Uno
  3. Mus rau Tus Thawj Tswj Ntaus Ntawv thiab pom Arduino. Nws yuav nyob hauv COM lossis Tsis Paub Ntaus. Plug nws hauv thiab tawm kom ntseeg tau tias qhov no yog lub cuab yeej raug.
  4. Thaum koj tau pom Arduino Uno hauv Tus Thawj Tswj Ntaus Ntawv, nyem rau nws thiab xaiv cov khoom> Tsav> Hloov Tsav Tsheb> Xauj Kuv Lub Computer Rau Tsav Tsheb Software> Cia kuv xaiv los ntawm cov npe muaj cov tsav tsheb hauv kuv lub computer> Muaj Disk> Xauj mus rau ua ntaub ntawv "atmel_usb_dfu.inf" thiab xaiv nws. Qhov no yuav tsum yog hauv daim nplaub tshev uas koj tus Atmel FLIP Programmer tau teeb tsa. Ntawm kuv lub computer nws nyob ntawm no: C: / Program Files (x86) Atmel / Flip 3.4.7 / usb / atmel_usb_dfu.inf
  5. Nruab tus tsav tsheb
  6. Tam sim no rov qab mus rau Tus Thawj Tswj Ntaus Ntawv koj yuav tsum pom "Atmel USB Devices" nrog Arduino Uno tam sim no sau ua ATmega16u2!

Tam sim no lub khoos phis tawj lees paub Arduino Uno ua USB Device peb tuaj yeem siv FLIP Programmer kom nyem nws nrog 3 cais cov ntaub ntawv thiab tig nws mus rau hauv cov keyboard.

Yog tias koj tshem koj lub Arduino Uno tom qab thawj ntu, ntsaws nws rov qab.

  1. Qhib FLIP
  2. Pib dua Arduino Uno los ntawm kev sib txuas luv luv lub zog rau hauv av.
  3. Nyem Xaiv Xaiv (cim zoo li microchip) thiab xaiv ATmega16U2
  4. Nyem Xaiv Qhov Nruab Nrab Kev Sib Txuas (lub cim zoo li usb qaum) thiab xaiv USB. Yog tias koj ua tiav thawj ntu kom raug lwm cov greyed cov nyees khawm yuav tsum dhau los siv tau.
  5. Mus rau File> Load Hex File> thiab xa cov ntaub ntawv Arduino-usbserial-uno.hex
  6. Hauv lub qhov rais FLIP koj yuav tsum pom peb ntu: Kev Ua Haujlwm Flow, Cov ntaub ntawv nyem tsis tau, thiab ATmega16U2. Hauv Kev Ua Haujlwm Flow kos lub thawv rau Erase, Program, thiab Verify, tom qab ntawd nyem Run.
  7. Thaum cov txheej txheem no tiav, nyem Start Application hauv ntu ATmega16U2.
  8. Plug lub voj voog ntawm arduino los ntawm kev tshem nws los ntawm lub khoos phis tawj thiab ntsaws nws rov qab.
  9. Pib dua Arduino Uno los ntawm kev sib txuas luv luv lub zog rau hauv av.
  10. Qhib Arduino IDE thiab xa cov ntawv JoyStickControl_Code.ino mus rau pawg thawj coj saib.
  11. Plug lub voj voog ntawm arduino los ntawm kev tshem nws los ntawm lub khoos phis tawj thiab ntsaws nws rov qab.
  12. Pib dua lub arduino los ntawm kev sib txuas luv zog rau hauv av.
  13. Rov qab mus rau FLIP, nco ntsoov xaiv Kev Xaiv Ntaus hais tias Atmega16U2
  14. Nyem Xaiv Kev Sib Txuas Lus nruab nrab thiab xaiv USB.
  15. Mus rau File> Load Hex File> thiab xa cov ntaub ntawv Arduino-keyboard-0.3.hex
  16. Hauv lub qhov rais FLIP koj yuav tsum pom peb ntu: Kev Ua Haujlwm Flow, Cov ntaub ntawv nyem tsis tau, thiab ATmega16U2. Hauv Kev Ua Haujlwm Flow kos lub thawv rau Erase, Program, thiab Verify, tom qab ntawd nyem Run.
  17. Thaum cov txheej txheem no tiav, nyem Start Application hauv ntu ATmega16U2.
  18. Plug lub voj voog ntawm arduino los ntawm kev tshem nws los ntawm lub khoos phis tawj thiab ntsaws nws rov qab.
  19. Tam sim no thaum koj mus rau Tus Thawj Saib Xyuas Ntaus Ntawv yuav tsum muaj HID Keyboard Ntaus Tshiab hauv Cov Ntsiab Lus.
  20. Qhib phau ntawv sau lossis cov ntawv sau thiab pib txav lub joystick. Koj yuav tsum pom cov lej raug ntaus!

Yog tias koj xav hloov cov cai hauv Arduino kos duab, piv txwv li sau cov lus txib tshiab rau lub joystick, koj yuav tsum nyem nws nrog txhua 3 cov ntaub ntawv txhua lub sijhawm.

Qee qhov txuas txuas tau txais txiaj ntsig: Arduino DFUAtLibUsbDfu.dll tsis pom

Cov keyboard emulator no yog ua los ntawm kev qhia los ntawm Michael thaum Lub Rau Hli 24, 2012.

Kauj Ruam 14: Kev Sib Txuas Network

Kev Sib Txuas Network
Kev Sib Txuas Network

Txhawm rau kom tau txais cov vis dis aus thiab xa cov lus txib mus rau tus neeg hlau los ntawm txhua qhov chaw hauv ntiaj teb, peb xav tau txoj hauv kev kom tau txais cov ntaub ntawv mus thiab los ntawm ESP32-CAM. Qhov no tau ua tiav hauv ob ntu, tus saib xyuas kev sib txuas ntawm koj lub network hauv zej zog, thiab pej xeem neeg rau zaub mov. Rub tawm peb cov ntaub ntawv kom ua tiav qhov no:

  • Handlers.py: xa cov ntaub ntawv los ntawm ESP32-CAM thiab cov server rau pej xeem (sim ntawm Python 3.8)
  • Flask_app.py: piav qhia li cas koj lub app teb rau cov lus thov tuaj.
  • Robot_stream.html: ua yeeb yaj kiab hauv koj tus browser thiab mloog cov lus txib los ntawm cov keyboard / joystick (kuaj ntawm Chrome)

Kev Sib Txuas Tus Kheej Koj tuaj yeem sau qhov no ncaj qha hauv app_httpd.cpp, tab sis kom yooj yim debugging peb siv Python tsab ntawv khiav ntawm lub PC txuas nrog tib lub network. Qhib handlers.py thiab hloov kho tus IP chaw nyob thiab lub npe siv rau koj tus kheej, thiab koj npaj txhij mus. Cov kwj dej yuav pib thaum koj khiav cov ntawv no.

Public Server Kom nkag tau txhua yam hauv internet, koj tuaj yeem pib server nrog PaaS ntawm qhov koj xaiv. Ntawm pythonanywhere (PA) teeb tsa qhov no siv sijhawm tsawg dua 5 feeb:

  1. Sau npe rau tus as khauj thiab nkag mus
  2. Mus rau "Web" tab thiab ntaus "Ntxiv Web App tshiab", xaiv Flask thiab Python 3.6
  3. Luam flask_app.py rau hauv /mysite directory
  4. Luam robot_stream.html rau hauv /mysite /templates directory
  5. Nyem "Reload"

Thiab … koj txhua tus tau npaj!

Kev tsis lees paub: Kev sib koom tes ua haujlwm no tau nrawm thiab yooj yim tab sis nyob deb ntawm qhov zoo tshaj. RTMP lossis lub qhov rooj yuav zoo dua rau kev tshaj tawm, tab sis lawv tsis txhawb nqa PA thiab xav tau qee qhov kev paub dhau los nrog kev sib tham thiab teeb tsa server. Nws kuj tseem pom zoo tias koj ntxiv qee cov txheej txheem kev nyab xeeb los tswj kev nkag mus.

Kauj Ruam 15: Muab Txhua Qhov Ua Ke

Tam sim no, qhib koj tus neeg hlau, khiav handlers.py ntawm lub khoos phis tawj (txuas nrog tib lub network zoo li tus neeg hlau), thiab koj tuaj yeem tswj tus neeg hlau los ntawm qhov browser raws li qhov url koj teeb tsa los ntawm txhua qhov chaw koj xav tau. (xws li

Pom zoo: