Taula de continguts:
- Subministraments
- Pas 1: reuniu els subministraments
- Pas 2: Connexió del mòdul NRF amb Arduino
- Pas 3: Comencem a codificar
- Pas 4: Nota de l'autor
Vídeo: Controleu el vostre gest de dron en 10: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Aquesta instrucció és una guia per transformar el vostre dron R / C en un dron controlat per gestos en menys de 10 dòlars.
Sóc una persona que s’inspira molt en les pel·lícules de ciència ficció i intento que la tecnologia mostrada a la pel·lícula sigui real. Aquest projecte s’inspira en dues pel·lícules d’aquest tipus: "STAR WARS: The Empire Strikes Back" i "Project Almanac". A les dues pel·lícules, es veu un objecte volador (X-wing Starship i un R / C Drone) que eren controlats només amb moviments de mans. Això em va inspirar a fer alguna cosa similar …
Obbviament, no tinc l’ala X, així que, per desgràcia, he de treballar amb el meu quadricòpter Mini R / C.
Per tant, el pla és que hi haurà un script de processament d’imatges que s’executarà al meu ordinador portàtil que continuarà buscant la meva mà i rastrejar la seva posició al marc del vídeo. Un cop obtingui les coordenades de la mà, enviarà el senyal respectiu al dron i això es farà mitjançant Arduino connectat al portàtil juntament amb un mòdul transceptor NRF24L01 de 2,4 GHz que es pot comunicar directament amb la placa del receptor de qualsevol dron R / C..
Subministraments
- Ordinador portàtil / d’escriptori amb càmera web i Python instal·lats. (Estic fent servir el portàtil W indows amb la seva càmera web integrada i amb Python 2.7.14)
- Qualsevol dron R / C que funcioni amb una freqüència de 2,4 Ghz. (JJRC H36 en el meu cas)
- Arduino UNO juntament amb el seu cable de programació. (Estic fent servir el seu clon, ja que és més barat)
- Mòdul de transceptor sense fils d'antena NRF24L01 a 2,4 GHz. (Ho he comprat aquí per només 99 € (1,38 dòlars))
- Taula d'adaptador de 3,3 V per a mòdul sense fils 24L01. (Ho he comprat aquí per només ₹ 49 (0,68 dòlars))
- Cavalls de pont masculí a femení x7
Pas 1: reuniu els subministraments
Pas 2: Connexió del mòdul NRF amb Arduino
Ara, ja que teniu totes les parts, comencem a connectar el mòdul NRF amb l'Arduino.
- En primer lloc, inseriu el mòdul NRF a la ranura que es proporciona a l'adaptador. Podeu fer referència a la imatge de més amunt.
-
A continuació, agafeu els cables mascle a femella i connecteu l'adaptador NRF a Arduino de la següent manera: (Consulteu el diagrama de circuits anterior)
- Pin adaptador NRF: pin Arduino
- VCC - 5v
- GND - GND
- CE - Pin digital 5
- CSN - Pin analògic 1
- SCK - Pin digital 4
- MO - Pin digital 3
- MI - Pin analògic 0
- IRQ: no s'utilitza
- Un cop feta la connexió, connecteu l'Arduino al vostre PC mitjançant el cable USB de programació Arduino i gairebé heu acabat.
Pas 3: Comencem a codificar
Ara comença la part dura … !!!
No he creat tot el codi jo sol. En canvi, he pres parts i bits de codi de diferents desenvolupadors i els he integrat en un de sol amb una mica de modificació. Per tant, es donen crèdits adequats a tots els creadors originals.
Podeu descarregar tots els codis adjunts aquí i fer que funcioni. O bé, podeu anar al meu dipòsit de Github, on actualitzaré constantment el codi més recent per fer un millor seguiment.
Seguiment manual:
El classificador Haar Cascade s’utilitza per al seguiment manual en aquest projecte. La Cascada Haar s’entren sobreposant la imatge positiva sobre un conjunt d’imatges negatives. I aquestes dades entrenades solen emmagatzemar-se en fitxers ".xml". És possible que obtingueu fitxers classificadors de gairebé qualsevol cosa a Internet o fins i tot podeu crear-ne un de semblant. Per a aquest projecte, com que havíem de controlar-lo amb les mans, vaig utilitzar un classificador de punys anomenat "closed_frontal_palm.xml" fet per Aravind Nambissan per a la detecció de mans. Podeu provar aquest codi executant el codi "hand_live.py" a la meva reposició.
Trieu el codi NRF24 que coincideixi amb el vostre dron:
Per tant, segons el fabricant i el model del vostre dron, podeu consultar el dipòsit de Github - "nrf24_cx10_pc" realitzat per Perry Tsao per seleccionar el codi Arduino adequat que s'executarà i que coincideixi amb la seva freqüència. Ha fet un bon tutorial per controlar el seu CX10 Drone per PC.
Mentre feia servir un dron JJRC H36, em vaig referir a un altre dipòsit de Github: "nrf24_JJRC_H36_pc", que era una bifurcació del repositori de Perry Tsao realitzat per Lewis Cornick per controlar el seu JJRC H36 a través de PC.
Preparant Arduino:
Vaig bifurcar la reposició de Lewis al meu Github, que podeu clonar si esteu treballant al mateix dron. Heu de penjar el codi "nRF24_multipro.ino" una vegada al vostre Arduino Uno per fer-lo pair amb el vostre Drone cada vegada que executem el nostre script Python.
Prova de la comunicació en sèrie:
Al mateix dipòsit, també podeu trobar un codi "serial_test.py" que es pot utilitzar per provar la comunicació en sèrie de script Python amb Arduino i si el vostre dron està emparellat o no. No oblideu canviar el port COM al codi segons el port COM de la vostra placa Arduino.
Integrar tot en un codi:
Així que vaig integrar tots aquests codis de diferents desenvolupadors i vaig crear el meu propi codi "handserial.py". Si feu exactament el mateix que faig amb el mateix dron, podeu executar aquest codi directament i controlar el dron simplement movent el puny a l'aire. El codi primer fa un seguiment d’un puny al marc del vídeo. Depenent de la coordenada Y del puny, el codi envia el valor de l’accelerador al dron fent-lo pujar o baixar i, de manera similar, depenent de la coordenada X del puny, el codi envia el valor de l’aleró al dron fent que vagi cap a l’esquerra o cap a la dreta.
Pas 4: Nota de l'autor
Hi ha 4 punts que voldria mencionar especialment sobre aquest projecte:
- Com s’ha especificat anteriorment, aquest codi no l’he creat completament, però hi estic treballant contínuament i actualitzaria el codi per fer un millor seguiment al meu dipòsit Github. Per tant, per a qualsevol consulta o actualització, podeu visitar el dipòsit o fer-me un ping a Instagram.
- Actualment, estem utilitzant la càmera web de l'ordinador portàtil que no permet tenir la perspectiva de la vista del dron, però, si cal, les càmeres muntades al dron també es poden utilitzar per al seguiment. Això ajudarà a tenir una millor visió i, en última instància, un millor control.
- Per a aquest projecte, estic fent servir un dron JJRC H36, que és un dels drons més barats disponibles al mercat, per la qual cosa no té estabilitat giroscòpica. Aquest és el motiu pel qual és possible que el moviment del vídeo sigui vacil·lant, però si utilitzeu un dron de qualitat decent amb una bona estabilitat, no us enfrontareu a aquest problema.
- Volia jugar amb la visió per computador i el control de drons, de manera que vaig començar amb aquest projecte. Però després de treballar en la visió per ordinador, sento que no és la solució òptima per controlar el dron. Per tant, tinc previst fer algun tipus de dispositiu tipus guant amb sensor Gyro per controlar el dron en el futur. Així que estigueu atents a les actualitzacions …
Si t’ha agradat aquest tutorial, agrada i comparteix-lo i també vota-ho.
Això és tot per ara … Ens veiem aviat la propera vegada …
Recomanat:
Controleu els LEDs amb el comandament del vostre televisor ?! -- Tutorial Arduino IR: 5 passos (amb imatges)
Controleu els LEDs amb el comandament del vostre televisor ?! || Tutorial Arduino IR: en aquest projecte us mostraré com he tornat a utilitzar els botons inútils del comandament del televisor per controlar els LED que hi ha darrere del meu televisor. També podeu utilitzar aquesta tècnica per controlar tot tipus de coses amb una mica d’edició de codi. També parlaré una mica de la teoria
Controleu el disseny del vostre model de tren amb el vostre TECLAT !: 12 passos
Controleu la disposició del vostre model de tren amb el vostre TECLAT!: En una de les meves instruccions anteriors, us vaig mostrar com podeu controlar el vostre model de tren amb el comandament del vostre televisor. També podeu consultar una versió actualitzada aquí. En aquest instructiu, us mostraré com controlar un disseny de model de tren amb un teclat
Controleu el disseny del vostre model de tren amb el vostre telèfon mòbil: 11 passos (amb imatges)
Controleu la disposició del vostre model de tren amb el vostre telèfon mòbil!: Controlar un disseny de model de tren amb controladors d’accelerador i de sortida de cable pot ser un bon començament per a principiants, però suposa un problema de no portabilitat. A més, els controladors sense fils que arriben al mercat només poden controlar alguns locom
Controleu el vostre món electrònic a través d'Internet: 16 passos
Controleu el vostre món electrònic a través d'Internet: seguint aquesta instrucció, podreu encendre i apagar un LED des de qualsevol part del món. Llegiu atentament totes les instruccions i seguiu els passos un per un. Després d'estudiar aquest instructiu, podreu utilitzar aquest coneixement en diversos
Controleu el vostre avió RC amb l’acleròmetre del vostre telèfon: 15 passos (amb imatges)
Controleu el vostre avió RC amb l’acleròmetre del vostre telèfon: alguna vegada heu volgut controlar el vostre avió RC mitjançant la inclinació d’un objecte? Sempre he tingut la idea a la part posterior del cap, però mai l’he seguit fins aquesta setmana passada. Els meus primers pensaments eren utilitzar un acceleròmetre de triple eix, però ja he