Sadržaj:

Upravljajte gestama drona u 10: 4 koraka
Upravljajte gestama drona u 10: 4 koraka

Video: Upravljajte gestama drona u 10: 4 koraka

Video: Upravljajte gestama drona u 10: 4 koraka
Video: Как управлять дроном DJI AVATA?✅ #shorts 2024, Studeni
Anonim
Image
Image
Upravljajte gestama drona u 10 USD
Upravljajte gestama drona u 10 USD
Upravljajte gestama drona u 10 USD
Upravljajte gestama drona u 10 USD

Ovo uputstvo je vodič za pretvaranje vašeg R/C Drone -a u Grone Controlled Drone za manje od 10 USD!

Ja sam osoba koja je jako inspirirana Sci-Fi filmovima i nastoji prikazati tehnologiju prikazanu u filmu u stvarnom životu. Ovaj je projekt inspiracija za dva takva filma: "STAR WARS: The Empire Strikes Back" i "Project Almanac". U oba filma vidite leteći objekt (X-wing Starship & R/C Drone) koji je kontroliran samo pokretima ruke. To me inspiriralo da napravim nešto slično…

Očito ne posjedujem X-wing, pa, nažalost, moram raditi sa svojim Mini R/C Quadcopterom.

Dakle, plan je - na mom prijenosnom računalu bit će pokrenuta skripta za obradu slike koja će neprestano tražiti moju ruku i pratiti njezinu poziciju u video okviru. Nakon što dobije koordinate ruke, poslat će odgovarajući signal dronu, a to će biti učinjeno pomoću Arduina spojenog na prijenosno računalo zajedno s NRF24L01 2.4GHz primopredajnikom koji može izravno komunicirati s prijemnom pločom bilo kojeg R/C Drone -a.

Pribor

  • Prijenosno/stolno računalo s instaliranom web kamerom i Pythonom. (Koristim prijenosno računalo W indows s ugrađenom web kamerom i sa sustavom Python 2.7.14)
  • Bilo koji R/C Drone radi na frekvenciji 2,4 Ghz. (JJRC H36 u mom slučaju)
  • Arduino UNO zajedno sa svojim kablom za programiranje. (Koristim njegov klon jer je jeftiniji)
  • NRF24L01 Bežični primopredajnik antene na 2,4 GHz. (Ovo sam kupio odavde za samo 99 JPY (1,38 USD))
  • Adapterska ploča 3.3V za bežični modul 24L01. (Ovo sam kupio odavde za samo 49 JPY (0,68 USD))
  • Muške i ženske kratkospojnice x7

Korak 1: Prikupite potrepštine

Prikupite potrepštine!
Prikupite potrepštine!

Korak 2: Povezivanje NRF modula s Arduinom

Povezivanje NRF modula s Arduinom
Povezivanje NRF modula s Arduinom
Povezivanje NRF modula s Arduinom
Povezivanje NRF modula s Arduinom
Povezivanje NRF modula s Arduinom
Povezivanje NRF modula s Arduinom
Povezivanje NRF modula s Arduinom
Povezivanje NRF modula s Arduinom

Budući da imate sve dijelove, počnimo s povezivanjem NRF modula s Arduinom.

  1. Najprije umetnite NRF modul u utor na adapteru. Za to se možete obratiti gornjoj slici.
  2. Nakon toga povežite žice muški i ženski i spojite NRF adapter na Arduino na sljedeći način: (Pogledajte gornju shemu kruga)

    • NRF adapter adapter - Arduino pin
    • VCC - 5v
    • GND - GND
    • CE - digitalni pin 5
    • CSN - analogni pin 1
    • SCK - digitalni pin 4
    • MO - digitalni pin 3
    • MI - analogni pin 0
    • IRQ - Ne koristi se
  3. Nakon povezivanja povežite Arduino s računalom pomoću Arduino programirajućeg USB kabela i gotovo ste gotovi.

Korak 3: Prijeđimo na kodiranje

Idemo u kodiranje!
Idemo u kodiranje!
Idemo u kodiranje!
Idemo u kodiranje!

Sada počinje teži dio … !!!

Nisam sam napravio cijeli kôd. Umjesto toga, uzeo sam dijelove i dijelove koda od različitih programera i sve ih integrirao u jedan uz malo dotjerivanja. Stoga se svim izvornim autorima unaprijed pripisuju prave zasluge.

Ovdje možete preuzeti sve priložene kodove i omogućiti im da funkcioniraju. Ili možete otići u moje Github spremište, gdje ću stalno ažurirati najnoviji kôd radi boljeg praćenja.

