Πίνακας περιεχομένων:

Κάντε τη χειρονομία του κηφήνα σας ελεγχόμενη σε βήματα $ 10: 4
Κάντε τη χειρονομία του κηφήνα σας ελεγχόμενη σε βήματα $ 10: 4

Βίντεο: Κάντε τη χειρονομία του κηφήνα σας ελεγχόμενη σε βήματα $ 10: 4

Βίντεο: Κάντε τη χειρονομία του κηφήνα σας ελεγχόμενη σε βήματα $ 10: 4
Βίντεο: Κάντε Αυτή Τη Χειρονομία|Θα Αποκτήσετε Ευτυχία 🆘 2024, Νοέμβριος
Anonim
Image
Image
Κάντε τη χειρονομία του Drone ελεγχόμενη σε 10 $
Κάντε τη χειρονομία του Drone ελεγχόμενη σε 10 $
Κάντε τη χειρονομία σας Drone ελεγχόμενη σε 10 $
Κάντε τη χειρονομία σας Drone ελεγχόμενη σε 10 $

Αυτό το διδακτικό είναι ένας οδηγός για τη μετατροπή του R/C Drone σας σε Drone ελεγχόμενης χειρονομίας σε λιγότερο από $ 10!

Είμαι ένας άνθρωπος που εμπνέεται πάρα πολύ από ταινίες επιστημονικής φαντασίας και προσπαθώ να κάνω την τεχνολογική εμφάνιση στην ταινία στην πραγματική ζωή. Αυτό το έργο είναι έμπνευση από δύο τέτοιες ταινίες: "STAR WARS: The Empire Strikes Back" και "Project Almanac". Και στις δύο ταινίες, βλέπετε ένα ιπτάμενο αντικείμενο (X-wing Starship & an R/C Drone) που ελέγχονταν μόνο με τις κινήσεις των χεριών. Αυτό με ενέπνευσε να κάνω κάτι παρόμοιο…

Προφανώς δεν κατέχω το X-wing, οπότε, δυστυχώς, πρέπει να συνεργαστώ με το Mini R/C Quadcopter.

Έτσι, το σχέδιο είναι - θα υπάρχει ένα σενάριο επεξεργασίας εικόνας που θα τρέχει στο φορητό υπολογιστή μου, το οποίο θα ψάχνει συνεχώς για το χέρι μου και θα παρακολουθεί τη θέση του στο πλαίσιο βίντεο. Μόλις λάβει τις συντεταγμένες του χεριού, θα στείλει το αντίστοιχο σήμα στο drone και αυτό θα γίνει χρησιμοποιώντας Arduino συνδεδεμένο σε φορητό υπολογιστή μαζί με μονάδα πομποδέκτη NRF24L01 2.4GHz που μπορεί να επικοινωνήσει απευθείας με την πλακέτα δέκτη οποιουδήποτε R/C Drone Το

Προμήθειες

  • Φορητός/επιτραπέζιος υπολογιστής με εγκατεστημένη κάμερα Web και Python. (Χρησιμοποιώ τον φορητό υπολογιστή μου W indows με την ενσωματωμένη κάμερα web και τρέχω Python 2.7.14)
  • Οποιοδήποτε R/C Drone λειτουργεί με συχνότητα 2,4Ghz. (JJRC H36 στην περίπτωσή μου)
  • Arduino UNO μαζί με το καλώδιο προγραμματισμού. (Χρησιμοποιώ τον κλώνο του καθώς είναι φθηνότερος)
  • Ασύρματη μονάδα πομποδέκτη κεραίας NRF24L01 2,4GHz. (Το αγόρασα από εδώ για μόλις 99 ₹ (1,38 $))
  • Πίνακας προσαρμογέα 3.3V για ασύρματη μονάδα 24L01. (Το αγόρασα από εδώ για μόλις 49 ₹ (0,68 $))
  • Καλώδια από άντρα σε γυναίκα Jumper x7

Βήμα 1: Συγκεντρώστε τα αναλώσιμα

Συγκεντρώστε τα Προμήθειες!
Συγκεντρώστε τα Προμήθειες!

Βήμα 2: Σύνδεση μονάδας NRF με Arduino

Σύνδεση μονάδας NRF με Arduino
Σύνδεση μονάδας NRF με Arduino
Σύνδεση μονάδας NRF με Arduino
Σύνδεση μονάδας NRF με Arduino
Σύνδεση μονάδας NRF με Arduino
Σύνδεση μονάδας NRF με Arduino
Σύνδεση μονάδας NRF με Arduino
Σύνδεση μονάδας NRF με Arduino

