Sadržaj:
- Supplies
- Korak 1: Prikupite potrepštine
- Korak 2: Povezivanje NRF modula s Arduinom
- Korak 3: Prijeđimo na kodiranje
- Korak 4: Napomena autora
Video: Upravljajte pokretom drona u 10 USD: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
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
Korak 2: Povezivanje NRF modula s Arduinom
Pošto imate sve dijelove, počnimo s povezivanjem NRF modula s Arduinom.
- Prvo umetnite NRF modul u utor koji se nalazi na adapteru. Za to se možete obratiti gornjoj slici.
-
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
- 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
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:
- 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.
- 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.
- 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.
- 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:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način da napravite igru, posebno nešto poput zagonetke, vizuelnog romana ili avanturističke igre
Super svijetla svjetiljka od 100 USD za manje od 10 USD!: 5 koraka
Super svijetla svjetiljka od 100 USD za manje od 10 USD !: Odmah da vam kažem da je inspiracija za ovaj Instructable zaslužna za dchall8 za njegovu Tactical Flashlight Instructable. Mislio sam da mora postojati lakši način za oblikovanje manje svjetiljke s manje hardvera i one za koju je potrebno manje vremena. Ja p
Izgradite računarsko sučelje Stephena Hawkinga u roku od samo 1000 USD (15 USD) pomoću Arduina: 5 koraka
Izgradite računarsko sučelje Stephena Hawkinga u roku od samo 1000 USD (15 USD) Korištenjem Arduina: Sve je počelo pitanjem "Kako Stephen Hawking govori?", Nakon čitanja o njegovom računarskom sistemu palo mi je na pamet da bih trebao ponuditi jeftiniji verziju sistema bez ugrožavanja previše funkcija. Ovaj uređaj
Napravite vlastitu ploču (2,00 USD umjesto 40,00 USD): 4 koraka
Napravite vlastitu ploču od naslona (2,00 USD umjesto 40,00 USD): Jednostavno napravite drugu ploču bez ikakvih pravih materijala
Napravite vlastitu profesionalnu mašinu za čišćenje zapisa za manje od 80 USD i uštedite do 3000 USD i više .: 6 koraka (sa slikama)
Napravite vlastitu profesionalnu mašinu za čišćenje ploča za manje od 80 USD i uštedite do 3000 USD i više. Oprostite na engleskom jeziku. Nakon što sam se vratio zvuku starog dobrog vinila, imao sam problem sa kojim se susreću svi ljubitelji ploča. Kako ispravno očistiti zapise!? Postoji mnogo načina na Internetu. Jeftiniji načini poput Knosti ili Discofilma, ali i