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

ICBob - a Bob Inspired Biped Robot: 10 Steps (with Pictures)
ICBob - a Bob Inspired Biped Robot: 10 Steps (with Pictures)

Βίντεο: ICBob - a Bob Inspired Biped Robot: 10 Steps (with Pictures)

Βίντεο: ICBob - a Bob Inspired Biped Robot: 10 Steps (with Pictures)
Βίντεο: SHEP AI: Genetic Algorithm Biped robot teaches itself to walk using microbial GA 2024, Ιούλιος
Anonim
Image
Image
ICBob - ένα ρομπότ με έμπνευση από Bob
ICBob - ένα ρομπότ με έμπνευση από Bob

Είμαστε το Teen Imagineering Club από τη δημόσια βιβλιοθήκη Bridgeville Delaware. Κάνουμε υπέροχα έργα μαθαίνοντας για τα ηλεκτρονικά, την κωδικοποίηση υπολογιστών, τον τρισδιάστατο σχεδιασμό και την τρισδιάστατη εκτύπωση.

Αυτό το έργο είναι η προσαρμογή μας του ρομπότ BoB the BiPed a Arduino. Επανασχεδιάσαμε το σώμα για να επωφεληθούμε από την αγαπημένη μας πηγή τροφοδοσίας Arduino, την τράπεζα τηλεφώνου Powerbot. Αυτή η φθηνή επαναφορτιζόμενη πηγή ισχύος 5 βολτ είναι εξαιρετική για την τροφοδοσία των έργων μας Arduino και επαναφορτίζεται με οποιονδήποτε φορτιστή τοίχου USB. Προσαρμόσαμε επίσης τα 3 πόδια από το ρομπότ Arduped δίποδα μόνο και μόνο επειδή φαίνονται ΥΠΕΡΟΧΑ. Θα σας δείξουμε πού να πάρετε τα εξαρτήματα που χρειάζεστε, πώς να συναρμολογήσετε το ρομπότ και ακόμη και να σας δώσουμε έναν εύκολο κώδικα Arduino για να το περπατήσετε. Περάσαμε υπέροχα φτιάχνοντας τα έντεκα ρομπότ μας ICBob. Συνεχίστε να διαβάζετε αν θέλετε να μάθετε πώς να φτιάξετε ένα για τον εαυτό σας.

Βήμα 1: Μέρη και εργαλεία που θα χρειαστείτε

Μέρη και εργαλεία που θα χρειαστείτε
Μέρη και εργαλεία που θα χρειαστείτε
Μέρη και εργαλεία που θα χρειαστείτε
Μέρη και εργαλεία που θα χρειαστείτε

Το ICBob έχει σχεδιαστεί για το ακόλουθο σύνολο εξαρτημάτων. Ενώ είναι δυνατές οι αντικαταστάσεις, ίσως χρειαστεί να τροποποιήσετε το σώμα για να λειτουργήσουν. Ο αγαπημένος μας προμηθευτής είναι το Yourduino.com, αλλά για ορισμένα είδη θα χρειαστεί να πάτε στο Amazon ή το Ebay.

Ενημέρωση Διαθεσιμότητας Προϊόντος- Το Yourduino δεν φέρνει πλέον τον Micro Magician και λέει ότι διακόπτονται από το Dagu. Ο ιστότοπος Dagu τα έχει ακόμα διαθέσιμα https://www.dagurobot.com/goods.php?id=137 και αν δεν είναι διαθέσιμα, ο ελεγκτής S4A EDU είναι μια πτώση στην αντικατάσταση και λειτουργεί στα 5 βολτ.

Ανταλλακτικά

  • 1x- Ελεγκτής MICRO Magician
  • Σερβο 4x- SG 90
  • 1x- HC-SR04 Υπερηχητικός αισθητήρας
  • 1x- Powerbot power bank 2600mAh (το 3000mAh Powerbot είναι μεγαλύτερο σε διάμετρο και δεν ταιριάζει)
  • 1x- Γυναικείο MICRO USB to DIP 5-Pin Pinboard
  • Γυναικεία άκρα επίπεδου καλωδίου 1x- 20cm 40 ακίδων
  • Αντίσταση 1x- 10k
  • 4x- 2-56 x 3/8 αυτοκόλλητες βίδες (εναλλακτική θερμή κόλλα)

3D εκτυπώσεις - Τα αρχεία stl είναι διαθέσιμα στο Thingiverse thing: 1313344

  • 1x- σώμα
  • 1x- κέλυφος
  • 2x- γόνατο
  • 1x- αριστερό πόδι
  • 1x- δεξί πόδι

Εργαλεία

  • υπολογιστή με Arduino IDE
  • Arduino προσθέστε στη βιβλιοθήκη VarSpeedServo
  • MICRO Magician Driver (απαιτείται για ορισμένα λειτουργικά συστήματα)
  • Τρισδιάστατος εκτυπωτής (ή κατασκευάστε τα εξαρτήματα)
  • 3D εργαλεία καθαρισμού εξαρτημάτων
  • Σετ συγκόλλησης (μόνο για τις ακίδες του προσαρμογέα USB)
  • Πυροβόλο θερμής κόλλας
  • Μικρό κατσαβίδι Philips
  • φορτιστής usb

Αυτό το Instructable υποθέτει ότι έχετε βασικές γνώσεις χρήσης Arduino. Εάν είστε νέοι στο Arduino, μπορείτε να μάθετε περισσότερα στη διεύθυνση

Για τον MICRO Magician επιλέξτε Board - Arduino Pro ή Pro Mini (3.3V, 8MHz) w/ ATmega328

Θα χρειαστείτε τη βιβλιοθήκη του Korman VarSpeedServo για να χρησιμοποιήσετε τα σκίτσα μας. Μπορείτε να μάθετε περισσότερα για τη βιβλιοθήκη του εδώ, αλλά χρησιμοποιήστε τη λήψη παρακάτω που είναι συμβατή με το νεότερο IDE. Κατεβάστε το αρχείο VarSpeedServo.zip παρακάτω και αποσυμπιέστε στο φάκελο arduino/βιβλιοθήκες.

Mayσως χρειαστεί να εγκαταστήσετε το πρόγραμμα οδήγησης MICRO Magician CP210x εάν το σύστημά σας δεν αναγνωρίζει τον ελεγκτή. Αυτός ο ιστότοπος μπορεί να βοηθήσει με την εγκατάσταση του προγράμματος οδήγησης

Βήμα 2: Ας ξεκινήσουμε να χτίζουμε - Συγκεντρώστε τα πόδια

Ας ξεκινήσουμε να χτίζουμε - Συγκεντρώστε τα πόδια
Ας ξεκινήσουμε να χτίζουμε - Συγκεντρώστε τα πόδια
Ας ξεκινήσουμε να χτίζουμε - Συγκεντρώστε τα πόδια
Ας ξεκινήσουμε να χτίζουμε - Συγκεντρώστε τα πόδια
Ας ξεκινήσουμε να χτίζουμε - Συγκεντρώστε τα πόδια
Ας ξεκινήσουμε να χτίζουμε - Συγκεντρώστε τα πόδια

Για αυτό το βήμα θα χρειαστείτε 2 - 3D εκτυπωμένα γόνατα και 4 servo πακέτα.

Ξεκινήστε καθαρίζοντας τα γόνατα. Οι 2 τρύπες σερβοκόρνας πρέπει να ταιριάζουν με τις μονόπλευρες σερβοκόρνες. Τα καθαρίσαμε με ένα τρυπάνι μεγέθους γράμματος L (.290). Η μία τρύπα περιστροφής πρέπει να ταιριάζει με τον άξονα στο πόδι. Τα καθαρίσαμε με ένα τρυπάνι μεγέθους # 2 (.220).

Τοποθετήστε τα 4 σερβο κέρατα στα γόνατα. Συνδέστε την κόρνα χρησιμοποιώντας μία από τις μεγαλύτερες βίδες που συνοδεύει τη σερβο συσκευασία. Βάλτε τη βίδα από την πλευρά του γόνατος και σφίξτε σε μία από τις μικρές τρύπες στο σερβοκόρνα. Για τη μία βίδα θα πρέπει να σφίξετε με το κατσαβίδι υπό γωνία αλλά είναι εφικτό. Μπορείτε να σφίξετε τα σημεία βίδας που κολλάνε με πένσες κοπής αν θέλετε.

Οι 4 σερβοί άξονες πρέπει να κεντραριστούν πριν στερεωθούν στα γόνατα. Μπορείτε να το κάνετε αυτό χειροκίνητα μετακινώντας απαλά τον άξονα μέσω της περιστροφής του για να βρείτε το μισό σημείο της διαδρομής. Ένας καλύτερος τρόπος είναι να επισυνάψετε ένα σερβο στην καρφίτσα 12. Κατεβάστε το αρχείο icbob_servo_center.zip παρακάτω. Αποσυμπιέστε στον κατάλογο Arduino. Στη συνέχεια, εκτελέστε αυτό το σκίτσο Arduino για κάθε σερβο.

Ξεκινήστε με τη συναρμολόγηση των servos του ισχίου (άνω) στα γόνατα. Χωρίς να μετακινήσετε τον άξονα, συνδέστε το σερβο ισχίου παράλληλα με το γόνατο με τα καλώδια στραμμένα προς την άλλη σερβοκόρνα (μπροστά). Ασφαλίστε με μια μικρή βίδα από τη σερβο συσκευασία. Επαναλάβετε για το άλλο γόνατο.

Τώρα για τα servos αστραγάλου. ΘΥΜΑΣΤΕ ότι θα έχετε δεξί και αριστερό αστράγαλο, οπότε τα πόδια θα είναι καθρέφτες μεταξύ τους. Θα πρέπει να απλώσετε ελαφρώς το γόνατο για να συναρμολογήσετε το σερβο του αστραγάλου έτσι προσανατολίστε το servo όπως στη φωτογραφία πριν το σφίξετε. Θυμηθείτε να μην περιστρέψετε τον άξονα. Ασφαλίστε με μια μικρή βίδα. Επαναλάβετε με το άλλο γόνατο, ώστε να τελειώσετε με το δεξί και το αριστερό πόδι.

Βήμα 3: Κτίριο - Συνδέστε τα πόδια στο σώμα

Κτίριο - Συνδέστε τα πόδια στο σώμα
Κτίριο - Συνδέστε τα πόδια στο σώμα
Κτίριο - Συνδέστε τα πόδια στο σώμα
Κτίριο - Συνδέστε τα πόδια στο σώμα
Κτίριο - Συνδέστε τα πόδια στο σώμα
Κτίριο - Συνδέστε τα πόδια στο σώμα

Για αυτό το βήμα θα χρειαστείτε τα συγκροτήματα 2 ποδιών και την τρισδιάστατη βάση εκτύπωσης. Θα χρειαστείτε επίσης (4) 2-56x3/8 αυτοκόλλητες βίδες ή θερμή κόλλα.

Το συγκρότημα ποδιών προσαρτάται στη βάση μέσω των servos ισχίου. Πρώτα δρομολογήστε τα 2 σερβο σύρματα προς τα πάνω στο κάτω μέρος της βάσης. Λάβετε υπόψη τα δικαιώματα και τα αριστερά. Όπως δείχνει το σχέδιο, το καλώδιο αστραγάλου καταλήγει στη διακοπή μισού φεγγαριού, αλλά πρέπει να έχετε το καλώδιο αστραγάλου πριν συνδεθεί το σερβο. Πρέπει να γείρετε το σερβο, έτσι ώστε το σύρμα του ισχίου (όπου μπαίνει στο σερβο) να περνάει πρώτα από την ορθογώνια τρύπα (προς τα εμπρός). Είναι μια σφιχτή εφαρμογή, αλλά το πίσω άκρο πρέπει απλώς να γλιστρήσει. Τώρα αναποδογυρίστε τη βάση και ασφαλίστε το σερβο με 2 βίδες ή εναλλακτικά θα πρέπει να λειτουργήσει ζεστή κόλλα. Επαναλάβετε τη διαδικασία για το άλλο πόδι.

Βήμα 4: Κτίριο - Συνδέστε τα πόδια

Κτίριο - Συνδέστε τα πόδια
Κτίριο - Συνδέστε τα πόδια
Κτίριο - Συνδέστε τα πόδια
Κτίριο - Συνδέστε τα πόδια

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

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

Βήμα 5: Καλωδίωση - Servos και Power

Καλωδίωση - Servos και Power
Καλωδίωση - Servos και Power
Καλωδίωση - Servos και Power
Καλωδίωση - Servos και Power
Καλωδίωση - Servos και Power
Καλωδίωση - Servos και Power

Σε αυτό το βήμα θα χρειαστείτε τον ελεγκτή MICRO Magician, την κάρτα προσαρμογέα micro USB με ακίδες κεφαλίδας, το επίπεδο καλώδιο και το μόνιμο bot σας. Σε αυτό το βήμα θα κολλήσετε και θα κολλήσετε εν θερμώ, οπότε ετοιμάστε αυτά τα εργαλεία.

Η τράπεζα Powerbot συνοδεύεται από ένα σύντομο καλώδιο USB σε micro USB. Για τη φόρτιση της μπαταρίας, το micro USB συνδέεται στην υποδοχή φόρτισης της μπαταρίας και το USB πηγαίνει στον φορτιστή τοίχου. Θα χρησιμοποιήσετε ξανά αυτό το καλώδιο για να τροφοδοτήσετε το ICBob. Η έξοδος της μπαταρίας γίνεται μέσω USB, έτσι συνδέουμε μέσω της πλακέτας προσαρμογέα micro USB για να πάρουμε ενέργεια στο bot.

Αρχικά ας συναρμολογήσουμε τον προσαρμογέα. Ανατρέξτε στη φωτογραφία για τα επόμενα βήματα. Θα χρησιμοποιήσετε μόνο τις 2 εξωτερικές ακίδες (gnd και V+) για να τροφοδοτήσετε το bot. Σύρετε προσεκτικά τις 2 εξωτερικές ακίδες στην κεφαλίδα, έτσι ώστε η κοντή πλευρά να προεξέχει περίπου 3/16 in. Με τις πένσες λυγίστε τις 2 μακριές ακίδες 60 μοίρες περίπου. Λυγίστε πριν από τη συγκόλληση καθώς οι σανίδες είναι εύθραυστες. Τοποθετήστε την κεφαλίδα όπως φαίνεται και κολλήστε όλες τις καρφίτσες στην πλάτη για δύναμη. Κλείστε όλες τις αχρησιμοποίητες καρφίτσες όσο το δυνατόν συντομότερα τόσο μπροστά όσο και πίσω. Πριν κολλήσουμε τον προσαρμογέα στο βαρέλι, συνδέστε το καλώδιο micro USB έτσι ώστε να καταλήξετε με αρκετό διάκενο. Βάλτε μια μεγάλη σφαίρα ζεστής κόλλας στο πίσω μέρος του προσαρμογέα και στη συνέχεια τοποθετήστε τη στη θέση που φαίνεται στο βαρέλι. Κρατήστε μέχρι να σκληρύνει.

Στη συνέχεια, συνδέστε τους 4 συνδέσμους σερβο στον ελεγκτή. Μας αρέσει το MICRO Magician επειδή διαθέτει τους συνδετήρες 3 ακίδων για εύκολη σερβο καλωδίωση. Το πιο σκούρο χρώμα σύρμα (καφέ;) πηγαίνει προς την άκρη της σανίδας. Τα σκίτσα Arduino που περιλαμβάνονται χρησιμοποιούν τις ακόλουθες καρφίτσες.

  • Δεξί ισχίο (RH) - καρφίτσα 9
  • Δεξιός αστράγαλος (RA) - καρφίτσα 10
  • Αριστερό ισχίο (LH) - καρφίτσα 11
  • Αριστερό αστράγαλο (LA) - καρφίτσα 12

Για τη σύνδεση ρεύματος στην πλακέτα τραβήξτε ένα ζεύγος καλωδίων από το επίπεδο καλώδιο. Θα χρησιμοποιήσετε περισσότερο από αυτό το επίπεδο καλώδιο για καλωδίωση σόναρ. Συνδέστε το ένα άκρο του ζεύγους στον προσαρμογέα micro USB. Ο πείρος που είναι πιο κοντά στο μπροστινό μέρος του bot είναι αλεσμένος και ο άλλος V+. Το άλλο άκρο συνδέεται με το χειριστήριο κοντά στον διακόπτη. Το καλώδιο V+ συνδέεται με τον πείρο με την ένδειξη "Battery IN" στην τεκμηρίωση. Συνδέστε το καλώδιο γείωσης στον πείρο 'gnd' λίγο πιο πάνω από τον πείρο 'Μπαταρία IN'.

ΣΠΟΥΔΑΙΟΣ! - Υπάρχει ένας βραχυκυκλωτήρας "V+ select" ακριβώς πάνω από το σετ ακίδων D1. Αυτός ο βραχυκυκλωτήρας πρέπει να βρίσκεται στο εσωτερικό των ακίδων αλλιώς τα servos δεν θα λειτουργήσουν.

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

Βήμα 6: Προγραμματισμός - Κωδικός βαθμονόμησης σπιτιού

Λίγα λόγια για τις επιλογές προγραμματισμού μας

Όταν δημιουργήσαμε το πρωτότυπο για αυτό το έργο, χρησιμοποιήσαμε το σεμινάριο Πώς να διδάξετε το BoB Biped σας για μετακίνηση στο Let's Make Robots. Το λογισμικό Bob Poser ήταν υπέροχο και διασκεδάσαμε παίζοντας με αυτό. Το πρόβλημα ήταν ότι οι 600+ γραμμές κώδικα στο σκίτσο πλοήγησης ήταν πολύ πάνω από το επίπεδο γνώσης των εφήβων. Για να κάνουμε αυτό το έργο περισσότερο μια μαθησιακή εμπειρία για αυτούς, αποφασίσαμε να συλλέξουμε μερικές ιδέες από τον κώδικα Poser και στη συνέχεια να ξεκινήσουμε από την αρχή με μια κενή σελίδα. Οι έφηβοι είχαν ήδη χρησιμοποιήσει τη βιβλιοθήκη VarSpeedServo ενώ μάθαιναν για servos στα εργαστήριά μας Arduino. Αποφασίσαμε να δούμε αν το VarSpeedServo θα μπορούσε να χειριστεί τα καθήκοντα χρονισμού και ταχύτητας για τα servos, έτσι ώστε να συγκεντρωθούμε μόνο στις θέσεις. Ο κωδικός που προκύπτει λειτουργεί τέλεια και το πλήρες σκίτσο walk_avoid_turn έχει λιγότερες από 100 γραμμές κώδικα. Οι μόνες νέες έννοιες που χρειάστηκαν να μάθουν οι έφηβοι ήταν οι πίνακες 2 διαστάσεων και ο τρόπος πρόσβασης σε αυτά τα δεδομένα με κώδικα. Απολαμβάνω!

Βαθμονόμηση σπιτιού

Κεντράρατε τους σερβο άξονες όταν τους συναρμολογήσατε. Τώρα θα δείτε πόσο κοντά πλησιάσατε και συντονίστε τις θέσεις τους στο σπίτι. Βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη VarSpeedServo από το βήμα 1. Κατεβάστε το αρχείο icbob_home_calibration.zip παρακάτω και αποσυμπιέστε στον κατάλογο Arduino. Ανοίξτε το σκίτσο στο Arduino IDE. Ενεργοποιήστε το MICRO Magician με την μπαταρία. Συνδέστε τον υπολογιστή στην πλακέτα και ανεβάστε τον κωδικό. Οι πιθανότητες είναι ότι οι servo αρχικές θέσεις δεν θα είναι τέλειες. Βρείτε την παρακάτω ενότητα στον κώδικα. Συνεχίστε να προσαρμόζετε και να ανεβάζετε μέχρι να το κάνετε σωστά.

//…………………………………………………….

// Ξεκινήστε με τα μέλη των συστοιχιών 4 hm που έχουν οριστεί σε 90 βαθμούς. στη συνέχεια, ρυθμίστε // αυτές τις ρυθμίσεις έτσι ώστε τα γόνατα να είναι ίσια προς τα εμπρός και τα πόδια να είναι επίπεδα int hm [4] = {90, 90, 90, 90}. // πίνακας για τη διατήρηση της αρχικής θέσης για κάθε σερβο RH, RA, LH, LA // …………………………………………………….

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

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

Βήμα 7: Προγραμματισμός - Μετακίνηση κώδικα γεννήτριας

Προγραμματισμός - Μετακίνηση κώδικα γεννήτριας
Προγραμματισμός - Μετακίνηση κώδικα γεννήτριας

Τώρα για να μετακινήσετε το bot σας. Κατεβάστε το αρχείο icbob_move_generator.zip παρακάτω και αποσυμπιέστε στον κατάλογο Arduino. Ανοίξτε το σκίτσο στο Arduino IDE. Βρείτε την ακόλουθη ενότητα κώδικα. Τοποθετήστε τις αρχικές θέσεις που καταγράψατε για το bot σας στο σκίτσο.

// ρυθμίστε τα μέλη για τον πίνακα hm στις αρχικές θέσεις για το ρομπότ σας

// μπορούν να βρεθούν χρησιμοποιώντας το σκίτσο icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // πίνακας για τη διατήρηση της αρχικής θέσης για κάθε σερβο RH, RA, LH, LA

Το ακόλουθο τμήμα του κώδικα είναι το σημείο όπου εισάγονται οι ακολουθίες μετακίνησης. Κάθε γραμμή έχει θέσεις για τα 4 servos (RH, RA, LH, LA) σε σχέση με την αρχική θέση.

// δεδομένα πίνακα mv. Κάθε γραμμή είναι ένα 'πλαίσιο' ή θέση που έχει οριστεί για τα 4 servos

// Πολλαπλές γραμμές δημιουργούν μια ομάδα κινήσεων που μπορούν να περιστραφούν για να // δημιουργήσουν περπάτημα, στροφή, χορό ή άλλες κινήσεις const int mvct = 6; // Κάντε αυτόν τον αριθμό ίσο με τον αριθμό των γραμμών στον πίνακα const int mv [mvct] [4] = {{0, -40, 0, -20}, // Αυτοί οι προφορτωμένοι αριθμοί θα πρέπει να δίνουν μια διαδρομή προς τα εμπρός {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Αυτός είναι ο κώδικας που μετατρέπει τα δεδομένα του πίνακα mv σε σερβο αργές κινήσεις

void loop () // ο βρόχος επαναλαμβάνεται για πάντα

{// Μετακινήστε την ακολουθία για (int x = 0; x <mvct; x ++) {// κύκλο στον αριθμό των RH.slowmove (hm [0]+mv [x] [0], svsp); // γραμμές "καρέ" στον πίνακα RA.slowmove (hm [1] + mv [x] [1], svsp); LH. Αργή κίνηση (hm [2] + mv [x] [2], svsp); LA.slowmove (hm [3] + mv [x] [3], svsp); καθυστέρηση (frameedelay)? }}

Μεταφόρτωση στο bot. Το bot θα μεταβεί στην αρχική θέση για 2 δευτερόλεπτα και στη συνέχεια θα ξεκινήσει ένα βρόχο προς τα εμπρός. Λειτουργεί καλύτερα αν το τραπέζι δεν είναι πολύ γλιστερό.

Μόλις βαρεθείτε να τον βλέπετε να περπατά, μπορείτε να δοκιμάσετε τις δικές σας κινήσεις. Χρησιμοποιήστε το 'save as' για να μετονομάσετε το σκίτσο. Στη συνέχεια, παίξτε με τους αριθμούς και δείτε τι μπορείτε να κάνετε. Κρατήστε τους αριθμούς μεταξύ +50 και -50, διαφορετικά μπορείτε να στραγγίξετε τα servos. Θυμηθείτε αν προσθέσετε ή αφαιρέσετε γραμμές πρέπει να αλλάξετε την τιμή mvct για να αντικατοπτρίζει την αλλαγή. Καλα να περνατε!

Βήμα 8: Καλωδίωση - Αισθητήρας σόναρ HC -SR04 (Μάτια)

Καλωδίωση - HC -SR04 Sonar Sensor (Eyes)
Καλωδίωση - HC -SR04 Sonar Sensor (Eyes)
Καλωδίωση - HC -SR04 Sonar Sensor (Eyes)
Καλωδίωση - HC -SR04 Sonar Sensor (Eyes)

Για αυτό το βήμα θα χρειαστείτε την τρισδιάστατη εκτύπωση icbob_shell, τον υπερηχητικό αισθητήρα HC-SR04, το θηλυκό επίπεδο καλώδιο και μία αντίσταση 10k ohm. Αυτό θα πρέπει να ολοκληρώσει τα μέρη στη λίστα μας. Ναι!

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

Στη συνέχεια τραβήξτε 4 σκέλη από το επίπεδο καλώδιο. Συνδέστε τα 4 καλώδια στις ακίδες του αισθητήρα HC-SR04.

Ο μάγος MICRO λειτουργεί εσωτερικά στα 3,3 βολτ και οι ακίδες μπορούν να πάρουν μόνο σήμα 3,3 βολτ. Το πρόβλημα είναι ότι το HC-SR04 λειτουργεί στα 5 βολτ. Μπορεί να χρησιμοποιήσει είσοδο 3,3 volt ως σήμα «σκανδάλης», αλλά όταν στέλνει σήμα «ηχώ» είναι 5 βολτ και θα βλάψει την είσοδο του ελεγκτή εάν συνδεθεί απευθείας. Πρέπει να βάλουμε μια αντίσταση περιορισμού ρεύματος 10k ohm στο σύρμα «ηχώ» για να προστατέψουμε την είσοδο.

ΕΝΗΜΕΡΩΣΗ: Παρόλο που δεν είχαμε κανένα πρόβλημα μόνο με την αντίσταση 10K ενσωματωμένη, επισημάνθηκε στα σχόλια ότι η βέλτιστη πρακτική δείχνει ότι πρέπει να χρησιμοποιηθεί εδώ ένα κύκλωμα διαχωριστή τάσης. Εκτός από την αντίσταση 10Κ, μια αντίσταση 15Κ πρέπει να τοποθετηθεί μεταξύ "ηχώ" και "γείωσης".

Κόψτε τους αγωγούς αντίστασης σε.5 ίντσες. Η αντίσταση μπαίνει στο καλώδιο «ηχώ» στο επίπεδο καλώδιο. Βάζουμε μια σταγόνα σούπερ κόλλα στη σύνδεση για να την βοηθήσουμε να παραμείνει σταθερή.

Το σκίτσο χρησιμοποιεί τον πείρο 13 για τη σκανδάλη και τον ακροδέκτη 3 για την ηχώ. Χρησιμοποιήστε την ομάδα ακίδων 13 στον ελεγκτή για τα 'gnd', 'vcc', 'trig' με αυτήν τη σειρά που λειτουργεί από την άκρη προς το κέντρο. Θα πρέπει να διασταυρώσετε μερικά καλώδια εδώ για να το κάνετε σωστά. Το σύρμα «ηχώ» με την αντίσταση συνδέεται στην υποδοχή θηλυκού πείρου 3.

Αν θέλετε να ελέγξετε τον αισθητήρα πριν προχωρήσετε στο επόμενο βήμα, μπορείτε να χρησιμοποιήσετε το πρώτο σκίτσο σε αυτήν τη σελίδα https://arduino-info.wikispaces.com/UltraSonicDistance για να το δοκιμάσετε. Θα χρειαστείτε συνδεδεμένη την μπαταρία. Μπορείτε να δείτε την ανάγνωση απόστασης στη σειριακή οθόνη. Βεβαιωθείτε ότι έχετε ορίσει το 'trigger_pin' στο 13 και το 'echo_pin' στο 3 στο σκίτσο.

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

Βήμα 9: Προγραμματισμός - Walk_Avoid_Turn Code

Το βάζουμε όλα μαζί. Όλα τα μέρη είναι συναρμολογημένα. Είμαστε έτοιμοι να φορτώσουμε τον πλήρη κώδικα, να βάλουμε το κέλυφος και να το παρακολουθήσουμε να κάνει τα πάντα.

Ξέρεις τη ρουτίνα. Κατεβάστε το αρχείο icbob_walk_avoid_turn.zip παρακάτω και αποσυμπιέστε στον κατάλογο Arduino. Ανοίξτε το σκίτσο στο Arduino IDE. Βρείτε την ακόλουθη ενότητα κώδικα. Βάλτε τις αρχικές θέσεις που καταγράψατε για το bot σας στο σκίτσο.

// ρυθμίστε τα μέλη για τον πίνακα hm στις αρχικές θέσεις για το ρομπότ σας

// μπορούν να βρεθούν χρησιμοποιώντας το σκίτσο icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // πίνακας για τη διατήρηση της αρχικής θέσης για κάθε σερβο RH, RA, LH, LA

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

// δεδομένα πίνακα προώθησης

const int fwdmvct = 6; // Κάντε αυτόν τον αριθμό ίσο με τον αριθμό των γραμμών στον πίνακα const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // βάδισμα κινήσεων προς τα εμπρός {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},} ? // turn data array const int trnmvct = 5; // Κάντε αυτόν τον αριθμό ίσο με τον αριθμό των γραμμών στον πίνακα const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // στροφή μετακίνησης πλαισίων {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

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

Τελική συναρμολόγηση και εκκίνηση

Αφήστε την μπαταρία αποσυνδεδεμένη και ανεβάστε το σκίτσο. Αποσυνδέστε το καλώδιο προγραμματισμού. Βεβαιωθείτε ότι ο διακόπτης τροφοδοσίας στο χειριστήριο είναι στη θέση «ενεργοποίησης» κάτω. Σύρετε προσεκτικά το κέλυφος στη βάση με το καλώδιο τροφοδοσίας USB να κολλάει στην επάνω τρύπα. Βάλτε μέσα την μπαταρία. Συνδέστε το. Το ICBob σας θα πρέπει να αρχίσει να κινείται και να στρίβει για να αποφύγει εμπόδια σε απόσταση μεγαλύτερη των 7 ίντσες.

Βήμα 10: Συμπέρασμα

Ελπίζουμε να διασκεδάσατε χτίζοντας το ICBob σας όπως χτίσαμε το δικό μας. Ενημερώστε μας εάν έχετε οποιεσδήποτε ερωτήσεις ή σχόλια. Αν χτίσετε ένα, ενημερώστε μας εδώ ή στο Thingiverse.

Συνιστάται: