Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Saml forsyninger
- Trin 2: Tilslutning af NRF -modul med Arduino
- Trin 3: Lad os komme i gang med kodning
- Trin 4: Forfatterens note
Video: Få din drone gestus kontrolleret i $ 10: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Denne instruktive er en guide til at omdanne din R/C Drone til en Gesture Controlled Drone på under $ 10!
Jeg er en person, der er meget inspireret af Sci-Fi-film og forsøger at lave den teknik, der blev vist i filmen i virkeligheden. Dette projekt er en inspiration fra to sådanne film: "STAR WARS: The Empire Strikes Back" og "Project Almanac". I begge filmene ser du et flyvende objekt (X-wing Starship & en R/C Drone), som blev kontrolleret af bare håndbevægelser. Dette inspirerede mig til at lave noget lignende …
Det er klart, at jeg ikke ejer X-wing, så desværre er jeg nødt til at arbejde med min Mini R/C Quadcopter.
Så planen er - der vil køre et billedbehandlings script på min bærbare computer, som løbende vil lede efter min hånd og spore dens position i videorammen. Når den får håndens koordinater, sender den det respektive signal til dronen, og dette vil blive gjort ved hjælp af Arduino tilsluttet en bærbar computer sammen med et NRF24L01 2,4 GHz transceivermodul, der direkte kan kommunikere med modtagerkortet på enhver R/C Drone.
Forbrugsvarer
- Bærbar/stationær computer med et webcam og Python installeret. (Jeg bruger min W indows bærbare computer med sit indbyggede webcam og kører Python 2.7.14)
- Enhver R/C Drone, der kører på 2,4 GHz frekvens. (JJRC H36 i mit tilfælde)
- Arduino UNO sammen med dets programmeringskabel. (Jeg bruger sin klon, da den er billigere)
- NRF24L01 2,4 GHz antenne trådløs transceiver modul. (Jeg købte dette herfra for kun $ 99 ($ 1,38))
- 3.3V adapterkort til 24L01 trådløst modul. (Jeg købte dette herfra for kun £ 49 ($ 0,68))
- Mand til kvinde Jumper Wires x7
Trin 1: Saml forsyninger
Trin 2: Tilslutning af NRF -modul med Arduino
Når du nu har alle delene, lad os komme i gang med at tilslutte NRF -modulet med Arduino.
- Først skal du indsætte NRF -modulet i åbningen på adapteren. Du kan referere til billedet ovenfor for det.
-
Derefter skal du tage han -til -hun -ledninger og slutte NRF -adapteren til Arduino som følger: (Se kredsløbsdiagrammet 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 brugt
- Når forbindelsen er udført, skal du slutte Arduino til din pc ved hjælp af Arduino Programmering USB -kabel, og du er næsten færdig.
Trin 3: Lad os komme i gang med kodning
Nu begynder den hårde del her… !!!
Jeg har ikke selv lavet hele koden. I stedet har jeg taget dele og stumper af kode fra forskellige udviklere og integreret dem alle i en med en lille smule tweaking. Derfor gives de rigtige kreditter til alle de originale skabere forud.
Du kan downloade alle de vedhæftede koder her og få det til at fungere. Eller også kan du gå til mit Github -depot, hvor jeg konstant opdaterer den nyeste kode for bedre sporing.
Håndsporing:
Haar Cascade classifier bruges til håndsporing i dette projekt. Haar Cascade trænes ved at lægge det positive billede over et sæt negative billeder. Og disse uddannede data gemmes normalt i ".xml" -filer. Du får muligvis Classifier -filer med næsten alt på internettet, eller du kan endda oprette en af dine egne på denne måde. Da vi havde brug for at gøre det håndbevægelsesstyret til dette projekt, brugte jeg en knytnæveklassificering kaldet "closed_frontal_palm.xml" lavet af Aravind Nambissan til min hånddetektion. Du kan teste denne kode ved at køre "hand_live.py" -koden i min repo.
Valg af NRF24 -koden, der matcher din Drone:
Så ifølge producenten og modellen af din drone kan du henvise til Github -depotet - "nrf24_cx10_pc" lavet af Perry Tsao for at vælge den korrekte Arduino -kode, der skal køres, og som matcher dens frekvens. Han har lavet en god tutorial til at styre sin CX10 Drone over PC.
Da jeg brugte JJRC H36 drone, henviste jeg til et andet Github -depot - "nrf24_JJRC_H36_pc", som var en gaffel af Perry Tsao's repo lavet af Lewis Cornick for at styre hans JJRC H36 over PC.
Gør Arduino klar:
Jeg gaflede Lewis repo til min Github, som du kan klone, hvis du arbejder på den samme drone. Du skal uploade "nRF24_multipro.ino" -kode én gang på din Arduino Uno for at få den til at parre med din Drone, hver gang vi kører vores Python -script.
Test af seriel kommunikation:
I samme repo finder du muligvis også en kode "serial_test.py", som kan bruges til at teste seriel kommunikation af Python -script med Arduino, og hvis din drone bliver parret eller ej. Glem ikke at ændre COM -porten i koden i henhold til COM -porten på dit Arduino -kort.
Integrering af alt i én kode:
Så jeg integrerede alle disse koder af forskellige udviklere og lavede min egen kode "handserial.py". Hvis du gør nøjagtig det samme, som jeg gør med nøjagtig samme drone, kan du direkte køre denne kode, og derefter kan du styre din drone ved bare at flytte din knytnæve i luften. Koden sporer først en knytnæve i videorammen. Afhængig af knytnæves Y-koordinat sender koden gassværdien til drone, så den går op eller ned og på samme måde afhængigt af knytnæveens X-koordinat, sender koden aileron-værdien til drone, så den går til venstre eller højre.
Trin 4: Forfatterens note
Der er 4 punkter, jeg specielt vil nævne vedrørende dette projekt:
- Som angivet tidligere er denne kode ikke fuldstændig lavet af mig, men jeg arbejder løbende på den og ville opdatere koden for bedre sporing på mit Github Repository. Så for eventuelle forespørgsler eller opdateringer kan du besøge lageret eller pinge mig på Instagram.
- I øjeblikket bruger vi webcam på den bærbare computer, som ikke tillader perspektivet af dronens udsigt, men hvis det er nødvendigt, kan kameraerne monteret på dronen også bruges til sporing. Dette vil hjælpe med at få et bedre overblik og i sidste ende bedre kontrol.
- Til dette projekt bruger jeg en JJRC H36 drone, som er en af de billigste droner, der findes på markedet, og derfor mangler den gyroskopisk stabilitet. Det er grunden til, at du måske føler, at bevægelsen i videoen er vaklende, men hvis du bruger en drone i anstændig kvalitet med god stabilitet, står du ikke over for dette problem.
- Jeg ville pille rundt i Computer Vision og drone control, derfor startede jeg med dette projekt. Men efter at have arbejdet med computersyn, føler jeg, at det ikke er den optimale løsning at styre dronen. Således planlægger jeg at lave en slags handske-type enhed med Gyro-sensor til at styre dronen i fremtiden. Så følg med for opdateringer …
Hvis du kunne lide denne vejledning, kan du lide og dele og også stemme på den.
Det er alt for nu.. Vi ses snart næste gang …
Anbefalede:
DIY Arduino Bluetooth -kontrolleret bil: 6 trin (med billeder)
DIY Arduino Bluetooth -kontrolleret bil: Hej venner! Mit navn er Nikolas, jeg er 15 år, og jeg bor i Athen, Grækenland. I dag vil jeg vise dig, hvordan du laver en 2-hjulet Bluetooth-kontrolleret bil ved hjælp af en Arduino Nano, en 3D-printer og nogle enkle elektroniske komponenter! Sørg for at se min
Sådan bruges gestus APDS9960 med SkiiiD: 9 trin
Sådan bruges gestus APDS9960 med SkiiiD: En vejledning i at udvikle Collision Switch XD206 med skiiiD
Lav Bluetooth -kontrolleret robot med din egen GUI: 5 trin
Lav Bluetooth -kontrolleret robot med din egen GUI: Hej venner efter at have udført et håndværksprojekt i dag, jeg kom her med et sejt arduino -projekt. Det ser gammelt koncept ud eksternt, men vent fyre, jeg har et twist her, hvilket gør dette projekt unikt. Så hvad er unikt her? Så her vil jeg vise dig
Ultralyds Pi -klaver med gestus -kontrol !: 10 trin (med billeder)
Ultrasonic Pi Piano With Gesture Controls !: Dette projekt bruger billige HC-SR04 ultralydssensorer som input og genererer MIDI-noter, der kan afspilles gennem en synthesizer på Raspberry Pi for en lyd af høj kvalitet. Projektet bruger også en grundlæggende form for gestusstyring , hvor musikken
Trådløs robothånd styret af gestus og stemme: 7 trin (med billeder)
Trådløs robothånd styret af gestus og stemme: Grundlæggende var dette vores college -projekt, og på grund af mangel på tid til at indsende dette projekt glemte vi at tage billeder af nogle trin. Vi har også designet en kode, som man kan styre denne robothånd med ved hjælp af gestus og stemme på samme tid, men på grund af l