Мазмұны:
- Жабдықтар
- 1 -қадам: мобильді робот машинасы
- 2 -қадам: мобильді робот машинасы - схемасы
- 3 -қадам: мобильді робот - құрастыру (мотор)
- 4 -қадам: мобильді робот - құрастыру (қашықтық сенсоры)
- 5 -қадам: мобильді робот - құрастыру (ESP32 CAM)
- 6 -қадам: мобильді робот машинасы - құрастыру (чип диспенсері)
- 7 -қадам: мобильді робот машинасы - құрастыру (куки!)
- 8 -қадам: мобильді робот машинасы - Arduino коды
- 9 -қадам: мобильді робот машинасы - ESP32 коды
- 10 -қадам: чип диспенсері
- 11 -қадам: джойстик
- 12 -қадам: Джойстик - схема
- 13 -қадам: Джойстик - пернетақта эмуляторы
- 14 -қадам: Желілік байланыс
- 15 -қадам: Барлығын біріктіру
Бейне: Виртуалды болу роботы: 15 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Бұл мобильді робот өзінің физикалық ортамен өзара әрекеттесіп, оны қашықтан басқаратын адамның «виртуалды қатысуын» білдіреді. Оған кез келген адам, әлемнің кез келген жерінде қол жеткізе алады, сіз дәмді тағамдар таратып, сізбен ойнай аласыз.
Мұндағы жұмысты екі адам (бірі Германияда, екіншісі АҚШ-та) қашықтан өзара әрекеттесу үшін физикалық интерфейс құру арқылы интернетке негізделген дәстүрлі коммуникация құралдарының шеңберінен шығу әрекеті ретінде әзірледі. COVID-19 әлемге әсер етуін жалғастыруда және әркім адамдарға физикалық әсерімізді шектеуге жауапты болғандықтан, біз физикалық өзара әрекеттесудің бір бөлігі болып табылатын нақты байланысты қалпына келтіруге тырысамыз.
Ол ESP32-Camera-Robot-FPV-Teacher-Entry нұсқаулығына негізделген және қашықтық сенсоры, диспенсер және «әлемнің кез келген нүктесінен басқару» мүмкіндігіне ие болу үшін өзгертілген, егер сізде Интернет тұрақты болса.
Жабдықтар
Жобаның негізгі 4 бөлімі бар - мобильді робот -автомобиль, чип таратқыш, джойстик және желілік коммуникация.
Мобильді робот машина
- Нан тақтасы
- 2 доңғалақты қозғалтқыш және шасси роботтар жинағы (дөңгелектер, тұрақты ток қозғалтқыштары, бекіту тақтасы мен бұрандалар кіреді)
- Arduino Mega 2560 (егер қашықтық сенсорсыз немесе чип таратқышсыз құрылса, Uno -да түйреуіштер жеткілікті болады)
- (3) 9В аккумуляторлар (тағы бірнеше айналаңызда болыңыз, себебі сіз оларды жөндеуді тоқтатасыз)
- LM2596 Қуат беру модулі DC/DC Buck 3A реттегіші (немесе ұқсас)
- ESP32-CAM Wifi модулі
- FT232RL FTDI USB-TTL сериялық түрлендіргіші (ESP32-CAM бағдарламалау үшін)
- HC-SR04 ультрадыбыстық қашықтық сенсоры
- L298N мотор драйвері
- (3) жарық диодтары (кез келген түсті)
- (3) 220 Ом резисторлары
Чип диспенсері
- (2) SG90 серверлері
- Картон / картон
Джойстик
- Ардуино Уно
- Джойстик модулі
- Шағын тақта, (1) жарық диоды, (1) 220 Ом резисторы (міндетті емес)
Басқа
Нанға арналған көп секіргіш сымдар Қосымша картон / Қағаз таспасы Қайшылар Сызғыш / Өлшем таспасы Philips бұрағыштары Шағын тегіс бұрағыш
Сабырлық =)
1 -қадам: мобильді робот машинасы
Robot Car шассиі мобильді платформа ретінде қызмет етеді, Arduino MEGA қозғалтқышты басқаратын, сенсордың мәндерін оқитын және серводы басқаратын негізгі микроконтроллер. Көптеген әрекеттер Arduino MEGA-ға ESP32-CAM жіберілген сериялық байланыс арқылы пәрмендерді алу арқылы орындалады. ESP32 роботты басқару үшін камералық трансляцияны қамтамасыз етсе, оның басқа функциясы - робот пен сервер арасындағы сымсыз байланысты басқару, сондықтан қолданушыларға оны әлемнің кез келген нүктесінен басқаруға мүмкіндік береді. ESP32 веб -беттен командаларды басу арқылы қабылдайды және оларды Arduino MEGA -ға char мәндері ретінде жібереді. Автокөліктің алынған құнына қарай алға, артқа қарай жүретін болады. Интернет арқылы қашықтан басқару көптеген сыртқы факторларға тәуелді, соның ішінде жоғары кідіріс, ағынның сапасы және тіпті ажырату, роботтың апатқа ұшырамауы үшін қашықтық сенсоры енгізілген. *ESP32 чипінің жоғары және өзгермелі қуат талаптарына байланысты батареямен жұмыс істеуге қуат көзінің реттегіші ұсынылады (сымдар схемасын қараңыз).
2 -қадам: мобильді робот машинасы - схемасы
Біз сізге бұл қадамды біртіндеп құрастыруды көрсетеміз.
3 -қадам: мобильді робот - құрастыру (мотор)
2WD шассиін құрастырғаннан кейін біз қозғалтқыштар мен батареяны L298N драйвері арқылы Arduino MEGA -ға қосудан бастаймыз.
4 -қадам: мобильді робот - құрастыру (қашықтық сенсоры)
Байланыстыруға болатын компоненттер өте аз болғандықтан, қуат пен ортақ жерді оңай қосуға мүмкіндік беретін тақтаны қосайық. Біз сымдарды қайта ұйымдастырғаннан кейін, қашықтық сенсорын жалғап, оны роботтың алдыңғы жағына бекітіңіз.
5 -қадам: мобильді робот - құрастыру (ESP32 CAM)
Содан кейін ESP32-CAM модулін жалғап, оны роботтың алдыңғы жағындағы қашықтық сенсорының жанына бекітіңіз. Есіңізде болсын, бұл қуатты қажет ететін компонентке жеке батарея мен тұрақты ток реттегіші қажет.
6 -қадам: мобильді робот машинасы - құрастыру (чип диспенсері)
Енді чип-диспенсерді қосайық (бұл туралы толығырақ «Чип диспенсері» бөлімінде). Fritzing диаграммасына сәйкес екі серводы қосыңыз және диспенсерді роботтың құйрығына бекітіңіз.
7 -қадам: мобильді робот машинасы - құрастыру (куки!)
Соңында біз диспенсерге тәттілер қосамыз!
8 -қадам: мобильді робот машинасы - Arduino коды
RobotCar_Code - бұл Arduino Mega -ге жүктеу қажет код.
Бұл қалай жұмыс істейді: Arduino 115200 диапазонында сериялық байланыс арқылы ESP32 жіберілетін байттарды тыңдайды. Алынған байтқа сүйене отырып, машина қозғалтқыштарға жоғары немесе төмен кернеуді жіберу арқылы алға, артқа, солға, оңға және т. Соқтығысуды болдырмау үшін бұл код қашықтық сенсорынан келетін мәндерді оқиды және егер қашықтық белгіленген шектен аз болса, робот алға жылжымайды. Ақырында, егер Arduino сыйлық беру туралы пәрмен алса, ол чип диспенсеріндегі серводы қосады.
9 -қадам: мобильді робот машинасы - ESP32 коды
ESP32 сервер мен Arduino арасында Wifi арқылы байланыс орнатуға мүмкіндік береді. Ол Arduino -дан бөлек бағдарламаланған және өзінің коды бар:
- ESP32_Code.ino - бұл Arduino -ға ақпарат жіберетін ESP32 коды
- app_httpd.cpp - бұл әдепкі ESP32 веб -сервері үшін қажетті код және пернені басуды тыңдау үшін функцияны орнатады. Жергілікті Wi -Fi желісін жөндеу және тексеру үшін жақсы. Ол жергілікті желіден тыс байланыс үшін пайдаланылмайды.
- camera_index.h - әдепкі веб -қосымшаның html коды
- camera_pins.h түйреуіштерді ESP32 үлгісіне байланысты анықтайды
ESP32 коды Wifi кітапханасын және келесі қадамдарды орындау арқылы Arduino IDE-ге орнатуға болатын ESP32 қондырмасын пайдаланады:
- Arduino IDE -де Файл> Параметрлер тармағына өтіңіз
- Содан кейін Параметрлер қойындысына Қосымша тақта менеджерінің URL мекенжайы астына келесі «https://dl.espressif.com/dl/package_esp32_index.json» енгізіңіз.
- Енді тақталар менеджерін ашып, Құралдар> Тақта> Тақталар менеджері тармағына өтіп, «ESP32» деп теріп ESP32 іздеңіз.
- Сіз «Espressif Systems by esp32» көресіз. Орнату түймесін басыңыз.
- Енді ESP32 қондырмасын орнату керек. Тексеру үшін Arduino IDE -ге оралыңыз және Құралдар> Тақтаға өтіп, «ESP32 Wrover модулін» таңдаңыз.
- Тағы да Құралдар> Жүктеу жылдамдығына өтіп, оны «115200» деп орнатыңыз.
- Ақырында, Құралдар> Бөлу схемасына өтіп, оны «Үлкен APP (3MB No OTA/1MB SPIFFS) күйіне орнатыңыз.
- Сіз мұны аяқтаған соң, мен RandomNerdTutorials оқулығын орындауды ұсынамын, ол ESP32 -ні баптауды қалай аяқтау керектігін және FTDI бағдарламашысымен кодты жүктеуді егжей -тегжейлі түсіндіреді, ESP32 бағдарламалау.
10 -қадам: чип диспенсері
Chip Dispenser - бұл мобильді роботқа қымбат емес қосымша, ол жергілікті ортаға әсер етіп, адамдармен / жануарлармен қарым -қатынас жасауға мүмкіндік береді. Ішінде 2 сервосы бар картоннан жасалған сыртқы қораптан, сондай -ақ таратуға арналған заттарды (мысалы, кәмпиттер немесе ит тағамдары) сақтайтын ішкі картон картриджінен тұрады. Бір серво қақпа рөлін атқарады, ал екіншісі затты сыртқа шығарады.
*Барлық өлшемдер миллиметрде
11 -қадам: джойстик
Роботты пернетақта арқылы басқару қызықты болса да, робот сіз итерген бағытқа тікелей әсер ететін джойстикті пайдалану одан да қызықты әрі интуитивті. Бұл робот веб -бетте жазылған пернелерді басу арқылы іске қосылатындықтан, бізге клавиатураны еліктеу үшін джойстик қажет болды. Осылайша джойстиксіз пайдаланушылар роботты тікелей пернетақтадан басқара алады, ал басқалары джойстикті қолдана алады.
Бұл үшін бізде тек қана кітапхананы пайдалану мүмкіндігі жоқ Arduino Uno болды, сондықтан біз оны тікелей USB HID пернетақтасының микробағдарламасымен ардуиноны жыпылықтауға мүмкіндік беретін Device Firmware Update (DFU) деп аталатын USB протоколы арқылы бағдарламаладық.. Басқаша айтқанда, arduino USB -ге қосылған кезде ол енді ардуино ретінде емес, пернетақта ретінде танылады!
12 -қадам: Джойстик - схема
Міне біз джойстикті қалай қосамыз.
13 -қадам: Джойстик - пернетақта эмуляторы
Arduino Uno пернетақтаны эмуляциялау үшін сізге Arduino -да Atmega16u2 чипін қолмен құрылғы микробағдарламасын жаңарту (DFU) арқылы тікелей бағдарламалау қажет. Келесі қадамдар Windows машинасына арналған процесті сипаттайды және біз кездескен кейбір мәселелерді болдырмауға көмектеседі деп үміттенеміз.
Бірінші қадам - бұл Arduino -ға Atmel usb драйверін қолмен жазу, сондықтан ол USB ретінде танылады, бұл оны FLIP бағдарламашысымен жыпылықтауға мүмкіндік береді.
- Atmel FLIP бағдарламашысын осы жерден жүктеп алыңыз
- Arduino Uno қосыңыз
- Құрылғы менеджеріне өтіп, Arduino табыңыз. Ол COM немесе белгісіз құрылғы астында болады. Дұрыс құрылғы екеніне көз жеткізу үшін оны қосыңыз және қосыңыз.
- Құрылғы менеджерінен Arduino Uno табылғаннан кейін, оны тінтуірдің оң жақ түймесімен басып, сипаттарды таңдаңыз> Драйвер> Драйверді жаңарту> Менің компьютерімді драйверлік бағдарламалық қамтамасыз ету үшін шолу> Компьютерімдегі қол жетімді драйверлер тізімінен> Дискі бар> Шолуды шолуды таңдаңыз. «atmel_usb_dfu.inf» файлын таңдап, оны таңдаңыз. Бұл сіздің Atmel FLIP бағдарламашысы орнатылған қалтада болуы керек. Менің компьютерімде мына жерде: C: / Program Files (x86) Atmel / Flip 3.4.7 / usb / atmel_usb_dfu.inf
- Драйверді орнатыңыз
- Енді Құрылғы менеджеріне оралыңыз, сізде ATmega16u2 деп белгіленген Arduino Uno бар «Atmel USB құрылғылары» пайда болады!
Енді компьютер Arduino Uno -ны USB құрылғысы ретінде таниды, біз FLIP бағдарламашысының көмегімен оны 3 бөлек файлмен жыпылықтап, пернетақтаға айналдыра аламыз.
Егер сіз бірінші бөліктен кейін Arduino Uno -ны ажыратсаңыз, оны қайта қосыңыз.
- FLIP ашыңыз
- Қуатты жерге қысқа қосу арқылы Arduino Uno қалпына келтіріңіз.
- Құрылғыны таңдау (микрочип сияқты белгіше) түймесін басып, ATmega16U2 таңдаңыз
- Байланыс ортасын таңдау (USB сымы сияқты белгіше) түймесін басып, USB таңдаңыз. Егер сіз бірінші бөлікті дұрыс толтырсаңыз, басқа сұр түймелер қолдануға жарамды болады.
- Файл> Hex файлын жүктеу> тармағына өтіп, Arduino-usbserial-uno.hex файлын жүктеңіз.
- FLIP терезесінде сіз үш бөлімді көруіңіз керек: Амалдар ағыны, FLASH буферлік ақпараты және ATmega16U2. Әрекеттер ағынында Өшіру, Бағдарламалау және Тексеру құсбелгісін қойыңыз, содан кейін Іске қосу түймешігін басыңыз.
- Бұл процесс аяқталғаннан кейін ATmega16U2 бөліміндегі Қолданбаны бастау түймешігін басыңыз.
- Ардуиноны компьютерден ажыратып, қайта жалғау арқылы қосыңыз.
- Қуатты жерге қысқа қосу арқылы Arduino Uno қалпына келтіріңіз.
- Arduino IDE ашыңыз және JoyStickControl_Code.ino файлын тақтаға жүктеңіз.
- Ардуиноны компьютерден ажыратып, қайта жалғау арқылы қосыңыз.
- Қуатты жерге қысқа қосу арқылы ардуиноны қалпына келтіріңіз.
- FLIP -ке оралыңыз, Құрылғыны таңдау Atmega16U2 деп жазылғанын тексеріңіз
- Байланыс ортасын таңдау түймесін басып, USB таңдаңыз.
- Файл> Hex файлын жүктеу> тармағына өтіп, Arduino-keyboard-0.3.hex файлын жүктеңіз
- FLIP терезесінде сіз үш бөлімді көруіңіз керек: Амалдар ағыны, FLASH буферлік ақпараты және ATmega16U2. Әрекеттер ағынында Өшіру, Бағдарламалау және Тексеру құсбелгісін қойыңыз, содан кейін Іске қосу түймешігін басыңыз.
- Бұл процесс аяқталғаннан кейін ATmega16U2 бөліміндегі Қолданбаны бастау түймешігін басыңыз.
- Ардуиноны компьютерден ажыратып, қайта жалғау арқылы қосыңыз.
- Енді сіз Device Manager -ге кіргенде, пернетақта астында жаңа HID пернетақта құрылғысы болуы керек.
- Блокнотты немесе кез келген мәтіндік редакторды ашып, джойстикті жылжытыңыз. Сіз терілген сандарды көруіңіз керек!
Егер сіз кодты Arduino эскизінде өзгерткіңіз келсе, мысалы, джойстикке жаңа пәрмендер жазсаңыз, оны әр уақытта барлық 3 файлмен жыпылықтау қажет болады.
Кейбір пайдалы сілтемелер: Arduino DFUAtLibUsbDfu.dll табылмады
Бұл пернетақта эмуляторы Майклдың 2012 жылдың 24 маусымындағы оқулығына негізделген.
14 -қадам: Желілік байланыс
Әлемнің кез келген жерінен бейне ағыны алу және роботқа пәрмендер жіберу үшін бізге ESP32-CAM-ге деректерді алу әдісі қажет. Бұл екі бөліктен тұрады, жергілікті желідегі қосылым өңдеушісі және жалпыға ортақ сервер. Бұған жету үшін үш файлды жүктеңіз:
- Handlers.py: ақпаратты ESP32-CAM мен жалпыға ортақ серверден жібереді (Python 3.8-де сыналған)
- Flask_app.py: сіздің қолданба кіріс сұрауларға қалай жауап беретінін анықтайды.
- Robot_stream.html: шолғышта бейнені көрсетеді және пернетақта / джойстик арқылы командаларды тыңдайды (Chrome -да тексерілген)
Қосылымды өңдеуші Сіз оны тікелей app_httpd.cpp сайтында кодтай аласыз, бірақ жөндеуді жеңілдету үшін біз сол желіге қосылған компьютерде жұмыс істейтін Python сценарийін қолданамыз. Handlers.py ашыңыз және IP мекенжайын және пайдаланушы атын жаңартыңыз, сонда сіз баруға дайынсыз. Бұл файлды іске қосқан кезде ағын басталады.
Қоғамдық сервер Интернеттегі барлық нәрсеге қол жеткізу үшін сіз өзіңіз таңдаған PaaS серверін іске қоса аласыз. Pythonanywhere (PA) параметрінде оны орнату 5 минуттан аз уақытты алады:
- Есептік жазбаға тіркеліңіз және кіріңіз
- «Веб» қойындысына өтіп, «Жаңа веб -қосымшаны қосу» түймесін басып, Flask және Python 3.6 таңдаңыз
- Flask_app.py файлын /mysite каталогына көшіріңіз
- Robot_stream.html файлын /mysite /templates каталогына көшіріңіз
- «Қайта жүктеу» түймесін басыңыз
Және … бәрі дайын!
Жауапкершіліктен бас тарту: Бұл желілік жұмыс процесі тез және қарапайым, бірақ идеалдан алыс. RTMP немесе розеткалар ағын үшін неғұрлым қолайлы болар еді, бірақ олар PA -да қолдау көрсетілмейді және желі мен серверді орнатуда біраз тәжірибені қажет етеді. Сондай -ақ, кіруді бақылау үшін кейбір қауіпсіздік механизмін қосу ұсынылады.
15 -қадам: Барлығын біріктіру
Енді роботыңызды қосыңыз, компьютерде handlers.py іске қосыңыз (роботпен бір желіге қосылған), және сіз роботты браузерден өзіңіз қалаған жерден орнатқан url негізінде басқара аласыз. (мысалы,
Ұсынылған:
Болу сенсоры: 12 қадам
Болу сенсоры: тозуға болатын заттар әдетте BLE қосылған құрылғылар болып табылады. Олар MAC мекенжайы бойынша кейбір деректерді мезгіл -мезгіл жарнамалап отырады. Біз бұл деректерді сканерлеу үшін ESP қолданамыз және белгілі бір MAC мекенжайын тапқан кезде Интернет арқылы оқиғаны іске қосамыз. Бұл нақты
Май роботы: экзистенциалды дағдарысы бар Arduino роботы: 6 қадам (суреттермен)
Сары май роботы: экзистенциалды дағдарысы бар Arduino роботы: Бұл жоба «Рик пен Морти» анимациялық сериясына негізделген. Эпизодтардың бірінде Рик робот жасайды, оның жалғыз мақсаты - май әкелу. Брюсфейдің (Брюссель инженерлік факультетінің) студенттері ретінде бізде механикаға тапсырма бар
[Arduino роботы] Роботты қалай түсіруге болады - Бас бармақ роботы - Серво моторы - Бастапқы код: 26 қадам (суреттермен)
[Arduino роботы] Роботты қалай түсіруге болады | Бас бармақ роботы | Серво моторы | Бастапқы код: Бас бармақ роботы. MG90S сервоқозғалтқышының потенциометрі қолданылды. Бұл өте көңілді және оңай! Код өте қарапайым. Бұл шамамен 30 жол. Бұл қозғалысты түсіруге ұқсайды. Кез келген сұрақ немесе пікір қалдырыңыз! [Нұсқаулық] Бастапқы код https: //github.c
Ең кішкентай және сүйкімді Arduino кедергілерден аулақ болу роботы: 5 қадам
Ең кішкентай және сүйкімді Arduino кедергілерден аулақ болу роботы: Сіздің бөлмеңіздегі сөренің жартысын алатын үлкен қолайсыз роботтардан шаршадыңыз ба? Сіз роботты өзіңізбен бірге алуға дайынсыз ба, бірақ ол қалтаңызға сыймайды ма? Мінеки! Мен сізге Minibot -ты ұсынамын, ол кедергілерден аулақ болу үшін ең кішкентай және роботты ұсынады
Arduino -мен қалай көңілді болу керек (және процесте геик болу): 12 қадам
Arduino -мен қалай көңіл көтеру керек (және процесте геик болыңыз): Сіз өзіңіздің Geek картаңызды тапқыңыз келе ме? Бастайық! Бұл нұсқаулық сізді ашық көзі Arduino әзірлеу мен прототиптеу платформасын қолдана отырып, қараңғы жаққа қарай бастайды. Бұл сізді микроконтроллерлермен таныстырады, жұмысты бастаңыз