Tartalomjegyzék:

Vezérelje drón gesztusát $ 10: 4 lépésben
Vezérelje drón gesztusát $ 10: 4 lépésben

Videó: Vezérelje drón gesztusát $ 10: 4 lépésben

Videó: Vezérelje drón gesztusát $ 10: 4 lépésben
Videó: Полный контроль над двигателем постоянного тока с помощью ESP8266 NodeMCU D1 Mini через Wi-Fi 2024, November
Anonim
Image
Image
Irányítsd a drón gesztust 10 dollárért
Irányítsd a drón gesztust 10 dollárért
Irányítsd a drón gesztust 10 dollárért
Irányítsd a drón gesztust 10 dollárért

Ez az oktatható útmutató útmutatója annak, hogy R/C drónját gesztusvezérelt drónná alakítsa 10 dollár alatt!

Olyan személy vagyok, akit nagyon inspirálnak a sci-fi filmek, és megpróbálom megvalósítani a filmben bemutatott technikát a valós életben. Ez a projekt két ilyen film ihletője: "STAR WARS: The Empire Strikes Back" és "Project Almanach". Mindkét filmben lát egy repülő tárgyat (X-szárnyú csillaghajó és egy R/C drón), amelyet csak kézmozdulatokkal irányítottak. Ez inspirált arra, hogy valami hasonlót készítsek…

Nyilvánvalóan nem az X-szárnyú a tulajdonom, ezért sajnos a Mini R/C Quadcopterrel kell dolgoznom.

A terv tehát az, hogy egy képfeldolgozó szkript fog futni a laptopomon, amely folyamatosan keresni fogja a kezemet, és nyomon követi a pozícióját a videókeretben. Amint megkapja a kéz koordinátáit, elküldi a megfelelő jelet a drónnak, és ezt a laptophoz csatlakoztatott Arduino használatával, valamint egy NRF24L01 2,4 GHz -es adó -vevő modullal teszi lehetővé, amely közvetlenül kommunikálhat bármely R/C drón vevőegységével..

Kellékek

  • Laptop/asztali számítógép, webkamerával és Python telepítéssel. (W indows laptopomat használom, beépített webkamerával és Python 2.7.14 futtatásával)
  • Bármilyen R/C Drone, amely 2,4 GHz -es frekvencián működik. (JJRC H36 az én esetemben)
  • Az Arduino UNO programozókábelével együtt. (Én a klónját használom, mert olcsóbb)
  • NRF24L01 2,4 GHz -es antenna vezeték nélküli adó -vevő modul. (Ezt innen vettem, mindössze 99 ₹ (1,38 USD) áron)
  • 3.3V adapterkártya 24L01 vezeték nélküli modulhoz. (Ezt innen vettem, mindössze 49 ₹ (0,68 USD) áron)
  • Férfi -női jumper vezetékek x7

Lépés: Gyűjtse össze a kellékeket

Gyűjtsd össze a kellékeket!
Gyűjtsd össze a kellékeket!

2. lépés: Az NRF modul csatlakoztatása az Arduino -val

Az NRF modul csatlakoztatása az Arduino -val
Az NRF modul csatlakoztatása az Arduino -val
Az NRF modul csatlakoztatása az Arduino -val
Az NRF modul csatlakoztatása az Arduino -val
Az NRF modul csatlakoztatása az Arduino -val
Az NRF modul csatlakoztatása az Arduino -val
Az NRF modul csatlakoztatása az Arduino -val
Az NRF modul csatlakoztatása az Arduino -val

Most, hogy megvan az összes alkatrész, kezdjük el az NRF modul bekötését az Arduino -val.

  1. Először helyezze be az NRF modult az adapterben található nyílásba. Erre hivatkozhat a fenti képen.
  2. Ezt követően vigye a férfi -női vezetékeket, és csatlakoztassa az NRF adaptert az Arduino -hoz az alábbiak szerint: (Lásd a fenti áramköri diagramot)

    • NRF Adapter Pin - Arduino Pin
    • VCC - 5V
    • GND - GND
    • CE - digitális tű 5
    • CSN - analóg pin 1
    • SCK - Digitális tű 4
    • MO - Digitális Pin 3
    • MI - analóg pin 0
    • IRQ - Nem használt
  3. Miután a kapcsolat létrejött, csatlakoztassa az Arduino -t a számítógéphez az Arduino programozó USB -kábel használatával, és majdnem kész.

3. lépés: Kezdjünk bele a kódolásba

Kezdjünk bele a kódolásba!
Kezdjünk bele a kódolásba!
Kezdjünk bele a kódolásba!
Kezdjünk bele a kódolásba!

Most kezdődik a nehéz rész… !!!

Nem magam készítettem el a teljes kódot. Ehelyett a kódrészleteket és biteket különböző fejlesztőktől vettem, és mindegyiket egy csekély módosítással integráltam egybe. Ezért az eredeti alkotóknak megfelelő elismerést kell adni.

Itt letöltheti az összes csatolt kódot, és működhet. Vagy elmehet a Github tárhelyemre, ahol folyamatosan frissítem a legújabb kódot a jobb követés érdekében.

Kézi követés:

Ebben a projektben a Haar Cascade osztályozót használják a kéz követésére. A Haar -kaszkádot úgy képzik, hogy a pozitív képet egymásra helyezik a negatív képek halmazán. Ezeket a betanított adatokat általában ".xml" fájlokban tárolják. Az Interneten szinte bármihez hozzájuthat osztályozófájlokhoz, vagy akár létrehozhat egy ilyet. Ebben a projektben, mivel kézi gesztusvezéreltté kellett tennünk, a kezem észleléséhez egy ökölosztályozót használtam, amelyet "closed_frontal_palm.xml" néven készített, Aravind Nambissan. Ezt a kódot úgy tesztelheti, hogy a repo -ban futtatja a "hand_live.py" kódot.

Az NRF24 kód kiválasztása a drónhoz:

Tehát a drón gyártója és modellje szerint a Perry Tsao által készített Github tárolóban - "nrf24_cx10_pc" - választhatja ki a megfelelő futtatandó Arduino kódot, amely megfelel a frekvenciájának. Szép oktatóanyagot készített a CX10 Drone PC -n való vezérléséhez.

Miközben a JJRC H36 drónt használtam, egy másik Github tárolóra hivatkoztam - "nrf24_JJRC_H36_pc", amely a Perry Tsao repójának villája volt, amelyet Lewis Cornick készített a JJRC H36 számítógépes vezérléséhez.

Az Arduino előkészítése:

Elágaztam Lewis repóját a Githubomhoz, amelyet klónozhat, ha ugyanazon a drónon dolgozik. Egyszer fel kell töltenie az "nRF24_multipro.ino" kódot az Arduino Uno eszközére, hogy minden alkalommal, amikor Python -szkriptünket futtatjuk, párosítani lehessen a drónjával.

Soros kommunikáció tesztelése:

Ugyanebben a repóban találhat egy "serial_test.py" kódot is, amellyel tesztelheti a Python szkript soros kommunikációját az Arduino -val, és hogy a drón párosítva van -e. Ne felejtse el megváltoztatni a COM portot a kódban az Arduino kártya COM portja szerint.

Mindent egyetlen kódba integrálva:

Így ezeket a kódokat különböző fejlesztők integráltam, és elkészítettem saját kódomat "handserial.py". Ha pontosan ugyanazt csinálja, mint én ugyanazzal a drónnal, akkor közvetlenül futtathatja ezt a kódot, és akkor irányíthatja a drónját, csak mozgassa az öklét a levegőben. A kód először ököllel követi a videókeretet. Az ököl Y-koordinátájától függően a kód elküldi a gázkart a drónnak, ami felfelé vagy lefelé megy, és hasonlóan az ököl X-koordinátájától függően a kód elküldi a csűrő értékét a drónhoz, hogy balra vagy jobbra menjen.

4. lépés: Szerzői megjegyzés

4 pontot szeretnék megemlíteni ezzel a projekttel kapcsolatban:

  1. Amint azt korábban említettük, ezt a kódot nem teljesen én készítettem, de folyamatosan dolgozom rajta, és frissíteném a kódot a Github -tárom jobb nyomon követése érdekében. Tehát bármilyen kérdés vagy frissítés esetén felkeresheti a tárolót, vagy pingolhat az Instagramon.
  2. Jelenleg a laptop webkameráját használjuk, amely nem teszi lehetővé a drón látószögének perspektíváját, de szükség esetén a drónra szerelt kamerák is használhatók nyomon követésre. Ez elősegíti a jobb rálátást és végső soron a jobb irányítást.
  3. Ehhez a projekthez egy JJRC H36 drónt használok, amely az egyik legolcsóbb drón a piacon, ezért hiányzik a giroszkópikus stabilitás. Ezért érezheti, hogy a mozgás ingatag, de ha jó minőségű, jó stabilitású drónt használ, akkor nem szembesül ezzel a problémával.
  4. Szerettem volna a Computer Vision és a drónvezérlés körül foglalkozni, ezért ezzel a projekttel kezdtem. De miután dolgoztam a számítógépes látáson, úgy érzem, hogy ez nem az optimális megoldás a drón irányítására. Így tervezek valamilyen kesztyű típusú készüléket készíteni giroszkópos érzékelővel a drón irányítására a jövőben. Szóval várjuk a frissítéseket…

Ha tetszett ez az oktatóanyag, akkor lájkold és oszd meg, és szavazz is rá.

Egyelőre ennyi.. Legközelebb találkozunk…

Ajánlott: