Innehållsförteckning:
- Tillbehör
- Steg 1: Samla förbrukningsmaterial
- Steg 2: Anslutning av NRF -modul med Arduino
- Steg 3: Låt oss komma i kodning
- Steg 4: Författarens anmärkning
Video: Gör din drone gest kontrollerad i $ 10: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Denna instruerbara är en guide för att omvandla din R/C Drone till en Gest Controlled Drone på under $ 10!
Jag är en person som är mycket inspirerad av Sci-Fi-filmer och försöker göra tekniken som visades i filmen i verkligheten. Detta projekt är en inspiration från två sådana filmer: "STAR WARS: The Empire Strikes Back" och "Project Almanac". I båda filmerna ser du ett flygande föremål (X-wing Starship & en R/C Drone) som styrdes av bara handrörelser. Detta inspirerade mig att göra något liknande …
Självklart äger jag inte X-wing, så tyvärr måste jag arbeta med min Mini R/C Quadcopter.
Så planen är - det kommer att köras ett bildbehandlingsskript på min bärbara dator som kontinuerligt kommer att leta efter min hand och spåra dess position i videoramen. När den väl fått koordinaterna för handen skickar den respektive signal till drönaren och detta kommer att göras med Arduino ansluten till bärbar dator tillsammans med en NRF24L01 2,4 GHz sändtagarmodul som direkt kan kommunicera med mottagarkortet på alla R/C -drönare.
Tillbehör
- Bärbar/stationär dator med en webbkamera och Python installerat. (Jag använder min W indows-bärbara dator med sin inbyggda webbkamera och kör Python 2.7.14)
- Alla R/C Drone som körs på 2,4 GHz frekvens. (JJRC H36 i mitt fall)
- Arduino UNO tillsammans med dess programmeringskabel. (Jag använder sin klon eftersom den är billigare)
- NRF24L01 2,4 GHz antenn trådlös sändtagarmodul. (Jag köpte den här härifrån för bara 99 kr (1,38 dollar))
- 3.3V adapterkort för 24L01 trådlös modul. (Jag köpte den här härifrån för bara 49 kr (0,68 dollar))
- Manliga till kvinnliga bygeltrådar x7
Steg 1: Samla förbrukningsmaterial
Steg 2: Anslutning av NRF -modul med Arduino
Nu när du har alla delar, låt oss komma igång med att koppla ihop NRF -modulen med Arduino.
- För in först NRF -modulen i facket på adaptern. Du kan hänvisa till bilden ovan för det.
-
Efter det, ta han- till honkablar och anslut NRF -adaptern till Arduino enligt följande: (Se kretsdiagrammet ovan)
- NRF Adapter Pin - Arduino Pin
- VCC - 5v
- GND - GND
- CE - Digital stift 5
- CSN - Analog stift 1
- SCK - Digital stift 4
- MO - Digital stift 3
- MI - Analog stift 0
- IRQ - Används inte
- När anslutningen är klar, anslut Arduino till din dator med Arduino Programmering USB -kabel och du är nästan klar.
Steg 3: Låt oss komma i kodning
Nu börjar här den tuffa delen … !!!
Jag har inte gjort hela koden själv. Istället har jag tagit delar och bitar av kod från olika utvecklare och integrerat dem alla i en med lite tweaking. Därför ges korrekta krediter till alla de ursprungliga skaparna i förväg.
Du kan ladda ner alla koder som bifogas här och få det att fungera. Eller så kan du gå till mitt Github -arkiv, där jag ständigt kommer att uppdatera den senaste koden för bättre spårning.
Handspårning:
Haar Cascade classifier används för handspårning i detta projekt. Haarkaskaden tränas genom att lägga den positiva bilden över en uppsättning negativa bilder. Och dessa utbildade data lagras vanligtvis i ".xml" -filer. Du kan få Classifier -filer med nästan vad som helst på internet eller så kan du till och med skapa en av dina egna så här. För det här projektet, eftersom vi behövde göra det handrörelsekontrollerat, använde jag en näveklassificering som heter "closed_frontal_palm.xml" gjord av Aravind Nambissan för min handdetektering. Du kan testa den här koden genom att köra "hand_live.py" -koden i min repo.
Välja NRF24 -koden för att matcha din Drone:
Så enligt tillverkaren och modellen för din drönare kan du hänvisa till Github -förvaret - "nrf24_cx10_pc" som gjorts av Perry Tsao för att välja rätt Arduino -kod att köra som matchar dess frekvens. Han har gjort en trevlig handledning för att styra sin CX10 Drone över PC.
När jag använde JJRC H36 -drönare hänvisade jag till ett annat Github -förråd - "nrf24_JJRC_H36_pc" som var en gaffel av Perry Tsaos repo gjord av Lewis Cornick för att styra sin JJRC H36 över PC.
Gör dig redo för Arduino:
Jag gafflade Lewis repo till min Github som du kan klona om du arbetar på samma drönare. Du måste ladda upp "nRF24_multipro.ino" -koden en gång på din Arduino Uno för att få den att kopplas till din Drone varje gång vi kör vårt Python -skript.
Testar seriell kommunikation:
I samma repo kan du också hitta en kod "serial_test.py" som kan användas för att testa seriell kommunikation av Python -skript med Arduino och om din drone kopplas ihop eller inte. Glöm inte att ändra COM -porten i koden enligt COM -porten på ditt Arduino -kort.
Integrera allt i en kod:
Så jag integrerade alla dessa koder av olika utvecklare och skapade min egen kod "handserial.py". Om du gör exakt samma sak som jag gör med exakt samma drönare, kan du direkt köra den här koden och sedan kan du styra din drönare genom att bara flytta näven i luften. Koden spårar först en näve i videoramen. Beroende på knytnävens Y-koordinat skickar koden gasvärdet till drönaren så att den går upp eller ner och på samma sätt beroende på knytnäve X-koordinaten skickar koden aileron-värdet till drönaren så att den går åt vänster eller höger.
Steg 4: Författarens anmärkning
Det finns 4 punkter jag särskilt vill nämna angående detta projekt:
- Som angetts tidigare är denna kod inte helt gjord av mig, men jag arbetar kontinuerligt med den och skulle uppdatera koden för bättre spårning på mitt Github -arkiv. Så för frågor eller uppdateringar kan du besöka förvaret eller pinga mig på Instagram.
- För närvarande använder vi webbkameran på den bärbara datorn som inte tillåter att ha perspektivet för drönarens syn, men om det behövs kan kamerorna monterade på drönaren också användas för spårning. Detta kommer att bidra till att få en bättre överblick och i slutändan bättre kontroll.
- För detta projekt använder jag en JJRC H36 -drönare som är en av de billigaste drönarna som finns på marknaden, därför saknar den gyroskopisk stabilitet. Det är anledningen till att du kan känna att rörelsen i videon är vinglig, men om du använder en drone av anständig kvalitet med bra stabilitet kommer du inte att möta detta problem.
- Jag ville pyssla med Computer Vision och drönarkontroll, därför började jag med det här projektet. Men efter att ha arbetat med datorsyn känner jag att det inte är den optimala lösningen för att styra drönaren. Således planerar jag att göra någon slags handsktyp med Gyrosensor för att styra drönaren i framtiden. Så håll utkik efter uppdateringar …
Om du gillade den här handledningen, gilla och dela och rösta också på den.
Det är allt för nu.. Vi ses snart nästa gång …
Rekommenderad:
Hur man gör DIY Arduino Gest Control Robot hemma: 4 steg
Hur man gör en DIY Arduino Gest Control Robot hemma: Hur man gör en DIY Arduino Gest Control Robot hemma. I det här projektet kommer jag att visa dig hur du gör en DIY Arduino Gesture Control Robot
Hur man gör en Bluetooth -kontrollerad RC -bil hemma: 4 steg (med bilder)
Hur man gör en Bluetooth -kontrollerad RC -bil hemma: Lär dig hur du gör en enkel SmartPhone -styrd robotbil med hjälp av Arduino och mycket grundläggande elektroniska komponenter
Hur man gör en Android -kontrollerad Rover: 8 steg (med bilder)
Hur man gör en Android-kontrollerad Rover: i denna instruerbara kommer jag att visa dig hur man bygger en Android-kontrollerad bil eller rover. Hur fungerar den Android-kontrollerade roboten? Den Android -applikationsstyrda roboten kommunicerar via Bluetooth till Bluetooth -modulen som finns på rob
Hur man gör en DIY Smartphone -kontrollerad RC -bil: 8 steg (med bilder)
Hur man gör en DIY Smartphone -kontrollerad RC -bil: Hej, killar! I den här handledningen ska jag göra en Arduino -baserad smarttelefonstyrd RC -bil. Denna bil kan styras via Bluetooth med vilken Android -telefon eller surfplatta som helst. Detta är ett fantastiskt projekt. det är enkelt att göra, lätt att programmera och också en
Hur man gör en Bluetooth -kontrollerad förenklad RC -bil: 7 steg (med bilder)
Hur man gör en Bluetooth -kontrollerad enkel RC -bil: Hej alla, jag heter Bryan Tee Pak Hong. Jag studerar för närvarande ett år i Singapore Polytechnic Computer Engineering. När jag var barn var jag alltid fascinerad av RC -bilar och hur de fungerar. När jag tog isär det enda jag ser är bitar