Turinys:

Padarykite savo drono gestą kontroliuojamą 10 USD: 4 žingsniais
Padarykite savo drono gestą kontroliuojamą 10 USD: 4 žingsniais

Video: Padarykite savo drono gestą kontroliuojamą 10 USD: 4 žingsniais

Video: Padarykite savo drono gestą kontroliuojamą 10 USD: 4 žingsniais
Video: [INT'L SUB ซับไทย] REACTION VIDEO TO NAS DAILY | 8 DAYS IN THE PHILIPPINES | DELETED IN YOUTUBE?! 2024, Lapkritis
Anonim
Image
Image
Kontroliuokite savo drono gestą 10 USD
Kontroliuokite savo drono gestą 10 USD
Kontroliuokite savo drono gestą 10 USD
Kontroliuokite savo drono gestą 10 USD

Šis nurodymas yra vadovas, kaip paversti savo R/C droną gesų valdomu dronu už mažiau nei 10 USD!

Aš esu žmogus, kurį labai įkvepia „Sci-Fi“filmai ir stengiuosi, kad technologijos būtų rodomos filme realiame gyvenime. Šis projektas yra įkvėptas iš dviejų tokių filmų: „STAR WARS: The Empire Strikes Back“ir „Project Almanachas“. Abiejuose filmuose matote skraidantį objektą („X-wing Starship“ir „R/C Drone“), kuris buvo valdomas tik rankos judesiais. Tai mane įkvėpė sukurti kažką panašaus…

Akivaizdu, kad aš neturiu „X-wing“, todėl, deja, turiu dirbti su savo „Mini R/C Quadcopter“.

Taigi planas yra toks - mano nešiojamajame kompiuteryje veiks vaizdo apdorojimo scenarijus, kuris nuolat ieškos mano rankos ir stebės jo vietą vaizdo kadre. Gavęs rankos koordinates, jis nusiųs atitinkamą signalą į droną ir tai bus padaryta naudojant „Arduino“, prijungtą prie nešiojamojo kompiuterio, kartu su NRF24L01 2,4 GHz siųstuvo -imtuvo moduliu, kuris gali tiesiogiai bendrauti su bet kurio R/C drono imtuvo lenta.

Prekės

  • Nešiojamasis/stalinis kompiuteris su įdiegta žiniatinklio kamera ir „Python“. (Aš naudoju savo „W indows“nešiojamąjį kompiuterį su įmontuota internetine kamera ir veikiančiu „Python 2.7.14“)
  • Bet koks R/C dronas, veikiantis 2,4 GHz dažniu. (JJRC H36 mano atveju)
  • „Arduino UNO“kartu su programavimo kabeliu. (Aš naudoju jo kloną, nes jis yra pigesnis)
  • NRF24L01 2,4 GHz antenos belaidžio siųstuvo -imtuvo modulis. (Aš nusipirkau tai iš čia tik už 99 ₹ (1,38 USD))
  • 3,3 V adapterio plokštė 24L01 belaidžiam moduliui. (Aš nusipirkau tai iš čia tik už 49 ₹ (0,68 USD))
  • Sujungimo laidai nuo vyrų iki moterų x7

1 žingsnis: surinkite reikmenis

Surinkite reikmenis!
Surinkite reikmenis!

2 žingsnis: NRF modulio prijungimas prie „Arduino“

NRF modulio prijungimas prie „Arduino“
NRF modulio prijungimas prie „Arduino“
NRF modulio prijungimas prie „Arduino“
NRF modulio prijungimas prie „Arduino“
NRF modulio prijungimas prie „Arduino“
NRF modulio prijungimas prie „Arduino“
NRF modulio prijungimas prie „Arduino“
NRF modulio prijungimas prie „Arduino“

Dabar, kai turite visas dalis, pradėkime prijungti NRF modulį prie „Arduino“.

  1. Pirmiausia įkiškite NRF modulį į adapterio lizdą. Norėdami tai padaryti, galite kreiptis į paveikslėlį aukščiau.
  2. Po to paimkite laidus iš „Male to Female“ir prijunkite NRF adapterį prie „Arduino“taip: (Žiūrėkite aukščiau pateiktą schemą)

    • NRF adapterio kaištis - „Arduino“kaištis
    • VCC - 5v
    • GND - GND
    • CE - skaitmeninis kaištis 5
    • CSN - analoginis kaištis 1
    • SCK - skaitmeninis kaištis 4
    • MO - skaitmeninis kaištis 3
    • MI - analoginis kaištis 0
    • IRQ - nenaudojama
  3. Kai ryšys bus baigtas, prijunkite „Arduino“prie kompiuterio naudodami „Arduino“programavimo USB kabelį ir beveik baigsite.

3 žingsnis: pradėkime nuo kodavimo

Pradėkime nuo kodavimo!
Pradėkime nuo kodavimo!
Pradėkime nuo kodavimo!
Pradėkime nuo kodavimo!

Dabar prasideda sunkioji dalis … !!!

Aš pats nesukūriau viso kodo. Vietoj to, aš paėmiau skirtingų kūrėjų kodo dalis ir bitus ir visus juos sujungiau į vieną, šiek tiek pataisydamas. Taigi, visi originalūs kūrėjai yra tinkamai įskaitomi.

Galite atsisiųsti visus čia pridėtus kodus ir priversti juos veikti. Arba galite eiti į mano „Github“saugyklą, kur aš nuolat atnaujinsiu naujausią kodą, kad galėčiau geriau sekti.

Rankų sekimas:

Šiame projekte rankiniam sekimui naudojamas „Haar Cascade“klasifikatorius. „Haar Cascade“mokomas uždėjus teigiamą vaizdą ant neigiamų vaizdų rinkinio. Ir šie apmokyti duomenys paprastai saugomi „.xml“rinkmenose. Internete galite gauti beveik bet ko klasifikatoriaus failus arba netgi galite sukurti tokį savo. Šiam projektui, nes mums reikėjo, kad jis būtų valdomas gestais, rankoms aptikti naudojau kumščio klasifikatorių, pavadintą „closed_frontal_palm.xml“, kurį pagamino Aravind Nambissan. Šį kodą galite išbandyti paleisdami „hand_live.py“kodą mano repo.

NRF24 kodo pasirinkimas, atitinkantis jūsų droną:

Taigi, atsižvelgiant į jūsų drono gamintoją ir modelį, galite kreiptis į „Github“saugyklą - „nrf24_cx10_pc“, kurią sukūrė Perry Tsao, kad pasirinktumėte tinkamą paleisti „Arduino“kodą, atitinkantį jo dažnį. Jis sukūrė gražią pamoką, kaip valdyti savo CX10 droną per kompiuterį.

Kai naudojau JJRC H36 droną, aš kreipiausi į kitą „Github“saugyklą - „nrf24_JJRC_H36_pc“, kuri buvo Lewiso Cornicko sukurto Perry Tsao repo šakutė, skirta valdyti savo JJRC H36 per kompiuterį.

„Arduino“paruošimas:

Aš sukūriau Lewiso repą savo „Github“, kurį galite klonuoti, jei dirbate su tuo pačiu dronu. Turite vieną kartą įkelti „nRF24_multipro.ino“kodą į „Arduino Uno“, kad jis būtų suporuotas su „Drone“kiekvieną kartą, kai vykdome „Python“scenarijų.

Serijinio ryšio testavimas:

Toje pačioje atpirkimo vietoje taip pat galite rasti kodą „serial_test.py“, kurį galima naudoti norint patikrinti „Python“scenarijaus nuoseklųjį ryšį su „Arduino“ir ar jūsų dronas bus suporuotas, ar ne. Nepamirškite pakeisti kodo COM prievado pagal savo „Arduino“plokštės COM prievadą.

Viską integruoti į vieną kodą:

Taigi aš integravau visus šiuos skirtingų kūrėjų kodus ir sukūriau savo kodą „handserial.py“. Jei darote tą patį, ką aš darau su tuo pačiu dronu, tuomet galite tiesiogiai paleisti šį kodą ir tada galite valdyti savo droną tiesiog judindami kumštį ore. Kodas pirmiausia seka kumštį vaizdo įrašo kadre. Priklausomai nuo kumščio Y koordinatės, kodas siunčia drono droselio vertę, kad ji pakiltų arba sumažėtų, ir panašiai, atsižvelgiant į kumščio X koordinatę, kodas siunčia sraigto reikšmę į droną, kad jis eitų į kairę arba į dešinę.

4 žingsnis: autoriaus pastaba

Kalbant apie šį projektą, norėčiau išskirti 4 dalykus:

  1. Kaip nurodyta anksčiau, šį kodą sukūriau ne aš, bet aš nuolat su juo dirbu ir atnaujinsiu kodą, kad būtų lengviau sekti „Github“saugykloje. Taigi, jei turite klausimų ar atnaujinimų, galite apsilankyti saugykloje arba ping man „Instagram“.
  2. Šiuo metu mes naudojame nešiojamojo kompiuterio internetinę kamerą, kuri neleidžia matyti drono vaizdo, tačiau, jei reikia, stebėjimo tikslais taip pat gali būti naudojamos ant drono sumontuotos kameros. Tai padės geriau matyti ir galiausiai geriau kontroliuoti.
  3. Šiam projektui aš naudoju JJRC H36 droną, kuris yra vienas pigiausių dronų rinkoje, todėl jam trūksta giroskopinio stabilumo. Dėl šios priežasties vaizdo įrašo judesys gali atrodyti nestabilus, tačiau jei naudojate tinkamos kokybės bepiločių orlaivių stabilumą, su šia problema nesusidursite.
  4. Norėjau apsispręsti dėl „Computer Vision“ir bepiločių orlaivių valdymo, todėl pradėjau nuo šio projekto. Tačiau padirbėjęs prie kompiuterinio regėjimo jaučiu, kad tai nėra optimalus sprendimas valdyti droną. Taigi ateityje planuoju pagaminti tam tikrą pirštinių tipo prietaisą su giroskopo jutikliu, kad valdytų droną. Taigi sekite naujienas…

Jei jums patiko ši pamoka, pamėgkite, pasidalykite ir balsuokite už ją.

Tai kol kas viskas.. Iki greito pasimatymo kitą kartą …

Rekomenduojamas: