Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Samle rekvisita
- Trinn 2: Tilkobling av NRF -modul med Arduino
- Trinn 3: La oss komme i gang med koding
- Trinn 4: Forfatterens merknad
Video: Gjør din drone gest kontrollert i $ 10: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Denne instruksjonsboken er en guide for å forvandle din R/C Drone til en Gesture Controlled Drone på under $ 10!
Jeg er en person som er veldig inspirert av Sci-Fi-filmer og prøver å lage teknologien som ble vist i filmen i virkeligheten. Dette prosjektet er en inspirasjon fra to slike filmer: "STAR WARS: The Empire Strikes Back" og "Project Almanac". I begge filmene ser du et flygende objekt (X-wing Starship & en R/C Drone) som ble kontrollert av bare håndbevegelser. Dette inspirerte meg til å lage noe lignende …
Selvfølgelig eier jeg ikke X-wing, så dessverre må jeg jobbe med min Mini R/C Quadcopter.
Så planen er - det vil være et bildebehandlingsskript som kjører på min bærbare datamaskin som kontinuerlig vil lete etter hånden min og spore posisjonen i videorammen. Når den får håndens koordinater, sender den det respektive signalet til dronen, og dette vil bli gjort ved hjelp av Arduino koblet til en bærbar datamaskin sammen med en NRF24L01 2,4 GHz transceivermodul som kan kommunisere direkte med mottakerkortet på en hvilken som helst R/C Drone.
Rekvisita
- Bærbar/stasjonær datamaskin med webkamera og Python installert. (Jeg bruker min bærbare W indows med det innebygde webkameraet og kjører Python 2.7.14)
- Enhver R/C Drone som kjører på 2,4 GHz frekvens. (JJRC H36 i mitt tilfelle)
- Arduino UNO sammen med sin programmeringskabel. (Jeg bruker klonen da den er billigere)
- NRF24L01 2,4 GHz antenne trådløs mottakermodul. (Jeg kjøpte dette her for bare 99 kr (1,38 dollar))
- 3.3V adapterkort for 24L01 trådløs modul. (Jeg kjøpte dette her for bare 49 kr (0,68 dollar))
- Jumper Wires fra mann til kvinne x7
Trinn 1: Samle rekvisita
Trinn 2: Tilkobling av NRF -modul med Arduino
Nå som du har alle delene, la oss komme i gang med å koble NRF -modulen med Arduino.
- Først setter du NRF -modulen inn i sporet på adapteren. Du kan referere til bildet ovenfor for det.
-
Etter det, ta mann til hunn ledninger og koble NRF -adapteren til Arduino som følger: (Se kretsdiagrammet ovenfor)
- NRF Adapter Pin - Arduino Pin
- VCC - 5v
- GND - GND
- CE - Digital pin 5
- CSN - Analog pin 1
- SCK - Digital pin 4
- MO - Digital pin 3
- MI - Analog pin 0
- IRQ - Ikke brukt
- Når tilkoblingen er utført, kobler du Arduino til PC -en din med Arduino -programmering USB -kabel, og du er nesten ferdig.
Trinn 3: La oss komme i gang med koding
Nå begynner den tøffe delen … !!!
Jeg har ikke laget hele koden selv. I stedet har jeg tatt deler og biter av kode fra forskjellige utviklere og integrert dem alle i en med litt finjusteringer. Derfor gis riktig kreditt til alle de opprinnelige skaperne på forhånd.
Du kan laste ned alle kodene som er vedlagt her, og få det til å fungere. Ellers kan du gå til Github -depotet mitt, hvor jeg hele tiden vil oppdatere den siste koden for bedre sporing.
Håndsporing:
Haar Cascade classifier brukes til håndsporing i dette prosjektet. Haar Cascade blir trent ved å legge det positive bildet over et sett med negative bilder. Og disse opplærte dataene er vanligvis lagret i ".xml" -filer. Du kan få Classifier -filer med nesten alt på internett, eller du kan til og med lage en av dine egne slik. Da vi trengte å gjøre det håndbevegelseskontrollert for dette prosjektet, brukte jeg en knyttneve klassifisering kalt "closed_frontal_palm.xml" laget av Aravind Nambissan for hånddeteksjon. Du kan teste denne koden ved å kjøre "hand_live.py" -koden i min repo.
Velge NRF24 -koden for å matche din drone:
Så ifølge produsenten og modellen til dronen din, kan du referere til Github -depotet - "nrf24_cx10_pc" laget av Perry Tsao for å velge riktig Arduino -kode som skal kjøres som vil matche frekvensen. Han har laget en fin opplæring for å kontrollere CX10 Drone over PC.
Da jeg brukte JJRC H36 -drone, refererte jeg til et annet Github -depot - "nrf24_JJRC_H36_pc" som var en gaffel av Perry Tsaos repo laget av Lewis Cornick for å kontrollere JJRC H36 over PC.
Gjør Arduino klar:
Jeg forklet Lewis repo til min Github som du kan klone hvis du jobber med den samme dronen. Du må laste opp "nRF24_multipro.ino" -koden en gang på Arduino Uno for å få den til å koble til Drone hver gang vi kjører Python -skriptet vårt.
Testing av seriell kommunikasjon:
I samme repo kan du også finne en kode "serial_test.py" som kan brukes til å teste seriell kommunikasjon av Python -skript med Arduino, og hvis dronen din blir paret eller ikke. Ikke glem å endre COM -porten i koden i henhold til COM -porten på Arduino -kortet.
Integrere alt i en kode:
Så jeg integrerte alle disse kodene av forskjellige utviklere og lagde min egen kode "handserial.py". Hvis du gjør nøyaktig det samme som jeg gjør med nøyaktig samme drone, kan du kjøre denne koden direkte, og deretter kan du kontrollere dronen din ved å bare beve neven i luften. Koden sporer først en knyttneve i videorammen. Avhengig av knyttens Y-koordinat, sender koden gassverdien til dronen slik at den går opp eller ned og på samme måte, avhengig av knyttens X-koordinat, sender koden aileron-verdien til dronen slik at den går til venstre eller høyre.
Trinn 4: Forfatterens merknad
Det er 4 punkter jeg spesielt vil nevne angående dette prosjektet:
- Som spesifisert tidligere, er ikke denne koden laget av meg helt, men jeg jobber kontinuerlig med den og vil oppdatere koden for bedre sporing på Github -depotet mitt. Så for spørsmål eller oppdateringer, kan du besøke depotet eller pinge meg på Instagram.
- For tiden bruker vi webkameraet til den bærbare datamaskinen som ikke tillater perspektivet til dronens syn, men kameraene som er montert på dronen kan også brukes til sporing. Dette vil bidra til å få et bedre utsyn og til slutt bedre kontroll.
- For dette prosjektet bruker jeg en JJRC H36 drone som er en av de billigste dronene som er tilgjengelig på markedet, og derfor mangler den gyroskopisk stabilitet. Det er grunnen til at du kan føle at bevegelsen i videoen er vaklende, men hvis du bruker en anstendig kvalitetsdrone med god stabilitet, vil du ikke møte dette problemet.
- Jeg ønsket å tinker rundt Computer Vision og dronekontroll, derfor begynte jeg med dette prosjektet. Men etter å ha jobbet med datasyn, føler jeg at det ikke er den optimale løsningen for å kontrollere dronen. Derfor planlegger jeg å lage en slags hanske-enhet med Gyro-sensor for å kontrollere dronen i fremtiden. Så følg med for oppdateringer …
Hvis du likte denne opplæringen, kan du like og dele og stemme på den.
Det er alt for nå.. Vi sees snart neste gang …
Anbefalt:
GJØR DIN SNAPKRETTER ARKADESETT FAN SEI IU: 5 trinn
GJØR DIN SNAPKRETTER ARKADESETT FAN SEI I <3 U: Nå kan du få snapkretsene til arkadesettet til å si I LOVE U ved å bruke denne instruerbare! Jeg deltar også i dette instruerbare i hjertekonkurransen! Håper jeg vinner
MAKRO MASKIN, GJØR DIN LIV ENKLERE !: 3 trinn
MAKRO MASKIN, GJØR DIN LIV ENKLERE !: Makro er en veldig nyttig ting siden den hjelper oss med å gjøre ting raskere. Dette prosjektet handler om å skrive en lenke til nettstedet for deg ved å trykke på en knapp som er en slags makro. Dette prosjektet er for studenter i KCIS som ofte trenger å taste inn Managbac for å velge
Gjør din første lyd i VCV -rack: 4 trinn
Lag din første lyd i VCV Rack: I denne opplæringen vil jeg vise deg hvordan du begynner å eksperimentere i det modulære synthprogrammet VCV Rack. VCV Rack er et gratis program som brukes til å etterligne en modulær synth, så det er flott for folk som ønsker å komme i gang med synths, men ikke vil
Trådløs robotisk hånd kontrollert av gest og stemme: 7 trinn (med bilder)
Wireless Robotic Hand Controlled by Gesture and Voice: I utgangspunktet var dette vårt høyskoleprosjekt, og på grunn av mangel på tid til å sende inn dette prosjektet glemte vi å ta bilder av noen trinn. Vi har også designet en kode som man kan kontrollere denne robothånden ved å bruke gest og stemme samtidig, men på grunn av
Slik gjør du datamaskinen raskere og gjør den raskere !: 5 trinn
Slik gjør du datamaskinen raskere og gjør den raskere !: Enkel å følge instruksjonene for hvordan du enkelt kan øke hastigheten på datamaskinen