Ručno praćenje:

Haar Cascade klasifikator koristi se za praćenje ruku u ovom projektu. Haar Kaskada trenira se postavljanjem pozitivne slike na skup negativnih slika. I ti se obučeni podaci obično pohranjuju u ".xml" datotekama. Na Internetu možete dobiti gotovo sve datoteke klasifikatora ili čak možete stvoriti neku svoju poput ove. Za ovaj projekt, kako nam je bilo potrebno kako bi ga kontrolirali pokretima rukom, upotrijebio sam klasifikator šake nazvan "closed_frontal_palm.xml" Aravind Nambissan za detekciju ruke. Ovaj kôd možete testirati pokretanjem koda "hand_live.py" u mom repo -u.

Odabir NRF24 koda koji odgovara vašem Dronu:

Dakle, prema proizvođaču i modelu vašeg drona, možete se obratiti spremištu Github - "nrf24_cx10_pc" koje je izradio Perry Tsao kako biste odabrali odgovarajući Arduino kôd za izvođenje koji će odgovarati njegovoj frekvenciji. Napravio je lijep vodič za upravljanje svojim CX10 Droneom preko računala.

Dok sam koristio bespilotnu letjelicu JJRC H36, referirao sam se na drugo spremište Github - "nrf24_JJRC_H36_pc" koje je bilo viljuška repoa Perryja Tsaoa koju je napravio Lewis Cornick za kontrolu svog JJRC H36 preko računala.

Priprema Arduina:

Proslijedio sam Lewisov repo na svoj Github koji možete klonirati ako radite na istom dronu. Morate jednom učitati kôd "nRF24_multipro.ino" na svoj Arduino Uno da bi se upario s vašim Droneom svaki put kada pokrenemo našu Python skriptu.

Testiranje serijske komunikacije:

U istom repo -u možete pronaći i kôd "serial_test.py" koji se može koristiti za testiranje serijske komunikacije Python skripte s Arduinom i ako se vaš dron upari ili ne. Ne zaboravite promijeniti COM port u kodu u skladu s COM portom vaše Arduino ploče.

Integriranje svega u jedan kod:

Stoga sam sve te kodove integrirao od strane različitih programera i napravio vlastiti kod "handserial.py". Ako radite potpuno isto što i ja s istim dronom, tada možete izravno pokrenuti ovaj kôd, a zatim možete upravljati svojim dronom samo pomicanjem šake u zrak. Kod prvi put prati pesnicu u video kadru. Ovisno o Y-koordinati šake, kôd šalje vrijednost gasa dronu čineći ga gore-dolje i slično, ovisno o X-koordinati šake, kôd šalje vrijednost elerona dronu kako bi krenuo lijevo ili desno.

Korak 4: Bilješka autora

Postoje 4 točke koje bih posebno htio spomenuti u vezi s ovim projektom:

  1. Kao što je ranije navedeno, ovaj kôd nisam u potpunosti izradio ja, ali neprestano radim na njemu i ažurirao bih kôd radi boljeg praćenja na mom Github spremištu. Stoga za sve upite ili ažuriranja možete posjetiti spremište ili me pingati na Instagramu.
  2. Trenutno koristimo web kameru prijenosnog računala koja ne dopušta perspektivu pogleda drona, ali ako je potrebno, kamere postavljene na dronu mogu se koristiti i za praćenje. To će pomoći u boljem pogledu i na kraju boljoj kontroli.
  3. Za ovaj projekt koristim bespilotnu letjelicu JJRC H36 koja je jedna od najjeftinijih dronova na tržištu pa mu nedostaje žiroskopska stabilnost. To je razlog zašto biste mogli osjetiti da je kretanje u videu klimavo, ali ako koristite bespilotnu letjelicu pristojne kvalitete s dobrom stabilnošću, nećete se suočiti s ovim problemom.
  4. Htio sam se pozabaviti računalnim vidom i kontrolom dronova, pa sam počeo s ovim projektom. No, nakon rada na računalnom vidu, osjećam da to nije optimalno rješenje za upravljanje dronom. Stoga planiram u budućnosti napraviti neku vrstu uređaja s rukavicama sa žiroskopom za upravljanje dronom. Zato pratite ažuriranja …

Ako vam se svidio ovaj vodič, lajkujte ga, podijelite i glasajte za njega.

To je zasad sve. Vidimo se uskoro sljedeći put …

Preporučeni: