Sadržaj:

Upravljajte pokretom drona u 10 USD: 4 koraka
Upravljajte pokretom drona u 10 USD: 4 koraka

Video: Upravljajte pokretom drona u 10 USD: 4 koraka

Video: Upravljajte pokretom drona u 10 USD: 4 koraka
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembar
Anonim
Image
Image
Upravljajte pokretom drona za 10 USD
Upravljajte pokretom drona za 10 USD
Upravljajte pokretom drona za 10 USD
Upravljajte pokretom drona za 10 USD

Ovo uputstvo je vodič za pretvaranje vašeg R/C drona u bespilotnu letjelicu za manje od 10 USD!

Ja sam osoba koja je jako inspirirana Sci-Fi filmovima i trudi se da tehnologiju prikazanu u filmu učini stvarnim životom. Ovaj projekat je 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. Ovo me je inspirisalo da napravim nešto slično …

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

Dakle, plan je - na mom prijenosnom računaru bit će pokrenuta skripta za obradu slike koja će neprestano tražiti moju ruku i pratiti njenu poziciju u okviru za video. Nakon što dobije koordinate ruke, poslat će odgovarajući signal dronu, a to će se učiniti 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.

Supplies

  • Laptop/Desktop računar sa instaliranom Web kamerom i Pythonom. (Koristim svoj laptop W indows sa ugrađenom web kamerom i sa Pythonom 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))
  • Žice kratkospojnika muški na ženski 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

Pošto imate sve dijelove, počnimo s povezivanjem NRF modula s Arduinom.

  1. Prvo umetnite NRF modul u utor koji se nalazi 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 dijagram kola iznad)

    • 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

Uđimo u kodiranje!
Uđimo u kodiranje!
Uđimo u kodiranje!
Uđimo u kodiranje!

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

Nisam sam napravio ceo 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 odgovarajućim zaslugama svim originalnim stvaraocima daju unaprijed.

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 se koristi za praćenje ruku u ovom projektu. Haar kaskada se trenira postavljanjem pozitivne slike na skup negativnih slika. I ovi obučeni podaci obično se čuvaju u ".xml" datotekama. Na Internetu možete dobiti bilo koje datoteke klasifikatora ili čak možete stvoriti neku svoju poput ove. Za ovaj projekt, kako nam je bilo potrebno da ga kontroliramo pokretima rukom, upotrijebio sam klasifikator šake nazvan "closed_frontal_palm.xml" proizvođača Aravind Nambissan za moju detekciju ruke. Ovaj kôd možete testirati pokretanjem koda "hand_live.py" u mom repo -u.

Odabir koda NRF24 koji odgovara vašem dronu:

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

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

Priprema Arduina:

Ja sam proslijedio Lewisov repo na moj 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 Drone -om 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 jednom kodu:

Zato sam integrirao sve ove kodove od strane različitih programera i napravio svoj vlastiti kod "handserial.py". Ako radite potpuno isto što i ja sa istim bespilotnim letjelicom, tada možete izravno pokrenuti ovaj kôd, a zatim možete kontrolirati svoj dron samo pomicanjem šake u zrak. Kod prvi put prati pesnicu u video kadru. Ovisno o Y-koordinati šake, kôd šalje vrijednost leptira za gas dronom č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: Napomena autora

Postoje 4 točke koje bih posebno želio spomenuti u vezi ovog projekta:

  1. Kao što je ranije navedeno, ovaj kod nisam u potpunosti napravio ja, ali neprestano radim na njemu i ažurirao bih kôd radi boljeg praćenja na mom Github spremištu. Dakle, za sve upite ili ažuriranja možete posjetiti spremište ili me pingati na Instagramu.
  2. Trenutno koristimo web kameru prijenosnog računara 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čunarskim vidom i kontrolom dronova, pa sam počeo s ovim projektom. Ali nakon rada na računarskom vidu, osjećam da to nije optimalno rješenje za upravljanje dronom. Stoga planiram napraviti neku vrstu uređaja u obliku rukavica sa žiroskopom za kontrolu drona u budućnosti. Zato pratite ažuriranja …

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

To je sve za sada.. Vidimo se uskoro sledeći put …

Preporučuje se: