Мазмұны:
- Жабдықтар
- 1 -қадам: Жабдықтарды жинаңыз
- 2 -қадам: NRF модулін Arduino көмегімен қосу
- 3 -қадам: кодтауға кірісейік
- 4 -қадам: Авторлық ескерту
Бейне: Ұшқышсыз қимылыңызды $ 10: 4 қадаммен басқарыңыз
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл нұсқаулық R/C ұшағын 10 доллардан төмен қимылды басқаратын дронға айналдыруға арналған нұсқаулық!
Мен ғылыми фантастикалық фильмдерден шабыттанған адаммын және фильмде көрсетілген технологияны өмірде көрсетуге тырысамын. Бұл жоба екі фильмнің шабыты: «ЖҰЛДЫЗДЫҚ СОҒЫСТАР: Империя кері соққы береді» және «Жобалық альманах». Екі фильмде де сіз қолмен ғана басқарылатын ұшатын затты көресіз (X қанатты Starship & R/C Drone). Бұл мені ұқсас нәрсені жасауға шабыттандырды …
Әрине, менде X-қанаты жоқ, сондықтан, өкінішке орай, менің Mini R/C Quadcopter-мен жұмыс істеуге тура келеді.
Менің жоспарымда - менің ноутбугымда суретті өңдейтін сценарий болады, ол үнемі менің қолымды іздейді және оның бейне кадрдағы орнын бақылайды. Қолдың координаттарын алғаннан кейін ол дронға тиісті сигналды жібереді және бұл ноутбукке қосылған Arduino көмегімен, NRF24L01 2.4 ГГц трансивер модулімен, ол кез келген R/C дронының қабылдағыш тақтасымен тікелей байланыса алады..
Жабдықтар
- Веб -камерасы мен Python орнатылған ноутбук/жұмыс үстелі. (Мен кіріктірілген веб-камерасы бар және Python 2.7.14 жұмыс істейтін W indows ноутбукін қолданамын)
- Кез келген R/C дроны 2.4 ГГц жиілігінде жұмыс істейді. (Менің жағдайда JJRC H36)
- Arduino UNO және оның бағдарламалау кабелі. (Мен оның клонын қолданамын, себебі ол арзан)
- NRF24L01 2.4 ГГц антенналық сымсыз таратқыш модулі. (Мен мұны осы жерден небәрі 99 долларға (1,38 доллар) сатып алдым)
- 24L01 сымсыз модулі үшін 3.3В адаптер тақтасы. (Мен мұны осы жерден небәрі 49 долларға (0,68 доллар) сатып алдым)
- Еркек пен әйелге секіру сымдары x7
1 -қадам: Жабдықтарды жинаңыз
2 -қадам: NRF модулін Arduino көмегімен қосу
Енді сізде барлық бөліктер болғандықтан, NRF модулін Arduino -мен сыммен қосуды бастайық.
- Біріншіден, NRF модулін адаптерде берілген ұяға салыңыз. Ол үшін жоғарыдағы суретке сілтеме жасай аласыз.
-
Осыдан кейін, Male to Female сымдарын алыңыз және NRF адаптерін Arduino -ға келесідей қосыңыз: (жоғарыдағы схеманы қараңыз)
- NRF адаптерінің штыры - Arduino түйрегіші
- VCC - 5В
- GND - GND
- CE - сандық түйреуіш 5
- CSN - Аналогтық түйреуіш 1
- SCK - сандық түйреуіш 4
- MO - сандық түйреуіш 3
- MI - аналогтық түйреуіш 0
- IRQ - қолданылмайды
- Байланыс орнатылғаннан кейін Arduino -ны компьютерге Arduino Programming USB кабелі арқылы қосыңыз және сіз дерлік аяқталдыңыз.
3 -қадам: кодтауға кірісейік
Міне, қиын кезең басталады … !!!
Мен бүкіл кодты өз бетімше жасаған жоқпын. Оның орнына мен әр түрлі әзірлеушілерден кодтың бөліктерін және биттерін алдым және олардың барлығын аздап түзетумен біріктірдім. Осылайша, барлық түпнұсқалық жасаушыларға лайықты несие беріледі.
Сіз мұнда бекітілген барлық кодтарды жүктей аласыз және оны жұмыс жасай аласыз. Әйтпесе, сіз менің Github репозиторийіме кіре аласыз, онда мен жақсырақ бақылау үшін соңғы кодты үнемі жаңартып отырамын.
Қолмен бақылау:
Haar Cascade классификаторы бұл жобада қолмен бақылау үшін қолданылады. Хаар каскады позитивті бейнені теріс суреттер жиынтығының үстіне қою арқылы дайындалады. Және бұл үйретілген деректер әдетте «.xml» файлдарында сақталады. Сіз Интернетте кез келген дерлік Classifier файлдарын ала аласыз немесе сіз өзіңіздің жеке файлыңызды жасай аласыз. Бұл жоба үшін, қолмен қимылмен басқарылатындай етіп, мен қолымды анықтау үшін Аравинд Намбиссан жасаған «clos_frontal_palm.xml» деп аталатын жұдырық жіктеуішті қолдандым. Сіз бұл кодты репода «hand_live.py» кодын іске қосу арқылы тексере аласыз.
Drone -ға сәйкес келетін NRF24 кодын таңдау:
Сіздің ұшқышсыз ұшағыңыздың өндірушісі мен моделіне сәйкес, сіз Perry Tsao жасаған Github репозиторийіне жүгіне аласыз, ол оның жиілігіне сәйкес келетін Arduino кодын таңдау үшін. Ол CX10 Drone -ді компьютерде басқаруға арналған жақсы оқулық жасады.
Мен JJRC H36 дронын қолдана отырып, мен басқа Github репозиторийіне сілтеме жасадым - бұл «nrf24_JJRC_H36_pc», ол Перси Цаоның Льюис Корникпен компьютерде JJRC H36 басқару үшін жасаған репо -релясы болды.
Arduino -ны дайындау:
Мен Льюистің репосын Github -ға бөлдім, егер сіз сол дронда жұмыс жасасаңыз, оны клондай аласыз. Біз Python сценарийін іске қосқан сайын оны Drone -мен жұптастыру үшін Arduino Uno -ға «nRF24_multipro.ino» кодын бір рет жүктеп алуыңыз керек.
Сериялық байланысты тексеру:
Сол репода сіз Python сценарийінің Arduino -мен сериялық байланысын тексеруге және сіздің ұшқышыңыз жұптасса немесе қосылмағанын тексеруге болатын «serial_test.py» кодын таба аласыз. COM портын Arduino тақтасының COM портына сәйкес өзгертуді ұмытпаңыз.
Барлығын бір кодқа біріктіру:
Сондықтан мен осы кодтардың барлығын әр түрлі әзірлеушілермен біріктірдім және өзімнің «handserial.py» кодын жасадым. Егер сіз дәл мен басқаратын дронмен бірдей нәрсені істеп жатсаңыз, онда сіз бұл кодты тікелей іске қоса аласыз, содан кейін жұдырығыңызды ауада қозғау арқылы дронды басқара аласыз. Код алдымен бейне кадрдағы жұдырықты іздейді. Жұдырықтың Y-координатасына байланысты код дроссельге дроссельдің мәнін жібереді, оны жоғары немесе төмен көтереді, сол сияқты жұдырықтың X координатына байланысты код дилерге оны солға немесе оңға жібереді..
4 -қадам: Авторлық ескерту
Бұл жобаға қатысты ерекше атап өткім келетін 4 тармақ бар:
- Бұрын айтылғандай, бұл кодты мен толық жасамадым, бірақ мен үнемі жұмыс жасаймын және Github репозиторийінде бақылауды жақсарту үшін кодты жаңартатын боламын. Сондықтан кез келген сұраулар мен жаңартулар үшін сіз репозиторийге кіре аласыз немесе мені Instagram -да жібере аласыз.
- Қазіргі уақытта біз ноутбуктің веб -камерасын қолданамыз, ол дронның көзқарасына мүмкіндік бермейді, бірақ қажет болған жағдайда дронға орнатылған камераларды бақылау үшін де қолдануға болады. Бұл жақсы көзқарас пен ақырында бақылауды жақсартуға көмектеседі.
- Бұл жоба үшін мен JJRC H36 дронын қолданамын, ол нарықтағы ең арзан дрондардың бірі, сондықтан оған гироскопиялық тұрақтылық жетіспейді. Сіз бейнедегі қозғалыстың дірілдейтінін сезуіңіз мүмкін, бірақ егер сіз жақсы тұрақтылықпен жақсы сапалы дронды қолдансаңыз, сіз бұл мәселеге тап болмайсыз.
- Мен Computer Vision мен дронды басқаруды білгім келді, сондықтан мен бұл жобаны бастадым. Бірақ компьютерде көру арқылы жұмыс жасағаннан кейін мен дронды басқарудың оңтайлы шешімі емес екенін сеземін. Мен болашақта дронды басқару үшін Gyro сенсоры бар қолғап тәрізді құрылғы жасауды жоспарлап отырмын. Сондықтан жаңартуларды күтіңіз …
Егер сізге бұл оқулық ұнаған болса, ұнатыңыз, бөлісіңіз және оған дауыс беріңіз.
Әзірге бәрі осылай.. Келесі кездескенше …
Ұсынылған:
Ұшқышсыз ұшу алаңы: 5 қадам
Ұшқышсыз тікұшақ айлағы: Бұл нұсқаулық Оңтүстік Флорида Университетіндегі Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com) Бұл радиожиілікті қолдана отырып, үнемді дрондық тікұшақ алаңын құру туралы нұсқаулық
Ұшқышсыз балық аулауға арналған қашықтан қызмет көрсететін құлатқыш: 7 қадам
Ұшқышсыз балық аулауға арналған қашықтан серводоральды тамшы: міне, мен осында жатқан бөліктерден керемет серпімді шағын серво тамызғыш жасадым, бұл сіздің ұшқышсыз кездейсоқ заттарды лақтырып тастау үшін қолайлы болар еді, мысалы, достарыңызбен тамақтанып, су тастаңыз. оларға әуе шарлары
Ұшқышсыз қондырмалар (оны жылжытыңыз): 4 қадам
Ұшқышсыз қондырғылар (оны жылжытуға мүмкіндік береді): Мен кішкентай жарыссыз дронға орнатылатын және қарапайым серво көмегімен жұмыс істейтін қондырмалар жасадым. Біріншісі - босату механизмі. Кішкене таяқшаны жақтаудан тартып алу үшін серво пайдаланады, оған ілулі тұрған нәрсені тастайды. Секунд
Ұшқышсыз түсіргіш: 7 қадам
Drone Dropper: Төменде осы конструкцияға арналған барлық бөлшектердің тізімі берілген
ESP32 LoRa басқарылатын ұшқышсыз қозғалтқыш: 10 қадам
ESP32 LoRa басқарылатын ұшқышсыз қозғалтқыш: Бүгін біз жиі «щеткасыз» қозғалтқыштар деп аталатын дрон қозғалтқыштарын талқылаймыз. Олар аэромоделингте кеңінен қолданылады, негізінен дрондарда, олардың күші мен жоғары айналуына байланысты. Біз ESC және ESP32 көмегімен щеткасыз қозғалтқышты басқару туралы білетін боламыз