Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Sammeln Sie die Vorräte
- Schritt 2: Verbindung des NRF-Moduls mit Arduino
- Schritt 3: Kommen wir zur Codierung
- Schritt 4: Anmerkung des Autors
Video: Machen Sie Ihre Drohnengeste in $10 gesteuert - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Dieses anweisbare ist eine Anleitung zur Umwandlung Ihrer R / C-Drohne in eine gestengesteuerte Drohne in weniger als 10 US-Dollar!
Ich bin eine Person, die sehr von Science-Fiction-Filmen inspiriert ist und versuche, die im Film gezeigte Technologie in die Realität umzusetzen. Dieses Projekt ist eine Inspiration von zwei solcher Filme: "STAR WARS: The Empire Strikes Back" und "Project Almanac". In beiden Filmen sieht man ein Flugobjekt (X-Wing Starship & eine R/C Drone), die nur durch Handbewegungen gesteuert wurden. Das hat mich dazu inspiriert, etwas Ähnliches zu machen…
Den X-Wing besitze ich natürlich nicht, daher muss ich leider mit meinem Mini R/C Quadcopter arbeiten.
Der Plan ist also - auf meinem Laptop läuft ein Bildverarbeitungsskript, das ständig nach meiner Hand sucht und ihre Position im Videoframe verfolgt. Sobald es die Koordinaten der Hand erhält, sendet es das entsprechende Signal an die Drohne und dies geschieht mit Arduino, das mit einem Laptop verbunden ist, zusammen mit einem NRF24L01 2,4 GHz Transceiver-Modul, das direkt mit der Empfängerplatine jeder R / C-Drohne kommunizieren kann.
Lieferungen
- Laptop/Desktop-Computer mit installierter Webcam und Python. (Ich verwende meinen Windows-Laptop mit integrierter Webcam und laufe Python 2.7.14)
- Jede RC-Drohne, die auf einer Frequenz von 2,4 GHz läuft. (JJRC H36 in meinem Fall)
- Arduino UNO zusammen mit seinem Programmierkabel. (Ich verwende seinen Klon, da er billiger ist)
- NRF24L01 2,4-GHz-Antennen-Funk-Transceiver-Modul. (Ich habe das hier für nur ₹99 (1,38 $) gekauft)
- 3.3V Adapterplatine für 24L01 Funkmodul. (Ich habe das hier für nur ₹49 (0,68 $) gekauft)
- Stecker-zu-Buchse-Überbrückungsdrähte x7
Schritt 1: Sammeln Sie die Vorräte
Schritt 2: Verbindung des NRF-Moduls mit Arduino
Da Sie nun alle Teile haben, beginnen wir mit der Verdrahtung des NRF-Moduls mit dem Arduino.
- Stecken Sie zunächst das NRF-Modul in den dafür vorgesehenen Steckplatz des Adapters. Sie können sich dafür auf das obige Bild beziehen.
-
Nehmen Sie danach die Kabel von Male zu Female und verbinden Sie den NRF-Adapter wie folgt mit Arduino: (Siehe den Schaltplan oben)
- NRF-Adapter-Pin - Arduino-Pin
- VCC - 5V
- Masse - Masse
- CE - Digitaler Pin 5
- CSN - Analoger Pin 1
- SCK - Digitaler Pin 4
- MO - Digitaler Pin 3
- MI - Analoger Pin 0
- IRQ - Nicht verwendet
- Sobald die Verbindung hergestellt ist, verbinden Sie das Arduino mit dem Arduino-Programmier-USB-Kabel mit Ihrem PC und Sie sind fast fertig.
Schritt 3: Kommen wir zur Codierung
Hier beginnt nun der schwierige Teil…!!!
Ich habe nicht den ganzen Code selbst erstellt. Stattdessen habe ich Teile und Code-Bits von verschiedenen Entwicklern genommen und sie alle mit ein wenig Feinarbeit in einen integriert. Daher werden allen ursprünglichen Erstellern angemessene Credits im Voraus gegeben.
Sie können alle hier angehängten Codes herunterladen und zum Laufen bringen. Oder Sie besuchen mein Github-Repository, wo ich ständig den neuesten Code für ein besseres Tracking aktualisiere.
Handverfolgung:
Der Klassifikator Haar Cascade wird in diesem Projekt für die Handverfolgung verwendet. Die Haarkaskade wird trainiert, indem das positive Bild über einen Satz negativer Bilder gelegt wird. Und diese trainierten Daten werden normalerweise in ".xml"-Dateien gespeichert. Sie können Klassifikatordateien von fast allem im Internet erhalten oder sogar eine eigene erstellen. Für dieses Projekt, da wir es mit Handgesten steuern mussten, habe ich einen ersten Klassifikator namens "closed_frontal_palm.xml" von Aravind Nambissan für meine Handerkennung verwendet. Sie können diesen Code testen, indem Sie den Code "hand_live.py" in meinem Repository ausführen.
Wählen Sie den NRF24-Code, der zu Ihrer Drohne passt:
Je nach Hersteller und Modell Ihrer Drohne können Sie sich auf das Github-Repository "nrf24_cx10_pc" von Perry Tsao beziehen, um den richtigen Arduino-Code auszuwählen, der seiner Frequenz entspricht. Er hat ein schönes Tutorial gemacht, um seine CX10 Drohne über den PC zu steuern.
Als ich die JJRC H36-Drohne benutzte, verwies ich auf ein anderes Github-Repository - "nrf24_JJRC_H36_pc", das eine Abzweigung von Perry Tsaos Repo war, das von Lewis Cornick erstellt wurde, um seinen JJRC H36 über den PC zu steuern.
Arduino bereit machen:
Ich habe Lewis 'Repo auf meinen Github gegabelt, den Sie klonen können, wenn Sie an derselben Drohne arbeiten. Sie müssen den Code "nRF24_multipro.ino" einmal auf Ihrem Arduino Uno hochladen, damit er jedes Mal, wenn wir unser Python-Skript ausführen, mit Ihrer Drohne gekoppelt wird.
Testen der seriellen Kommunikation:
Im selben Repository finden Sie möglicherweise auch einen Code "serial_test.py", mit dem Sie die serielle Kommunikation des Python-Skripts mit Arduino testen können und ob Ihre Drohne gepaart wird oder nicht. Vergessen Sie nicht, den COM-Port im Code entsprechend dem COM-Port Ihres Arduino-Boards zu ändern.
Alles in einen Code integrieren:
Also habe ich all diese Codes von verschiedenen Entwicklern integriert und meinen eigenen Code "handserial.py" erstellt. Wenn Sie genau dasselbe tun, was ich mit genau derselben Drohne mache, können Sie diesen Code direkt ausführen und dann Ihre Drohne steuern, indem Sie einfach Ihre Faust in die Luft bewegen. Der Code verfolgt zuerst eine Faust im Videoframe. Abhängig von der Y-Koordinate der Faust sendet der Code den Drosselwert an die Drohne, damit sie nach oben oder unten geht, und in ähnlicher Weise sendet der Code abhängig von der X-Koordinate der Faust den Querruderwert an die Drohne, damit sie nach links oder rechts geht.
Schritt 4: Anmerkung des Autors
4 Punkte möchte ich zu diesem Projekt besonders erwähnen:
- Wie bereits erwähnt, wurde dieser Code nicht vollständig von mir erstellt, aber ich arbeite kontinuierlich daran und würde den Code für ein besseres Tracking in meinem Github-Repository aktualisieren. Bei Fragen oder Updates können Sie das Repository besuchen oder mich auf Instagram anpingen.
- Derzeit verwenden wir die Webcam des Laptops, die es nicht erlaubt, die Perspektive der Drohne zu haben, aber bei Bedarf können die an der Drohne montierten Kameras auch für das Tracking verwendet werden. Dies wird helfen, eine bessere Sicht und letztendlich eine bessere Kontrolle zu haben.
- Für dieses Projekt verwende ich eine JJRC H36-Drohne, die eine der billigsten Drohnen auf dem Markt ist und daher keine Kreiselstabilität aufweist. Das ist der Grund, warum Sie vielleicht das Gefühl haben, dass die Bewegung im Video wackelig ist, aber wenn Sie eine qualitativ hochwertige Drohne mit guter Stabilität verwenden, werden Sie dieses Problem nicht haben.
- Ich wollte an Computer Vision und Drohnensteuerung herumbasteln, daher habe ich mit diesem Projekt angefangen. Aber nachdem ich an Computer Vision gearbeitet habe, habe ich das Gefühl, dass dies nicht die optimale Lösung ist, um die Drohne zu steuern. Daher plane ich, in Zukunft eine Art Handschuhgerät mit Gyro-Sensor zu bauen, um die Drohne zu steuern. Bleiben Sie also auf dem Laufenden für Updates…
Wenn Ihnen dieses Tutorial gefallen hat, liken und teilen Sie es und stimmen Sie auch dafür ab.
Das ist alles für den Moment.. Bis bald beim nächsten Mal…
Empfohlen:
Machen Sie Ihre Anlage SMART! (von Arduino): 5 Schritte
Machen Sie Ihre Anlage SMART! (Von Arduino): Sie haben sich also schon immer gefragt, wie Sie Ihren Anlagen Technologie hinzufügen können? Mit diesem coolen Projekt können Sie sicherstellen, dass Ihre schönen Pflanzen immer in gutem Zustand sind. Nachdem Sie dieses Projekt durchgeführt haben, werden Sie: Erfahren Sie, wie Sie Analogausgangssensoren verwenden Erfahren Sie, wie
Speichern Sie Ihre Bilder für Ihre Aufgabe: 4 Schritte (mit Bildern)
Speichern Ihrer Bilder für Ihre Aufgabe: 1. Öffnen Sie ein neues Google-Dokument und verwenden Sie diese Seite, um Ihre Bilder zu sichern.2. Verwenden Sie Strg (Steuerung) und die Taste "c" Schlüssel zum Kopieren.3. Verwenden Sie Strg (Steuerung) und die Taste "v" Schlüssel zum Einfügen
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für
SO MACHEN SIE IHRE EIGENEN IPOD HOODIES {NEU UND VERBESSERT!} – wikiHow
SO MACHEN SIE IHRE EIGENEN IPOD HOODIES {NEU UND VERBESSERT!}: Wie Sie Ihre eigenen iPod-Kapuzenpullis JETZT GRÖSSER UND BESSER machen Http://www.instructables.com/id/MAKE-YOUR-OWN-IPOD-HOO
So überprüfen Sie Ihre Computerspezifikationen, bevor Sie Spiele/Software kaufen.: 6 Schritte
So überprüfen Sie Ihre Computerspezifikationen, bevor Sie Spiele/Software kaufen.: In diesem Handbuch wird beschrieben, was alle Spiele/Software erfordern. Diese Anleitung zeigt Ihnen, wie Sie überprüfen können, ob Ihr Computer eine CD oder DVD ausführen und installieren kann, die Sie in Ihren Computer eingelegt haben. Sie können dies auch http://cyri.systemrequirementslab.com/srtest/ (von Benutzer Kweeni