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

Ρομπότ που ρίχνει καραμέλα με Arduino, ανακυκλωμένα μέρη και Dlib .: 6 βήματα
Ρομπότ που ρίχνει καραμέλα με Arduino, ανακυκλωμένα μέρη και Dlib .: 6 βήματα

Βίντεο: Ρομπότ που ρίχνει καραμέλα με Arduino, ανακυκλωμένα μέρη και Dlib .: 6 βήματα

Βίντεο: Ρομπότ που ρίχνει καραμέλα με Arduino, ανακυκλωμένα μέρη και Dlib .: 6 βήματα
Βίντεο: ΜΑΓΕΙΡΑΣ - ΜΑΡΙΟΣ ΦΡΑΓΚΟΥΛΗΣ , ΗΛΙΑΣ ΜΑΜΑΛΑΚΗΣ 2024, Νοέμβριος
Anonim
Ρομπότ που ρίχνει καραμέλα με Arduino, ανακυκλωμένα μέρη και Dlib
Ρομπότ που ρίχνει καραμέλα με Arduino, ανακυκλωμένα μέρη και Dlib

Με μερικά ανακυκλωμένα εξαρτήματα, μια ασπίδα κινητήρα Arduino + και λογισμικό υπολογιστή Dlib, μπορείτε να φτιάξετε ένα λειτουργικό εκτοξευτή καραμελών που ανιχνεύει το πρόσωπο.

Υλικά:

  • Ξύλινο πλαίσιο
  • Φορητός υπολογιστής (κατά προτίμηση ένας πιο ισχυρός από ένα Raspberry Pi!).
  • Arduino (Κατά προτίμηση Uno, ή αυτό που ταιριάζει στην ασπίδα του κινητήρα σας.)
  • Ασπίδα κινητήρα Arduino (χρησιμοποίησα την παλιά ασπίδα Adafruit, όπως πωλείται ακόμη εδώ)
  • Οποιαδήποτε τυπική κάμερα web
  • Μικρό πλυντήριο

Ανακυκλωμένα μέρη:

  • Θήκη (το παλιό μεταλλικό κουτί λειτουργεί καλά.)
  • Βηματικό μοτέρ, μοτέρ DC από αποσυναρμολογημένο παλιό εκτυπωτή.
  • Τροφοδοσία παλιού εκτυπωτή
  • Διανομέας καραμελών (Μεγάλο δοχείο γιαουρτιού).

Τα εσωτερικά του τελικού προϊόντος θα μοιάζουν κάπως με συνημμένη επισκόπηση.

Προειδοποίηση

Βεβαιωθείτε ότι έχετε αποσυνδέσει το ρεύμα από το Arduino/μοτέρ πριν από την καλωδίωση/επανασύνδεση. Φροντίστε να συνδέσετε το ρεύμα στη σωστή πολικότητα!

Αυτό είναι ένα έργο ενδιάμεσου επιπέδου που χρησιμοποιεί Arduino και λογισμικό που χρειάζεστε για εγκατάσταση ή μεταγλώττιση στον υπολογιστή σας. Οι οδηγίες ενδέχεται να διαφέρουν και έχουν δοκιμαστεί όταν εργάζεστε στο Ubuntu.

Mayσως χρειαστεί να προσαρμόσετε τον κώδικα Arduino σε οποιαδήποτε ασπίδα κινητήρα χρησιμοποιείτε, εάν δεν χρησιμοποιείτε την παλιά ασπίδα κινητήρα Adafruit.

Βήμα 1: Τρυπήστε, συνδέστε και τοποθετήστε το μοτέρ

Τρυπάνι, Connect και Mount Motor
Τρυπάνι, Connect και Mount Motor
Τρυπάνι, Connect και Mount Motor
Τρυπάνι, Connect και Mount Motor

Τρυπήστε τρύπες στη θήκη, συνδέοντας βηματικό μοτέρ έτσι ώστε η κάμερα web να μπορεί να κινείται στην κορυφή και ο διανομέας να περιστρέφεται στο κάτω μέρος.

Οι βηματικοί κινητήρες μπορούν να κινούνται σε μικρά βήματα (4 σύρματα), σε αντίθεση με τους κινητήρες DC (2 καλώδια) που τρέχουν προς τα πίσω/προς τα εμπρός και όχι σε βήματα.

Ο κινητήρας DC έχει 2 καλώδια (λειτουργεί με κάθε τρόπο), ο προαιρετικός βηματικός κινητήρας θα έχει 4 σε δύο πηνία (δοκιμάστε με μετρητή αντίστασης πολύμετρου για να δείτε πού συνδέονται τα πηνία, όπως περιγράφεται εδώ.)

Εάν χρησιμοποιείτε την παλιά ασπίδα Adafruit όπως στο παράδειγμά μου, πρέπει να συνδέσετε το μοτέρ περιστροφής καραμελών DC στον κινητήρα #3 και το stepper στους δύο πρώτους κινητήρες (#1, #2) όπως περιγράφεται στην τεκμηρίωσή τους.

Μόλις συνδεθούν, συνδέστε τους κινητήρες σε μια ασπίδα κινητήρα Arduino που είναι προσαρτημένη σε ένα Arduino. Για καλύτερα αποτελέσματα συνιστάται να έχετε ένα δεύτερο τροφοδοτικό στους κινητήρες, το οποίο μπορείτε να συνδέσετε με την έξοδο DC σε κονδυλώματα τοίχου 2 $ από μεταχειρισμένο κατάστημα.

Βήμα 2: Προσάρτηση του δοχείου

Τοποθέτηση του δοχείου
Τοποθέτηση του δοχείου
Τοποθέτηση του δοχείου
Τοποθέτηση του δοχείου
Τοποθέτηση του δοχείου
Τοποθέτηση του δοχείου
Τοποθέτηση του δοχείου
Τοποθέτηση του δοχείου

Μετρήστε το κέντρο ενός δοχείου γιαουρτιού ή άλλου μεγάλου πλαστικού δοχείου και τρυπήστε μια λαβή λίγο μεγαλύτερη από το άκρο του κινητήρα.

Συνδέστε το δοχείο στο κουτί χρησιμοποιώντας ένα μικρό πλυντήριο - κολλήστε το Krazy στο κάτω μέρος του δοχείου και στον άξονα του ηλεκτροκινητήρα.

Αφήστε την κόλλα να στεγνώσει για μια ή δύο ημέρες για να σκληρύνει πλήρως - μπορεί να θέλετε να τοποθετήσετε ένα μικρό διαχωριστικό μεταξύ κουτιού και περιστρεφόμενου δοχείου για να βεβαιωθείτε ότι δεν έχει στραβώσει.

Βήμα 3: Φτιάξτε μια μικρή τρύπα για Candy Thrower

Φτιάξτε μια μικρή τρύπα για Candy Thrower
Φτιάξτε μια μικρή τρύπα για Candy Thrower

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

(Για καλύτερα αποτελέσματα, περίπου 30 κομμάτια καραμέλας μπορούν να φορτωθούν στο άκρο του καπακιού του διανομέα, το οποίο θα είναι το κάτω μέρος.)

Συνεχίστε απαλά να σκιαγραφείτε με ένα κοφτερό μαχαίρι μέχρι να βγει έξω, αφήνοντας μια μικρή τρύπα (μπορείτε να επεκτείνετε την τρύπα αργότερα, αν χρειαστεί).

Βήμα 4: Ρύθμιση Arduino

Εάν δεν έχετε εγκαταστήσει ήδη το λογισμικό Arduino, πάρτε το από

www.arduino.cc/en/Main/Software

Οποιαδήποτε πρόσφατη έκδοση θα πρέπει να λειτουργεί.

Δοκιμάστε τον κινητήρα DC/Stepper με τα παραδείγματα που δίνονται στον παράδειγμα κώδικα του Arduino Shield.

Εάν τυχαίνει να χρησιμοποιείτε αυτήν την ασπίδα (εξακολουθεί να διατίθεται από ορισμένους μεταπωλητές), μπορείτε να χρησιμοποιήσετε απευθείας τον κωδικό μου:

github.com/programmin1/HowToTrainYourRobot…

Μόλις δοκιμάσετε και μπορείτε να μοιράσετε καραμέλες εισάγοντας "d" στο σειριακό παράθυρο του Arduino, ήρθε η ώρα να το συνδέσετε με το αναγνωριστικό του Dlib.

Βήμα 5: Ρύθμιση Dlib

Το Dlib (https://dlib.net/) παρέχει μια βιβλιοθήκη ανοιχτού κώδικα, εύκολη στη χρήση για αναγνώριση εικόνας. Εγκαταστήστε τη μονάδα Python Dlib χρησιμοποιώντας:

sudo pip εγκατάσταση Dlib

- ή -

sudo easy_install Dlib

Περιμένετε να εγκατασταθεί και μεταγλωττιστεί το Dlib. (Θα χρειαστείτε έναν υπολογιστή με κατά προτίμηση μερικές συναυλίες RAM, ή θα χρειαστεί να περιμένετε πολύ καιρό και να επεκτείνετε το χώρο ανταλλαγής). Ο κώδικας χρησιμοποιεί επίσης το OpenCV για τη μονάδα κάμερας web, οπότε εκτελέστε:

sudo apt-get install python-opencv

Τα βήματα εγκατάστασης ενδέχεται να διαφέρουν εάν χρησιμοποιείτε MacOS ή άλλα λειτουργικά συστήματα.

Τώρα πάρτε τα δεδομένα ορόσημα ανίχνευσης προσώπου από

dlib.net/files/shape_predictor_68_face_land…

Αποσυμπιέστε το (με το Archive Manager/7zip) και τοποθετήστε το στο HOME/Downloads/shape_predictor_68_face_landmarks.dat

Βήμα 6: Σύνδεση αναγνώρισης προσώπου στο ρομπότ σας

Σύνδεση αναγνώρισης προσώπου με το ρομπότ σας
Σύνδεση αναγνώρισης προσώπου με το ρομπότ σας

Συνδέστε το USB που ελέγχει το Arduino στον υπολογιστή και βεβαιωθείτε ότι υπάρχει το αρχείο "/dev/ttyACM0" (αυτή είναι η συσκευή για την αποστολή των σειριακών εντολών). Εάν δεν λειτουργεί και ένας διαφορετικός κατάλογος με παρόμοιο όνομα που εμφανίζεται στο /dev όταν τον συνδέετε, αντικαταστήστε /dev /ttyACM0 στο αρχείο faceDetectThreadCorrelationCV2FaceSmile.py στο repo.

Συνδέστε την κάμερα web (εάν δεν υπάρχει ενσωματωμένη κάμερα στον υπολογιστή που χρησιμοποιείτε) και εκτελέστε αυτό το αρχείο.py στη γραμμή εντολών ή με την εντολή Run/F5 στο πρόγραμμα επεξεργασίας κειμένου Geany. Εάν θέλετε να χρησιμοποιήσετε μια δεύτερη/εξωτερική κάμερα web σε φορητό υπολογιστή, μπορεί να θέλετε να αλλάξετε το "VideoCapture (0)" σε "VideoCapture (1)" για να χρησιμοποιήσετε μια δεύτερη κάμερα web, την οποία μπορείτε να τοποθετήσετε στο βηματικό μοτέρ πάνω από το κουτί του ρομπότ Το

Εάν όλα πάνε καλά, θα δείτε ένα περίγραμμα ενός χαμόγελου όταν ένα πρόσωπο βρίσκεται μπροστά από την κάμερα.

Διαβάστε την επισκόπηση και τον πηγαίο κώδικα του αρχείου.py για να δείτε τα μαθηματικά για το πώς λειτουργεί η ανίχνευση χαμόγελου από τα σημεία που δίνει ο Dlib από τη λειτουργικότητα ορόσημο προσώπου.:)

Συνιστάται: