- Απαιτούμενα υλικά:
- Τρισδιάστατη εκτύπωση των απαιτούμενων ανταλλακτικών:
- Υλικό και Σχηματικά:
- Συναρμολόγηση του ρομπότ:
- Προγραμματισμός του Arduino για Biped Robot:
- Εφαρμογή Android με βάση την επεξεργασία:
- Εργασία Bluetooth ελεγχόμενου Biped Robot:
Καλώς ήλθατε σε ένα άλλο έργο στο οποίο θα κατασκευάσουμε ένα μικρό ρομπότ που θα περπατά και θα χορεύει. Το έργο στοχεύει να σας διδάξει πώς να φτιάξετε μικρά ρομπότ χόμπι χρησιμοποιώντας το Arduino και πώς να προγραμματίσετε τους κινητήρες Servo για τέτοιες εφαρμογές. Στο τέλος του έργου θα μπορείτε να φτιάξετε αυτό το ρομπότ με τα πόδια και το χορό που παίρνει εντολή από ένα κινητό τηλέφωνο Android για να εκτελέσει ορισμένες προκαθορισμένες ενέργειες. Μπορείτε επίσης να χρησιμοποιήσετε το πρόγραμμα (που δίνεται στο τέλος του σεμιναρίου) για να χειριστείτε εύκολα τις ενέργειες του δικού σας ρομπότ ελέγχοντας τη θέση των σερβοκινητήρων χρησιμοποιώντας την οθόνη Serial. Έχοντας έναν εκτυπωτή 3δ θα κάνει αυτό το έργο πιο ενδιαφέρον και θα φανεί δροσερό. Αν όμως δεν έχετε, μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις διαδικτυακές υπηρεσίες ή απλά να χρησιμοποιήσετε κάποιο χαρτόνι για να δημιουργήσετε το ίδιο.
Απαιτούμενα υλικά:
Τα ακόλουθα είναι τα υλικά που απαιτούνται για την κατασκευή αυτού του ρομπότ:
- Arduino nano
- Σερβο SG90 - 4Nos
- Αρσενικά μπαστούνια
- Ενότητα Bluetooth HC-05 / HC-06
- 3D εκτυπωτής
Όπως μπορείτε να δείτε, αυτό το τρισδιάστατο τυπωμένο ρομπότ απαιτεί πολύ ελάχιστα ηλεκτρονικά εξαρτήματα για κατασκευή για να διατηρηθεί το κόστος του έργου όσο το δυνατόν χαμηλότερο. Αυτό το έργο είναι μόνο για εννοιολογικό και διασκεδαστικό σκοπό και δεν έχει εφαρμογή σε πραγματικό χρόνο μέχρι στιγμής.
Τρισδιάστατη εκτύπωση των απαιτούμενων ανταλλακτικών:
Η τρισδιάστατη εκτύπωση είναι ένα καταπληκτικό εργαλείο που μπορεί να συνεισφέρει πολύ όταν δημιουργείτε πρωτότυπα έργα ή πειραματίζεστε με νέα μηχανικά σχέδια. Εάν δεν έχετε ανακαλύψει ακόμα τα οφέλη ενός εκτυπωτή 3D ή πώς λειτουργεί, μπορείτε να διαβάσετε τον Οδηγό για αρχάριους για εκτύπωση 3D.
Σε αυτό το έργο το σώμα του ρομπότ που φαίνεται παραπάνω είναι εντελώς τρισδιάστατο. Μπορείτε να κατεβάσετε τα αρχεία STL από εδώ. Φορτώστε αυτά τα αρχεία στο λογισμικό εκτύπωσης 3D όπως το Cura και εκτυπώστε τα απευθείας. Έχω χρησιμοποιήσει έναν πολύ βασικό εκτυπωτή για να εκτυπώσω όλα τα μέρη. Ο εκτυπωτής είναι FABX v1 από το 3ding που διατίθεται σε προσιτή τιμή με όγκο εκτύπωσης 10 κυβικά cm. Η φθηνή τιμή έρχεται με ανταλλαγή με χαμηλή ανάλυση εκτύπωσης και χωρίς κάρτα SD ή λειτουργία συνέχισης εκτύπωσης. Χρησιμοποιώ λογισμικό που ονομάζεται Cura για να εκτυπώσω τα αρχεία STL. Οι ρυθμίσεις που χρησιμοποίησα για την εκτύπωση των υλικών παρέχονται παρακάτω, μπορείτε να τις χρησιμοποιήσετε ή να τις αλλάξετε με βάση τον εκτυπωτή σας.
Μόλις εκτυπώσετε όλα τα μέρη, καθαρίστε τα στηρίγματα (εάν υπάρχουν) και, στη συνέχεια, βεβαιωθείτε ότι οι οπές στο πόδι και στο μέρος της κοιλιάς είναι αρκετά μεγάλες ώστε να χωράει μια βίδα. Εάν όχι, χρησιμοποιήστε μια βελόνα για να κάνετε την τρύπα ελαφρώς μεγαλύτερη. Τα τρισδιάστατα τυπωμένα μέρη σας θα μοιάζουν με κάτι παρακάτω.
Υλικό και Σχηματικά:
Το υλικό για αυτό το ελεγχόμενο κινητό τηλέφωνο Biped Arduino Robot είναι πραγματικά απλό. Τα πλήρη σχήματα φαίνονται στην παρακάτω εικόνα
Έχω χρησιμοποιήσει έναν πίνακα Perf για να κάνω τις παραπάνω συνδέσεις. Βεβαιωθείτε ότι το κύκλωμα σας θα ταιριάζει επίσης στο κεφάλι του ρομπότ. Μόλις ο πίνακας Perf σας είναι έτοιμος, θα πρέπει να μοιάζει παρακάτω.
Συναρμολόγηση του ρομπότ:
Μόλις το υλικό και τα τρισδιάστατα τυπωμένα μέρη είναι έτοιμα, μπορούμε να συναρμολογήσουμε το ρομπότ. Πριν στερεώσετε τους κινητήρες βεβαιωθείτε ότι έχετε τοποθετήσει τους κινητήρες στις παρακάτω γωνίες έτσι ώστε το πρόγραμμα να λειτουργεί άψογα.
Αριθμός κινητήρα |
Θέση με κινητήρα |
Θέση κινητήρα |
1 |
Αριστερό μοτέρ ισχίου |
110 |
2 |
Δεξί μοτέρ ισχίου |
100 |
4 |
Δεξί κινητήρα αστραγάλου |
90 |
5 |
Δεξί μοτέρ ισχίου |
80 |
Αυτές οι γωνίες μπορούν να ρυθμιστούν χρησιμοποιώντας το πρόγραμμα που παρέχεται στο τέλος του σεμιναρίου. Απλώς ανεβάστε το πρόγραμμα στο Arduino σας αφού πραγματοποιήσετε τις παραπάνω συνδέσεις και πληκτρολογήστε τα ακόλουθα στη σειριακή οθόνη (Σημείωση: Ο ρυθμός Baud είναι 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Η σειριακή οθόνη σας θα πρέπει να μοιάζει κάπως έτσι αφού τοποθετήσετε όλους τους κινητήρες σας στη θέση τους.
Μόλις ρυθμιστούν οι κινητήρες στις αντίστοιχες γωνίες, τοποθετήστε τους όπως φαίνεται στο παραπάνω σχήμα.
Εάν είστε μπερδεμένοι με το πώς να συναρμολογήσετε τους κινητήρες, ακολουθήστε το βίντεο στο τέλος αυτού του σεμιναρίου. Μόλις συναρμολογηθεί το ρομπότ, είναι καιρός να προγραμματίσουμε το ρομποτικό μας ρομπότ
Προγραμματισμός του Arduino για Biped Robot:
Ο προγραμματισμός του BBB Robot ( Bluetooth Biped Bob ) είναι το πιο ενδιαφέρον και διασκεδαστικό μέρος σε αυτό το σεμινάριο. Εάν είστε πολύ καλοί στον προγραμματισμό σερβοκινητήρων με το Arduino τότε θα σας συνιστούσα να κάνετε το πρόγραμμά σας. Ωστόσο, αν θέλετε να μάθετε πώς να χρησιμοποιείτε σερβοκινητήρες για ρομποτικές εφαρμογές όπως αυτό, τότε αυτό το πρόγραμμα θα είναι πολύ χρήσιμο για. Μπορείτε να μάθετε περισσότερα σχετικά με τον προγραμματισμό arduino στην κατηγορία έργων arduino.
Το πλήρες πρόγραμμα δίνεται στο τέλος αυτού του σεμιναρίου ή μπορείτε να κατεβάσετε τον πλήρη κώδικα από εδώ. Θα εξηγήσω τα τμήματα του ίδιου παρακάτω. Το πρόγραμμα είναι ικανό να ελέγχει τις ενέργειες ρομπότ μέσω σειριακής οθόνης ή Bluetooth. Μπορείτε επίσης να κάνετε τις δικές σας κινήσεις ελέγχοντας κάθε μεμονωμένο κινητήρα χρησιμοποιώντας τη σειριακή οθόνη.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Οι παραπάνω γραμμές κώδικα χρησιμοποιείται για να αναφέρουν ποιον σερβο κινητήρα είναι συνδεδεμένος με τον ακροδέκτη του Arduino. Εδώ στην περίπτωσή μας τα Servo 1,2,4 και 5 συνδέονται με καρφίτσες 3,5,9 και 10 αντίστοιχα.
Bot_BT.begin (9600); // ξεκινήστε την επικοινωνία Bluetooth στο 9600 baudrate Serial.begin (57600).
Όπως ειπώθηκε νωρίτερα, το ρομπότ πεζοπορίας μας μπορεί να λειτουργεί σε εντολές Bluetooth και επίσης από εντολές από τη σειριακή οθόνη. Ως εκ τούτου, η σειριακή επικοινωνία Bluetooth λειτουργεί με ρυθμό Baud 9600 και η σειριακή επικοινωνία λειτουργεί με ρυθμό Baud 57600. Το όνομα του αντικειμένου Bluetooth εδώ είναι "Bot_BT".
διακόπτης (κινητήρας) {περίπτωση 1: // Για κινητήρα ένα {Serial.println ("Executing motor one"); αν (αριθμός 1)
Η θήκη διακόπτη που φαίνεται παραπάνω χρησιμοποιείται για τον έλεγχο των σερβοκινητήρων ξεχωριστά. Αυτό θα σας βοηθήσει να κάνετε τις δικές σας δημιουργικές κινήσεις με το ρομπότ σας. Με αυτό το τμήμα κώδικα μπορείτε απλά να πείτε τον αριθμό κινητήρα, από γωνία και σε γωνία για να κάνετε έναν συγκεκριμένο κινητήρα να μετακινηθεί σε μια επιθυμητή θέση.
Για παράδειγμα, εάν θέλουμε να μετακινήσουμε τον αριθμό κινητήρα 1 που είναι ο αριστερός κινητήρας του ισχίου από την προεπιλεγμένη θέση του 110 μοιρών σε 60 μοίρες. Μπορούμε απλά να γράψουμε «1.110,60» στη σειριακή οθόνη του Arduino και να πατήσουμε enter. Αυτό θα είναι χρήσιμο για να κάνετε τις δικές σας πολύπλοκες κινήσεις με το ρομπότ σας. Μόλις πειραματιστείτε με όλο τον άγγελο και τη γωνία, μπορείτε να κάνετε τις δικές σας κινήσεις και να τις επαναλάβετε κάνοντάς το ως συνάρτηση.
if (Serial.available ()> 0) // Διαβάστε τι εισέρχεται μέσω του Serial {gmotor = Serial.parseInt (); Serial.print ("επιλεγμένος αριθμός->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("βαθμός"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("πτυχίο"); σημαία = 1; }
Εάν υπάρχουν σειριακά δεδομένα, ο αριθμός πριν από το πρώτο "," θεωρείται gmotor και, στη συνέχεια, ο αριθμός πριν από το δεύτερο "," θεωρείται gnum1 και ο αριθμός μετά το δεύτερο "," θεωρείται gnum2.
if (Bot_BT.available ()) // Διαβάστε τι εισέρχεται μέσω Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Εισερχόμενα από BT:"); Serial.println (BluetoothData); }
Εάν το Bluetooth λάβει κάποιες πληροφορίες, οι ληφθείσες πληροφορίες αποθηκεύονται στη μεταβλητή "BluetoothData". Στη συνέχεια, αυτή η μεταβλητή συγκρίνεται με τις προκαθορισμένες τιμές για την εκτέλεση μιας συγκεκριμένης ενέργειας.
if (flag == 1) κλήση (gmotor, gnum1, gnum2); // καλέστε τον αντίστοιχο κινητήρα για δράση // Εκτελέστε τις λειτουργίες σύμφωνα με την εντολή που λαμβάνετε μέσω της σειριακής οθόνης ή Bluetooth // if (gmotor == 10) εάν (gmotor == 11) right_leg_up (); εάν (gmotor == 12) move_left_front (); εάν (gmotor == 13) move_right_front (); εάν (BluetoothData == 49 - gmotor == 49) say_hi (); εάν (BluetoothData == 50 - gmotor == 50) walk1 (); εάν (BluetoothData == 51 - gmotor == 51) walk2 (); εάν (BluetoothData == 52 - gmotor == 52) dance1 (); εάν (BluetoothData == 53 - gmotor == 53) dance2 (); εάν (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Αυτό είναι όπου οι λειτουργίες καλούνται με βάση τις τιμές που λαμβάνονται από τη σειριακή οθόνη ή το Bluetooth. Όπως φαίνεται παραπάνω, η μεταβλητή gmotor θα έχει την τιμή της σειριακής οθόνης και το BluetoothData θα έχει την τιμή από τη συσκευή Bluetooth. Οι αριθμοί 10,11,12 έως 53,54 είναι προκαθορισμένοι αριθμοί.
Για παράδειγμα, εάν εισαγάγετε τον αριθμό 49 στη σειριακή οθόνη. Η συνάρτηση say_hi () θα εκτελεστεί όπου το ρομπότ θα σας χαιρετήσει.
Όλες οι λειτουργίες ορίζονται μέσα στη σελίδα "Bot_Functions". Μπορείτε να το ανοίξετε και να δείτε τι πραγματικά συμβαίνει μέσα σε κάθε λειτουργία. Όλες αυτές οι λειτουργίες δημιουργήθηκαν με πειραματισμό από τον άγγελο και τον άγγελο κάθε κινητήρα χρησιμοποιώντας τη θήκη διακόπτη που εξηγείται παραπάνω. Εάν έχετε οποιαδήποτε αμφιβολία μπορείτε να χρησιμοποιήσετε την ενότητα σχολίων για να τα δημοσιεύσετε και θα χαρώ να σας βοηθήσω.
Εφαρμογή Android με βάση την επεξεργασία:
Η εφαρμογή Android για τον έλεγχο του ρομπότ δημιουργήθηκε χρησιμοποιώντας τη λειτουργία επεξεργασίας Android. Εάν θέλετε να κάνετε κάποιες αλλαγές στην Εφαρμογή, μπορείτε να πραγματοποιήσετε λήψη του πλήρους προγράμματος Επεξεργασίας από εδώ.
Εάν θέλετε απλώς να χρησιμοποιήσετε την εφαρμογή, μπορείτε να την κατεβάσετε από εδώ ως αρχείο APK και να την εγκαταστήσετε απευθείας στο κινητό σας τηλέφωνο.
Σημείωση: Η μονάδα Bluetooth θα πρέπει να ονομάζεται HC-06 αλλιώς η εφαρμογή δεν θα μπορεί να συνδεθεί με τη μονάδα Bluetooth.
Μόλις εγκατασταθεί η εφαρμογή, μπορείτε να αντιστοιχίσετε τη μονάδα Bluetooth με το τηλέφωνό σας και, στη συνέχεια, να ξεκινήσετε την εφαρμογή. Θα πρέπει να φαίνεται κάπως έτσι παρακάτω.
Εάν θέλετε να κάνετε την εφαρμογή σας πιο ελκυστική ή να συνδεθείτε με οποιαδήποτε άλλη συσκευή εκτός από το Hc-06. Μπορείτε να χρησιμοποιήσετε τον κώδικα επεξεργασίας και να κάνετε κάποιες αλλαγές σε αυτόν και, στη συνέχεια, να ανεβάσετε τον κωδικό απευθείας στο τηλέφωνό σας.
Εργασία Bluetooth ελεγχόμενου Biped Robot:
Όταν το υλικό σας, η εφαρμογή Android και το Arduino Sketch είναι έτοιμα, είναι καιρός να διασκεδάσετε με το ρομπότ μας. Μπορείτε να ελέγξετε το ρομπότ από την εφαρμογή Bluetooth χρησιμοποιώντας τα κουμπιά στην εφαρμογή ή απευθείας από τη σειριακή οθόνη χρησιμοποιώντας τις ακόλουθες εντολές, όπως φαίνεται στην παρακάτω εικόνα.
Κάθε εντολή θα κάνει το ρομπότ να εκτελεί μερικές ιδιαίτερες εργασίες και μπορείτε επίσης να προσθέσετε περισσότερες ενέργειες με βάση τη δημιουργικότητά σας.
Το ρομπότ μπορεί επίσης να τροφοδοτείται από προσαρμογέα 12V ή μπορεί επίσης να τροφοδοτείται με μπαταρία 9V. Αυτή η μπαταρία μπορεί εύκολα να τοποθετηθεί κάτω από την πλακέτα Perf και μπορεί επίσης να καλυφθεί με την κεφαλή του ρομπότ.
Η πλήρης εργασία αυτού του ρομπότ ελεγχόμενου έξυπνου τηλεφώνου βρίσκεται στο παρακάτω βίντεο.