Kazalo:
- Zaloge
- 1. korak: Zberite zaloge
- 2. korak: Povezava modula NRF z Arduinom
- 3. korak: Pojdimo v kodiranje
- 4. korak: opomba avtorja
Video: Naj bo vaša poteza brezpilotnega zrakoplova nadzorovana v 10: 4 korakih
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
To navodilo je vodnik za preoblikovanje vašega R/C brezpilotnega letala v Drone z gestami pod 10 USD!
Sem oseba, ki jo zelo navdušujejo znanstvenofantastični filmi in poskuša ustvariti tehnologijo, prikazano v filmu, v resničnem življenju. Ta projekt je navdih za dva takšna filma: "WARS STAR: The Empire Strikes Back" in "Project Almanac". V obeh filmih vidite leteči objekt (X-wing Starship & R/C Drone), ki je bil nadzorovan samo z gibi rok. To me je navdihnilo, da naredim nekaj podobnega …
Očitno nimam X-winga, zato moram na žalost delati s svojim mini R/C Quadcopterjem.
Načrt je torej - na mojem prenosnem računalniku bo deloval skript za obdelavo slik, ki bo nenehno iskal mojo roko in spremljal njen položaj v video okvirju. Ko dobi koordinate roke, bo poslal ustrezen signal dronu, to pa bo storil z uporabo Arduina, povezanega s prenosnikom, skupaj z oddajnim modulom NRF24L01 2,4 GHz, ki lahko neposredno komunicira s sprejemno ploščo katerega koli R/C Drone.
Zaloge
- Prenosni/namizni računalnik z nameščeno spletno kamero in Pythonom. (Uporabljam prenosni računalnik W indows z vgrajeno spletno kamero in izvajanjem Pythona 2.7.14)
- Vsak R/C Drone, ki deluje na frekvenci 2,4 Ghz. (JJRC H36 v mojem primeru)
- Arduino UNO skupaj s svojim programskim kablom. (Uporabljam njegov klon, ker je cenejši)
- NRF24L01 brezžični antenski oddajni modul z 2,4 GHz anteno. (To sem kupil tukaj za samo 99 ₹ (1,38 USD))
- 3.3V adapterna plošča za brezžični modul 24L01. (To sem kupil tukaj za samo 49 ₹ (0,68 USD))
- Moški in ženski mostički x7
1. korak: Zberite zaloge
2. korak: Povezava modula NRF z Arduinom
Zdaj, ko imate vse dele, začnimo z ožičenjem modula NRF z Arduinom.
- Najprej vstavite modul NRF v režo na adapterju. Za to se lahko obrnete na zgornjo sliko.
-
Po tem vzemite moške in ženske žice in priključite adapter NRF na Arduino na naslednji način: (Glejte shemo vezja zgoraj)
- 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 - se ne uporablja
- Ko je povezava vzpostavljena, povežite Arduino z računalnikom z uporabo kabla za programiranje Arduino in skoraj ste končali.
3. korak: Pojdimo v kodiranje
Zdaj se začne težji del … !!!
Nisem naredil celotne kode sam. Namesto tega sem od različnih razvijalcev vzel dele in koščke kode ter jih vse skupaj z malo prilagoditve povezal v eno. Tako se vsem avtorjem izvirno priznajo vnaprej.
Tu lahko prenesete vse priložene kode in jih aktivirate. Ali pa pojdite v moje skladišče Github, kjer bom nenehno posodabljal najnovejšo kodo za boljše sledenje.
Ročno sledenje:
Za sledenje rokam v tem projektu se uporablja klasifikator Haar Cascade. Haar Cascade se trenira s prekrivanjem pozitivne podobe nad nizom negativnih podob. Ti usposobljeni podatki so običajno shranjeni v datotekah ».xml«. Na internetu lahko dobite datoteke klasifikatorja skoraj vsega ali pa ustvarite celo svojo. Za ta projekt, ker smo ga morali narediti z ročnimi gestami, sem za zaznavanje rok uporabil klasifikator pesti z imenom "closed_frontal_palm.xml", ki ga je izdelal Aravind Nambissan. To kodo lahko preizkusite tako, da v mojem repoju zaženete kodo "hand_live.py".
Izbira kode NRF24, ki ustreza vašemu brezpilotnemu letalu:
Glede na proizvajalca in model vašega drona se lahko obrnete na skladišče Github - "nrf24_cx10_pc", ki ga je izdelal Perry Tsao, da izberete ustrezno kodo Arduino za izvajanje, ki bo ustrezala njegovi frekvenci. Naredil je lepo vadnico za nadzor svojega CX10 Drone preko računalnika.
Ko sem uporabljal dron JJRC H36, sem se skliceval na drugo skladišče Github - "nrf24_JJRC_H36_pc", ki je bil vilica repo Perryja Tsaa, ki ga je izdelal Lewis Cornick za nadzor svojega JJRC H36 prek računalnika.
Priprava Arduina:
Lewisov repo sem dal v svoj Github, ki ga lahko klonirate, če delate na istem brezpilotnem letalu. Kodo »nRF24_multipro.ino« morate enkrat naložiti na svoj Arduino Uno, da se bo seznanila z vašim Dronejem vsakič, ko zaženemo skript Python.
Testiranje serijske komunikacije:
V istem repo -ju lahko najdete tudi kodo "serial_test.py", ki jo lahko uporabite za testiranje zaporedne komunikacije skripta Python z Arduinom in če se vaš dron seznani ali ne. Ne pozabite spremeniti vrat COM v kodi glede na vrata COM na plošči Arduino.
Združevanje vsega v eno kodo:
Zato sem vse te kode integriral z različnimi razvijalci in naredil svojo kodo "handserial.py". Če delate popolnoma enako kot jaz z enakim brezpilotnim letalom, lahko to kodo zaženete neposredno, nato pa lahko upravljate svoj dron s premikanjem pesti v zraku. Koda najprej sledi pesmi v video okvirju. Odvisno od Y-koordinate pest, koda pošlje vrednost dušilke dronu tako, da se dvigne ali spusti in podobno, odvisno od X-koordinate pesti, koda pošlje vrednost elerona dronu, da gre levo ali desno.
4. korak: opomba avtorja
V zvezi s tem projektom bi rad omenil 4 točke:
- Kot sem že navedel, te kode nisem izdelal v celoti, vendar se na njej nenehno trudim in bi kodo posodobil za boljše sledenje v mojem skladišču Github. Za vsa vprašanja ali posodobitve lahko obiščete skladišče ali me pingate na Instagramu.
- Trenutno uporabljamo spletno kamero prenosnega računalnika, ki ne omogoča perspektive pogleda drona, če pa je potrebno, lahko kamere, nameščene na dronu, uporabimo tudi za sledenje. To bo pripomoglo k boljšemu pogledu in na koncu boljšemu nadzoru.
- Za ta projekt uporabljam dron JJRC H36, ki je eden najcenejših brezpilotnih letal na trgu, zato nima žiroskopske stabilnosti. To je razlog, da se vam zdi, da je gibanje v videoposnetku nihajoče, če pa uporabljate dostojno kakovosten dron z dobro stabilnostjo, se s tem problemom ne boste soočili.
- Želel sem se poigravati z računalniškim vidom in upravljanjem brezpilotnih letal, zato sem začel s tem projektom. Toda po delu na računalniškem vidu čutim, da to ni optimalna rešitev za nadzor brezpilotnega letala. Tako nameravam v prihodnosti izdelati nekakšno napravo v obliki rokavic s senzorjem žiroskopa za nadzor brezpilotnega letala. Zato spremljajte posodobitve …
Če vam je bila ta vadnica všeč, jo všečkajte, delite in glasujte zanjo.
To je zaenkrat vse … Naslednjič se vidimo kmalu …
Priporočena:
Zaznavanje obrazov na Raspberry Pi 4B v 3 korakih: 3 korakih
Zaznavanje obrazov na Raspberry Pi 4B v treh korakih: V tem navodilu bomo z uporabo Shunyaface knjižnice izvedli zaznavanje obrazov na Raspberry Pi 4 s Shunya O/S. Shunyaface je knjižnica za prepoznavanje in zaznavanje obrazov. Cilj projekta je doseči najhitrejšo hitrost odkrivanja in prepoznavanja z
Pixie - Naj vaša rastlina postane pametna: 4 koraki (s slikami)
Pixie - Naj vaša rastlina postane pametna: Pixie je bil projekt, razvit z namenom, da bi rastline, ki jih imamo doma, naredile bolj interaktivne, saj je za večino ljudi eden od izzivov, da imajo rastlino doma, vedeti, kako skrbeti zanjo, kako pogosto zalivamo, kdaj in koliko
Naj vaša prehrana šteje: 7 korakov
Naj vaša prehrana šteje: Dandanes je tema " zdravja " postalo znano in o njem razpravljati. Dieta je za večino ljudi težka naloga, mnogi se je zaradi skušnjave hrane odločijo, da se ji odrečejo. Namen izdelave tega stroja je povečati uspešnost
Naj bo vaša nadzemna kamera opremljena z LED osvetlitvijo!: 5 korakov (s slikami)
Naredite svojo napravo za nadzemno kamero z LED osvetlitvijo!: V tem projektu vam bom pokazal, kako ustvariti preprosto napravo za nadzemno kamero. Naprava ne more le držati fotoaparata tik nad objektom, ki ga želite posneti, ampak ima tudi monitor za opazovanje posnetkov in LED osvetlitev do popolne
Naj bo vaša rastlina pametna! (Avtor Arduino): 5 korakov
Naj bo vaša rastlina pametna! (Avtor Arduino): Ste se torej vedno spraševali, kako svojim rastlinam dodati tehnologijo? S tem kul projektom lahko zagotovite, da so vaše ljubke rastline vedno v dobrem stanju. Po tem projektu boste: Naučili se uporabljati analogno-izhodne senzorje Naučiti se