Τώρα καθώς έχετε όλα τα μέρη, ας ξεκινήσουμε με την καλωδίωση της μονάδας NRF με το Arduino.

  1. Πρώτον, εισαγάγετε τη μονάδα NRF στην υποδοχή που παρέχεται στον προσαρμογέα. Μπορείτε να ανατρέξετε στην παραπάνω εικόνα για αυτό.
  2. Μετά από αυτό, πάρτε καλώδια Male to Female και συνδέστε τον προσαρμογέα NRF στο Arduino ως εξής: (Ανατρέξτε στο διάγραμμα κυκλώματος παραπάνω)

    • Καρφίτσα προσαρμογέα NRF - Καρφίτσα Arduino
    • VCC - 5v
    • GND - GND
    • CE - Pinηφιακή ακίδα 5
    • CSN - Αναλογική καρφίτσα 1
    • SCK - Pinηφιακή ακίδα 4
    • MO - Pinηφιακή ακίδα 3
    • MI - Αναλογική καρφίτσα 0
    • IRQ - Δεν χρησιμοποιείται
  3. Μόλις ολοκληρωθεί η σύνδεση, συνδέστε το Arduino στον υπολογιστή σας χρησιμοποιώντας το καλώδιο USB προγραμματισμού Arduino και είστε σχεδόν έτοιμοι.

Βήμα 3: Ας μπούμε στην κωδικοποίηση

Ας μπούμε στην κωδικοποίηση!
Ας μπούμε στην κωδικοποίηση!
Ας μπούμε στην κωδικοποίηση!
Ας μπούμε στην κωδικοποίηση!

Τώρα ξεκινάει το δύσκολο κομμάτι… !!!

Δεν έχω φτιάξει ολόκληρο τον κώδικα μόνος μου. Αντ 'αυτού, έχω πάρει μέρη και κομμάτια κώδικα από διαφορετικούς προγραμματιστές και τα έχω ενσωματώσει όλα σε ένα με λίγη προσαρμογή. Ως εκ τούτου, οι σωστές πιστώσεις σε όλους τους αρχικούς δημιουργούς δίνονται μπροστά.

Μπορείτε να κατεβάσετε όλους τους κωδικούς που επισυνάπτονται εδώ και να το κάνετε να λειτουργεί. Διαφορετικά, μπορείτε να μεταβείτε στο αποθετήριο Github, όπου θα ενημερώνω συνεχώς τον τελευταίο κώδικα για καλύτερη παρακολούθηση.

Παρακολούθηση χεριών:

Ο ταξινομητής Haar Cascade χρησιμοποιείται για παρακολούθηση χεριών σε αυτό το έργο. Ο καταρράκτης Haar εκπαιδεύεται υπερθέτοντας τη θετική εικόνα σε ένα σύνολο αρνητικών εικόνων. Και αυτά τα εκπαιδευμένα δεδομένα συνήθως αποθηκεύονται σε αρχεία ".xml". Μπορείτε να πάρετε αρχεία Classifier σχεδόν οτιδήποτε στο διαδίκτυο ή μπορείτε ακόμη και να δημιουργήσετε ένα δικό σας όπως αυτό. Για αυτό το έργο, καθώς χρειαζόταν να γίνει χειρονομία, χρησιμοποιήσα έναν ταξινομητή γροθιάς που ονομάζεται "κλειστό_προστασιακό_παλμ.xml" από τον Aravind Nambissan για τον εντοπισμό του χεριού μου. Μπορείτε να δοκιμάσετε αυτόν τον κωδικό εκτελώντας τον κώδικα "hand_live.py" στο repo μου.

Επιλέγοντας τον κωδικό NRF24 για να ταιριάζει με το Drone σας:

Σύμφωνα λοιπόν με τον κατασκευαστή και το μοντέλο του drone σας, μπορείτε να ανατρέξετε στο αποθετήριο Github - "nrf24_cx10_pc" που κατασκευάστηκε από τον Perry Tsao για να επιλέξετε τον κατάλληλο κώδικα Arduino που θα εκτελείται και ο οποίος θα ταιριάζει με τη συχνότητά του. Έχει κάνει ένα ωραίο σεμινάριο για τον έλεγχο του CX10 Drone του μέσω υπολογιστή.

Καθώς χρησιμοποιούσα το drone JJRC H36, αναφέρθηκα σε ένα άλλο αποθετήριο Github - "nrf24_JJRC_H36_pc", το οποίο ήταν ένα πιρούνι του repo του Perry Tsao που έγινε από τον Lewis Cornick για να ελέγξει το JJRC H36 του μέσω υπολογιστή.

Προετοιμασία Arduino:

Πήρα το repo του Lewis στο Github μου, το οποίο μπορείτε να κλωνοποιήσετε αν εργάζεστε στο ίδιο drone. Πρέπει να ανεβάσετε τον κώδικα "nRF24_multipro.ino" μία φορά στο Arduino Uno σας για να το συνδυάσετε με το Drone σας κάθε φορά που τρέχουμε το σενάριο Python.

Δοκιμή σειριακής επικοινωνίας:

Στο ίδιο repo, μπορείτε επίσης να βρείτε έναν κωδικό "serial_test.py" ο οποίος μπορεί να χρησιμοποιηθεί για να δοκιμάσετε τη σειριακή επικοινωνία Python script με το Arduino και εάν το drone σας συνδυαστεί ή όχι. Μην ξεχάσετε να αλλάξετε τη θύρα COM στον κωδικό σύμφωνα με τη θύρα COM της πλακέτας σας Arduino.

Ενσωμάτωση των πάντων σε έναν κώδικα:

Έτσι ενσωμάτωσα όλους αυτούς τους κωδικούς από διαφορετικούς προγραμματιστές και έκανα τον δικό μου κωδικό "handserial.py". Εάν κάνετε ακριβώς το ίδιο πράγμα που κάνω και εγώ με το ίδιο drone, τότε μπορείτε να εκτελέσετε απευθείας αυτόν τον κώδικα και, στη συνέχεια, μπορείτε να ελέγξετε το drone σας απλά μετακινώντας τη γροθιά σας στον αέρα. Ο κώδικας καταγράφει πρώτα μια γροθιά στο πλαίσιο βίντεο. Ανάλογα με τη συντεταγμένη Υ της γροθιάς, ο κώδικας στέλνει την τιμή του γκαζιού στο drone κάνοντας το να ανεβαίνει ή να κατεβαίνει και ομοίως ανάλογα με τη συντεταγμένη Χ της γροθιάς, ο κώδικας στέλνει την τιμή aileron στο drone για να πάει αριστερά ή δεξιά Το

Βήμα 4: Σημείωση συγγραφέα

Υπάρχουν 4 σημεία που θα ήθελα να αναφέρω ειδικά σχετικά με αυτό το έργο:

  1. Όπως διευκρινίστηκε νωρίτερα, αυτός ο κώδικας δεν είναι ολοκληρωμένος από εμένα, αλλά τον δουλεύω συνεχώς και θα ενημερώνω τον κώδικα για καλύτερη παρακολούθηση στο Github Repository μου. Έτσι, για τυχόν ερωτήματα ή ενημερώσεις, μπορείτε να επισκεφθείτε το αποθετήριο ή να με ping στο Instagram.
  2. Προς το παρόν, χρησιμοποιούμε την κάμερα web του φορητού υπολογιστή που δεν επιτρέπει την προβολή της προβολής του drone, αλλά εάν απαιτείται, οι κάμερες που είναι τοποθετημένες στο drone μπορούν επίσης να χρησιμοποιηθούν για τον σκοπό της παρακολούθησης. Αυτό θα σας βοηθήσει να έχετε καλύτερη θέα και τελικά καλύτερο έλεγχο.
  3. Για αυτό το έργο, χρησιμοποιώ ένα drone JJRC H36, το οποίο είναι ένα από τα φθηνότερα drones που διατίθενται στην αγορά, επομένως δεν έχει γυροσκοπική σταθερότητα. Αυτός είναι ο λόγος που μπορεί να αισθανθείτε ότι η κίνηση στο βίντεο είναι ασταθής, αλλά αν χρησιμοποιείτε ένα drone αξιοπρεπούς ποιότητας με καλή σταθερότητα, δεν θα αντιμετωπίσετε αυτό το πρόβλημα.
  4. Iθελα να ασχοληθώ με το Computer Vision και τον έλεγχο drone, γι 'αυτό ξεκίνησα με αυτό το έργο. Αλλά αφού εργάστηκα για την όραση στον υπολογιστή, αισθάνομαι ότι δεν είναι η βέλτιστη λύση για τον έλεγχο του drone. Έτσι, σχεδιάζω να φτιάξω κάποια συσκευή τύπου γάντι με αισθητήρα Gyro για τον έλεγχο του drone στο μέλλον. Μείνετε λοιπόν συντονισμένοι για ενημερώσεις…

Αν σας άρεσε αυτό το σεμινάριο, κάντε like και share και ψηφίστε το επίσης.

Αυτά προς το παρόν.. Τα λέμε την επόμενη φορά…

Συνιστάται: