Съдържание:

Направете своя жест с дрон контролиран в $ 10: 4 стъпки
Направете своя жест с дрон контролиран в $ 10: 4 стъпки

Видео: Направете своя жест с дрон контролиран в $ 10: 4 стъпки

Видео: Направете своя жест с дрон контролиран в $ 10: 4 стъпки
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноември
Anonim
Image
Image
Направете своя жест с дрон контролиран в $ 10
Направете своя жест с дрон контролиран в $ 10
Направете своя жест с дрон контролиран в $ 10
Направете своя жест с дрон контролиран в $ 10

Тази инструкция е ръководство за трансформиране на вашия R/C Drone в Grone Controlled Drone под $ 10!

Аз съм човек, който е много вдъхновен от научнофантастичните филми и се опитва да направи технологията, показана във филма, в реалния живот. Този проект е вдъхновение от два такива филма: „ЗВЕЗДНИ ВОЙНИ: Империята отвръща на удара“и „Проект алманах“. И в двата филма виждате летящ обект (X-wing Starship & R/C Drone), които се контролират само с движения на ръцете. Това ме вдъхнови да направя нещо подобно …

Очевидно не притежавам X-wing, така че, за съжаление, трябва да работя с моя Mini R/C Quadcopter.

Така че планът е - на моя лаптоп ще работи скрипт за обработка на изображения, който непрекъснато ще търси ръката ми и ще проследява позицията му във видеокадъра. След като получи координатите на ръката, той ще изпрати съответния сигнал към дрона и това ще стане с помощта на Arduino, свързан към лаптоп, заедно с NRF24L01 2.4GHz трансивър модул, който може директно да комуникира с приемната платка на всеки R/C Drone.

Консумативи

  • Лаптоп/настолен компютър с инсталирана уеб камера и Python. (Използвам моя лаптоп W indows с вградената уеб камера и работещ Python 2.7.14)
  • Всеки R/C Drone, работещ на 2.4Ghz честота. (JJRC H36 в моя случай)
  • Arduino UNO заедно с кабела за програмиране. (Използвам неговия клон, тъй като е по -евтин)
  • NRF24L01 2.4GHz антенна безжична трансийвър модул. (Купих това от тук само за 99 ₹ ($ 1,38))
  • 3.3V адаптерна платка за безжичен модул 24L01. (Купих това от тук само за 49 ₹ ($ 0,68))
  • Мъжки към женски джъмперни проводници x7

Стъпка 1: Съберете консумативите

Съберете консумативите!
Съберете консумативите!

Стъпка 2: Свързване на NRF модул с Arduino

Свързване на NRF модул с Arduino
Свързване на NRF модул с Arduino
Свързване на NRF модул с Arduino
Свързване на NRF модул с Arduino
Свързване на NRF модул с Arduino
Свързване на NRF модул с Arduino
Свързване на NRF модул с Arduino
Свързване на NRF модул с Arduino

Сега, когато имате всички части, нека започнем с свързването на NRF модула с Arduino.

  1. Първо, поставете NRF модула в слота, предоставен на адаптера. Можете да се обърнете към снимката по -горе за това.
  2. След това вземете мъжки към женски проводници и свържете NRF адаптера към Arduino, както следва: (Вижте електрическата схема по -горе)

    • NRF адаптер щифт - Arduino щифт
    • VCC - 5v
    • GND - GND
    • CE - цифров щифт 5
    • CSN - аналогов извод 1
    • SCK - цифров извод 4
    • MO - цифров извод 3
    • MI - аналогов извод 0
    • IRQ - Не се използва
  3. След като връзката се осъществи, свържете Arduino към вашия компютър, като използвате USB кабел за програмиране на Arduino и сте почти готови.

Стъпка 3: Да преминем към кодирането

Нека да преминем към кодирането!
Нека да преминем към кодирането!
Нека да преминем към кодирането!
Нека да преминем към кодирането!

Сега започва трудната част … !!!

Не съм направил целия код сам. Вместо това взех части и части от код от различни разработчици и ги интегрирах в един с малко ощипване. Следователно, адекватни кредити на всички оригинални създатели се дават предварително.

Можете да изтеглите всички прикачени кодове тук и да го накарате да работи. Или иначе можете да отидете в моето хранилище на Github, където постоянно ще актуализирам най -новия код за по -добро проследяване.

Ръчно проследяване:

Класификаторът Haar Cascade се използва за ръчно проследяване в този проект. Каскадата Хаар се обучава чрез наслагване на положителното изображение върху набор от негативни изображения. И тези обучени данни обикновено се съхраняват във ".xml" файлове. Може да получите файлове на Classifier от почти всичко в интернет или дори да създадете свой собствен като този. За този проект, тъй като ни беше необходимо, за да го направим ръчно контролиран с жестове, използвах класификатор за юмруци, наречен „closed_frontal_palm.xml“, направен от Aravind Nambissan за моето разпознаване на ръце. Можете да тествате този код, като стартирате кода „hand_live.py“в моето репо.

Изборът на кода NRF24 в съответствие с вашия Drone:

Така че според производителя и модела на вашия дрон, можете да се обърнете към хранилището на Github - „nrf24_cx10_pc“, направено от Perry Tsao, за да изберете правилния код за изпълнение на Arduino, който ще съответства на неговата честота. Той е направил хубав урок за управление на своя CX10 Drone през компютър.

Докато използвах дрон JJRC H36, се позовах на друго хранилище на Github - „nrf24_JJRC_H36_pc“, което беше вилица от репото на Пери Цао, направено от Люис Корник за управление на неговия JJRC H36 през компютър.

Подготовка на Arduino:

Разделих репото на Луис към моя Github, което можете да клонирате, ако работите на същия дрон. Трябва да качите код „nRF24_multipro.ino“веднъж на вашия Arduino Uno, за да го сдвоите с вашия Drone всеки път, когато изпълняваме нашия скрипт на Python.

Тестване на серийна комуникация:

В същото репо може да намерите и код „serial_test.py“, който може да се използва за тестване на серийна комуникация на скрипта на Python с Arduino и ако вашият дрон се сдвои или не. Не забравяйте да промените COM порта в кода според COM порта на вашата платка Arduino.

Интегриране на всичко в един код:

Затова интегрирах всички тези кодове от различни разработчици и направих свой собствен код "handserial.py". Ако правите точно същото, което аз правя с абсолютно същия дрон, тогава можете директно да стартирате този код и след това можете да контролирате своя дрон, като просто движите юмрука си във въздуха. Кодът първо проследява за юмрук във видео кадъра. В зависимост от Y-координатата на юмрука, кодът изпраща стойността на дросела към дрона, като го кара да се изкачва нагоре или надолу и по подобен начин в зависимост от X-координатата на юмрука, кодът изпраща стойността на елерона до дрона, който го кара да отива наляво или надясно.

Стъпка 4: Бележка на автора

Има 4 точки, които специално бих искал да спомена относно този проект:

  1. Както беше посочено по -рано, този код не е направен изцяло от мен, но работя по него непрекъснато и ще актуализирам кода за по -добро проследяване в моето хранилище на Github. Така че за всякакви запитвания или актуализации можете да посетите хранилището или да ме пингнете в Instagram.
  2. В момента използваме уеб камерата на лаптопа, която не позволява да се вижда перспективата за изгледа на дрона, но ако е необходимо, камерите, монтирани на дрона, могат да се използват и за целите на проследяването. Това ще помогне за по -добър изглед и в крайна сметка за по -добър контрол.
  3. За този проект използвам дрон JJRC H36, който е един от най -евтините дронове, налични на пазара, поради което му липсва жироскопична стабилност. Това е причината да почувствате, че движението във видеото е нестабилно, но ако използвате дрон с прилично качество с добра стабилност, няма да се сблъскате с този проблем.
  4. Исках да се занимавам с Computer Vision и управлението на дронове, затова започнах с този проект. Но след като работих върху компютърното зрение, чувствам, че това не е оптималното решение за управление на дрона. По този начин планирам да направя някакво устройство от тип ръкавици със сензор за жироскоп, за да управлявам дрона в бъдеще. Така че следете за актуализации …

Ако този урок ви е харесал, моля харесайте и споделете и също гласувайте за него.

Това е всичко засега. До скоро следващия път …

Препоръчано: