INHOUDSOPGAWE:

Laat u drone -gebaar in $ 10: 4 -stappe beheer word
Laat u drone -gebaar in $ 10: 4 -stappe beheer word

Video: Laat u drone -gebaar in $ 10: 4 -stappe beheer word

Video: Laat u drone -gebaar in $ 10: 4 -stappe beheer word
Video: Bilal wahib word aangepakt op straat! 2024, November
Anonim
Image
Image
Laat u drone -gebaar in $ 10 beheer word
Laat u drone -gebaar in $ 10 beheer word
Laat u drone -gebaar in $ 10 beheer word
Laat u drone -gebaar in $ 10 beheer word

Hierdie instruksie is 'n gids om u R/C -drone te verander in 'n gebaarbeheerde drone in minder as $ 10!

Ek is 'n persoon wat baie geïnspireer is deur Sci-Fi-flieks en probeer om die tegnologie wat in die film verskyn, in die regte lewe te maak. Hierdie projek is 'n inspirasie uit twee sulke films: "STAR WARS: The Empire Strikes Back" en "Project Almanac". In albei films sien u 'n vlieënde voorwerp (X-wing Starship & 'n R/C Drone) wat deur slegs handbewegings beheer word. Dit het my geïnspireer om iets soortgelyks te maak …

Dit is duidelik dat ek nie die X-wing besit nie, so ek moet ongelukkig met my Mini R/C Quadcopter werk.

Die plan is dus: daar sal 'n beeldverwerkingsskrif op my skootrekenaar wees, wat voortdurend na my hand sal soek en die posisie daarvan in die videorame kan opspoor. Sodra dit die koördinate van die hand kry, stuur dit die onderskeie sein na die drone, en dit sal gedoen word met behulp van Arduino wat op 'n skootrekenaar gekoppel is, tesame met 'n NRF24L01 2.4GHz -ontvangermodule wat direk kan kommunikeer met die ontvangerbord van enige R/C Drone.

Voorrade

  • Skootrekenaar/tafelrekenaar met 'n webkamera en Python geïnstalleer. (Ek gebruik my W indows-skootrekenaar met sy ingeboude webkamera en met Python 2.7.14)
  • Enige R/C -hommeltuig wat op 'n frekwensie van 2,4 GHz werk. (JJRC H36 in my geval)
  • Arduino UNO saam met sy programmeerkabel. (Ek gebruik die kloon, want dit is goedkoper)
  • NRF24L01 2.4 GHz antenna draadlose transceiver -module. (Ek het dit hiervandaan gekoop vir slegs $ 99 ($ 1,38))
  • 3.3V adapterbord vir 24L01 draadlose module. (Ek het dit hier gekoop vir slegs £ 49 ($ 0,68))
  • Trui van man tot vrou x7

Stap 1: Versamel die voorraad

Versamel die voorraad!
Versamel die voorraad!

Stap 2: Verbinding van NRF -module met Arduino

Verbinding van NRF -module met Arduino
Verbinding van NRF -module met Arduino
Verbinding van NRF -module met Arduino
Verbinding van NRF -module met Arduino
Verbinding van NRF -module met Arduino
Verbinding van NRF -module met Arduino
Verbinding van NRF -module met Arduino
Verbinding van NRF -module met Arduino

Aangesien u al die onderdele het, laat ons begin met die bedrading van die NRF -module met die Arduino.

  1. Plaas eerstens die NRF -module in die gleuf op die adapter. U kan daarvoor na die prent hierbo verwys.
  2. Neem daarna die mannetjie -na -vroulike drade en verbind die NRF -adapter soos volg met Arduino: (verwys na die stroombaan -diagram hierbo)

    • NRF -adapterpen - Arduino -pen
    • VCC - 5v
    • GND - GND
    • CE - Digitale pen 5
    • CSN - Analoog pen 1
    • SCK - Digitale pen 4
    • MO - Digitale pen 3
    • MI - analoog pen 0
    • IRQ - Nie gebruik nie
  3. Sodra die verbinding gemaak is, verbind die Arduino met u rekenaar met die Arduino -programmeer -USB -kabel, en u is amper klaar.

Stap 3: Kom ons begin met kodering

Kom ons begin met kodering!
Kom ons begin met kodering!
Kom ons begin met kodering!
Kom ons begin met kodering!

Nou hier begin die moeilike deel … !!!

Ek het nie die hele kode self gemaak nie. In plaas daarvan het ek dele en stukkies kode van verskillende ontwikkelaars geneem en almal in een geïntegreer met 'n bietjie aanpassing. Daarom word die regte krediete aan al die oorspronklike skeppers vooraf gegee.

U kan al die kodes wat hier aangeheg is, aflaai en laat werk. Of anders kan u na my Github Repository gaan, waar ek voortdurend die nuutste kode sal opdateer vir beter dop.

Hand dop:

Haar Cascade -klassifiseerder word gebruik vir die opsporing van hande in hierdie projek. Die Haar Cascade word opgelei deur die positiewe beeld bo -op 'n stel negatiewe beelde te plaas. En hierdie opgeleide data word gewoonlik in '.xml' lêers gestoor. U kry moontlik Classifier -lêers van byna enigiets op die internet, of u kan selfs een van u eie op hierdie manier skep. Vir hierdie projek, aangesien ons dit met die handgebaar moes beheer, het ek 'n vuis-klassifiseerder, genaamd 'closed_frontal_palm.xml', gebruik deur Aravind Nambissan vir my handopsporing. U kan hierdie kode toets deur 'hand_live.py' kode in my repo uit te voer.

Die NRF24 -kode kies wat by u Drone pas:

Volgens die vervaardiger en model van u drone, kan u verwys na die Github -bewaarplek - 'nrf24_cx10_pc' wat deur Perry Tsao gemaak is om die regte Arduino -kode te kies wat ooreenstem met die frekwensie daarvan. Hy het 'n goeie handleiding gemaak om sy CX10 Drone oor 'n rekenaar te beheer.

Terwyl ek die JJRC H36 -hommeltuig gebruik, verwys ek na 'n ander Github -bewaarplek - 'nrf24_JJRC_H36_pc', 'n vurk van Perry Tsao se repo wat deur Lewis Cornick gemaak is om sy JJRC H36 oor 'n rekenaar te beheer.

Maak Arduino gereed:

Ek het Lewis se repo na my Github gevork, wat u kan kloon as u aan dieselfde hommeltuig werk. U moet die 'nRF24_multipro.ino' -kode een keer op u Arduino Uno laai om dit aan u Drone te koppel elke keer as ons ons Python -script uitvoer.

Toets seriële kommunikasie:

In dieselfde repo vind u moontlik ook die kode "serial_test.py" wat gebruik kan word om die seriële kommunikasie van Python -script met Arduino te toets en as u drone gekoppel word of nie. Moenie vergeet om die COM -poort in die kode te verander volgens die COM -poort van u Arduino -bord nie.

Alles in een kode te integreer:

Ek het dus al hierdie kodes deur verskillende ontwikkelaars geïntegreer en my eie kode "handserial.py" gemaak. As u presies dieselfde doen as wat ek met presies dieselfde hommeltuig doen, kan u hierdie kode direk uitvoer en dan u drone beheer deur u vuis in die lug te beweeg. Die kode volg eers vir 'n vuis in die videorame. Afhangende van die Y-koördinaat van die vuis, stuur die kode die gaswaarde na die hommeltuig sodat dit op- of afklim, en ook, afhangende van die X-koördinaat van die vuis, stuur die kode die aileron-waarde na die hommeltuig sodat dit links of regs gaan.

Stap 4: Nota van die skrywer

Daar is vier punte wat ek spesiaal wil noem met betrekking tot hierdie projek:

  1. Soos vroeër gespesifiseer, word hierdie kode nie heeltemal deur my gemaak nie, maar ek werk voortdurend daaraan en sal die kode opdateer om my Github Repository beter op te spoor. Vir enige navrae of opdaterings, kan u die bewaarplek besoek of my op Instagram ping.
  2. Tans gebruik ons die webcam van die skootrekenaar wat nie die perspektief van die drone kan sien nie, maar indien nodig, kan die kameras wat op die hommel gemonteer is, ook vir die opsporingsdoeleindes gebruik word. Dit sal help om 'n beter uitsig te kry en uiteindelik beter beheer.
  3. Vir hierdie projek gebruik ek 'n JJRC H36 -hommeltuig, een van die goedkoopste hommeltuie wat op die mark beskikbaar is, en dit het geen gyroskopiese stabiliteit nie. Dit is die rede waarom u voel dat die beweging in die video wankelrig is, maar as u 'n goeie kwaliteit drone met goeie stabiliteit gebruik, sal u nie met hierdie probleem te kampe hê nie.
  4. Ek wou ronddwaal met Computer Vision en drone -beheer, daarom het ek met hierdie projek begin. Maar nadat ek aan rekenaarvisie gewerk het, voel ek dat dit nie die optimale oplossing is om die drone te beheer nie. Ek beplan dus om 'n soort handskoen-toestel met 'n Gyro-sensor te maak om die drone in die toekoms te beheer. Bly dus op hoogte van opdaterings …

As jy van hierdie tutoriaal gehou het, moet jy dit asb like en deel en ook daarvoor stem.

Dit is alles vir eers. Sien jou volgende keer binnekort …

Aanbeveel: