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

RoboGlove: 12 βήματα (με εικόνες)
RoboGlove: 12 βήματα (με εικόνες)

Βίντεο: RoboGlove: 12 βήματα (με εικόνες)

Βίντεο: RoboGlove: 12 βήματα (με εικόνες)
Βίντεο: Robonaut 2 - NASA's Humanoid Robot 2024, Ιούλιος
Anonim
RoboGlove
RoboGlove

Είμαστε μια ομάδα μαθητών του ULB, Université Libre de Bruxelles. Το πρότζεκτ μας συνίσταται στην ανάπτυξη ενός ρομπότ γαντιών ικανό να δημιουργήσει μια δύναμη λαβής βοηθώντας τους ανθρώπους να αρπάζουν πράγματα.

ΤΟ ΧΑΡΑΚΙ

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

Ο ΣΧΕΔΙΑΣΜΟΣ

Το μοντέλο έχει αναπτυχθεί για να κάνει την κίνηση των χεριών όσο το δυνατόν πιο ελεύθερη. Στην πραγματικότητα, εκτυπώσαμε 3D μόνο τα αυστηρά απαραίτητα μέρη που χρειαζόμασταν για τη σύνδεση καλωδίων, κινητήρων και δακτύλων.

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

Στη συνέχεια, έχουμε δύο δακτυλίους 3D εκτύπωσης, ανά δάχτυλο, που αποτελούν οδηγό για τα καλώδια. Ο αντίχειρας είναι το μόνο δάχτυλο που έχει μόνο έναν τυπωμένο δακτύλιο. Υπάρχει ένα σύρμα ανά δάχτυλο, διπλωμένο στο μισό στο άκρο των δακτύλων. Τα δύο μισά περνούν μέσα από τους δύο οδηγούς του τρούλου και στους δύο δακτυλίους: τοποθετούνται κατευθείαν σε τρύπες που κάναμε στο εξωτερικό αυτών των δακτυλίων. Στη συνέχεια, τοποθετούνται μαζί σε έναν τροχό που συνδέεται άμεσα με τον κινητήρα. Ο τροχός έχει πραγματοποιηθεί για να μπορεί να τυλίγεται γύρω από τα καλώδια: δεδομένου ότι ο κινητήρας μας έχει μη πλήρη περιστροφή (κάτω από 180 °) συνειδητοποιήσαμε τον τροχό για να τραβήξουμε το σύρμα για ένα κενό 6 εκατοστών που είναι η απόσταση χρειάζεται για να κλείσει τελείως το χέρι.

Έχουμε επίσης εκτυπώσει δύο πλάκες για να στερεώσουμε τους σερβοκινητήρες και το arduino στο μπράτσο. Θα ήταν καλύτερα να το κόψετε σε ξύλο ή άκαμπτο πλαστικό με κόφτη λέιζερ.

Βήμα 1: Λίστα αγορών

Λίστα με τα ψώνια
Λίστα με τα ψώνια
Λίστα με τα ψώνια
Λίστα με τα ψώνια
Λίστα με τα ψώνια
Λίστα με τα ψώνια

Γάντι και σύρματα:

1 υπάρχον γάντι (πρέπει να είναι ράψιμο)

Παλιά τζιν ή άλλο άκαμπτο πανί

Νάιλον σύρματα

Σωλήνες πολυαιθυλενίου χαμηλής πυκνότητας (Διάμετρος: 4mm Πάχος: 1mm)

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ:

Arduino Uno

1 Μπαταρία 9V + 9V Υποδοχή μπαταρίας

1 ηλεκτρονικός διακόπτης

1 γυψοσανίδα

3 σερβοκινητήρες (1 ανά δάχτυλο)

3 έλικες (παρέχονται με τα servos)

4 Μπαταρίες AA + 4 AA Θήκη μπαταριών

3 αισθητήρες πίεσης (1 ανά δάχτυλο)

3 αντιστάσεις 330 ohms (1 ανά δάχτυλο)

6 ηλεκτρικά καλώδια (2 ανά αισθητήρες)

Βίδες, παξιμάδια και στερεώσεις:

4 Μ3 μήκος 10mm (για να διορθώσετε το Arduino)

2 M2.5 μήκους 12mm (για να στερεώσετε τη θήκη μπαταρίας 9V)

6 αντίστοιχα καρύδια

6 Μ2 μήκος 10mm (2 ανά σερβο για να στερεώσετε τους τροχούς στα σερβο)

12 μικροί σύνδεσμοι καλωδίων (για τη στερέωση των πλακών και του διακόπτη)

7 μεγάλοι σύνδεσμοι καλωδίων (2 ανά μοτέρ και 1 για τη θήκη μπαταριών 4 ΑΑ)

Χρησιμοποιημένα εργαλεία:

3D εκτυπωτής (Ultimaker 2)

Υλικό για ράψιμο

Πιστόλι θερμής κόλλας

Προαιρετικό: κόφτης λέιζερ

Βήμα 2: Προετοιμάστε τη φορετή δομή

Προετοιμάστε φορετή δομή
Προετοιμάστε φορετή δομή

Η φορετή δομή έχει γίνει με μερικά ρούχα: στην περίπτωσή μας χρησιμοποιήσαμε ένα κανονικό γάντι για ηλεκτρολόγο και ένα παντελόνι τζιν για τη δομή γύρω από τον καρπό. Ράφτηκαν μαζί.

Ο στόχος είναι να έχουμε μια ευέλικτη φορετή δομή.

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

Χρειαζόμαστε μια φορετή δομή γύρω από τον καρπό για να συγκρατεί τους τροφοδοτικούς και τους ενεργοποιητές και πρέπει να είναι σταθερή, οπότε επιλέξαμε να κάνουμε το κλείσιμο ρυθμιζόμενο εφαρμόζοντας ζώνες Velcro (αυτοκόλλητες λωρίδες) στον καρπό του τζιν.

Μερικά ξύλινα μπαστούνια ήταν ραμμένα μέσα για να κάνουν το τζιν πιο άκαμπτο.

Βήμα 3: Προετοιμάστε τα λειτουργικά μέρη

Προετοιμάστε τα λειτουργικά μέρη
Προετοιμάστε τα λειτουργικά μέρη

Τα άκαμπτα μέρη πραγματοποιούνται μέσω τρισδιάστατης εκτύπωσης σε PLA από τα αρχεία.stl στην περιγραφή:

Δαχτυλίδι δακτύλου x5 (με διαφορετικές κλίμακες: 1x κλίμακα 100%, 2x κλίμακα 110%, 2x κλίμακα 120%)

Finger Extremity x3 (με διαφορετικές κλίμακες: 1x κλίμακα 100%, 1x κλίμακα 110%, 1x κλίμακα 120%)

Τροχός για κινητήρα x3

Για τα μέρη των δακτύλων, χρειάζονται διαφορετικές κλίμακες λόγω του διαφορετικού μεγέθους κάθε δακτύλου και κάθε φάλαγγας.

Βήμα 4: Διορθώστε τους Αισθητήρες στα Άκρα

Διορθώστε τους αισθητήρες στα άκρα
Διορθώστε τους αισθητήρες στα άκρα

Οι αισθητήρες πίεσης συγκολλούνται πρώτα σε καλώδια καλωδίων.

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

Βήμα 5: Διορθώστε τα τρισδιάστατα εκτυπωμένα μέρη στο γάντι

Διορθώστε τα ανταλλακτικά τρισδιάστατης εκτύπωσης στο γάντι
Διορθώστε τα ανταλλακτικά τρισδιάστατης εκτύπωσης στο γάντι

Όλα τα άκαμπτα μέρη (άκρα, δακτύλιοι) πρέπει να ράβονται στο γάντι για να στερεωθούν.

Για να τοποθετήσετε σωστά τα δαχτυλίδια, φορέστε πρώτα το γάντι και προσπαθήστε να βάλετε τα δαχτυλίδια, ένα ανά φάλαγγα, χωρίς να τα αγγίξετε κατά το κλείσιμο του χεριού. Περίπου, οι δακτύλιοι στο δείκτη θα σταθεροποιηθούν 5 mm πάνω από τη βάση του δακτύλου και 17 έως 20 mm πάνω από το πρώτο. Όσον αφορά το μεσαίο δάχτυλο, ο πρώτος δακτύλιος θα είναι περίπου 8 έως 10 mm πάνω από τη βάση του δακτύλου και ο δεύτερος περίπου 20 mm πάνω από τον πρώτο. Για ό, τι αφορά τον αντίχειρα, η απαιτούμενη ακρίβεια είναι πολύ χαμηλή, καθώς δεν διακινδυνεύει να επηρεάσει τους άλλους δακτυλίους, οπότε προσπαθήστε να το εφαρμόσετε στο φθαρμένο γάντι, τραβήξτε μια γραμμή στο γάντι όπου προτιμάτε να έχετε δαχτυλίδι, ώστε να μπορείτε να το ράψετε στη συνέχεια.

Όσον αφορά το ράψιμο, δεν απαιτείται ιδιαίτερη τεχνική ή ικανότητα. Με μια βελόνα, το νήμα ραψίματος κάνει κύκλους γύρω από τους δακτυλίους, περνώντας από την επιφάνεια του γαντιού. Ένα βήμα 3-4mm μεταξύ δύο οπών στο γάντι κάνει ήδη μια αρκετά ισχυρή στερέωση, δεν χρειάζεται να κάνετε ένα πολύ πυκνό ράψιμο.

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

Στη συνέχεια, πρέπει να στερεωθούν και οι οδηγοί πολυαιθυλενίου, ακολουθώντας τρία κριτήρια:

το απομακρυσμένο άκρο (με το δάχτυλο) πρέπει να είναι στραμμένο προς την κατεύθυνση του δακτύλου, για να αποφευχθούν υψηλές τριβές με το νάιλον σύρμα που θα μπει μέσα του

το περιφερικό άκρο πρέπει να είναι αρκετά μακριά ώστε να μην παρεμβαίνει στο κλείσιμο του χεριού (περίπου 3 εκατοστά χαμηλότερα από τη βάση του δακτύλου είναι αρκετά καλό, 4 έως 5 εκατοστά για τον αντίχειρα)

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

Στερεώνονται ράβοντάς τα στο γάντι και στον καρπό, με την ίδια τεχνική όπως παραπάνω.

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

Βήμα 6: Προετοιμάστε τους τροχούς για τα Servos

Προετοιμάστε τους τροχούς για τα Servos
Προετοιμάστε τους τροχούς για τα Servos

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

Μόλις εκτυπωθούν οι τροχοί, πρέπει να τους στερεώσουμε στις προπέλες των σερβομηχανισμών βιδώνοντας (Μ2, βίδες 10mm). Δεδομένου ότι οι οπές των προπέλων είναι μικρότερες από 2 mm σε διάμετρο βιδώνοντας το Μ2, δεν χρειάζονται παξιμάδια.

Οι 3 έλικες μπορούν να εφαρμοστούν σε κάθε σερβο.

Βήμα 7: Στερεώστε τα μοτέρ στο μπράτσο

Διορθώστε τα μοτέρ στο μπράτσο
Διορθώστε τα μοτέρ στο μπράτσο

Αυτό το βήμα συνίσταται στη στερέωση των κινητήρων στον βραχίονα. για να το κάνουμε αυτό έπρεπε να εκτυπώσουμε μια βοηθητική πλάκα PLA για να λάβουμε υποστήριξη.

Στην πραγματικότητα, οι κινητήρες δεν μπορούσαν να στερεωθούν απευθείας στον βραχίονα, καθώς οι τροχοί, που απαιτούνται για το τράβηγμα των συρμάτων, θα μπορούσαν να μπλοκαριστούν κατά τη διάρκεια της κίνησης εξαιτίας του γαντιού. Έτσι εκτυπώσαμε 3D μια πλάκα PLA διαστάσεων 120x150x5 mm.

Στη συνέχεια, στερεώσαμε την πλάκα στο γάντι μας με μερικά καλώδια: κάναμε μερικές τρύπες στο γάντι απλά χρησιμοποιώντας ψαλίδι, στη συνέχεια κάναμε τρύπες στην πλαστική πλάκα με ένα τρυπάνι και τα ενώσαμε όλα μαζί. Τέσσερις οπές στην πλάκα χρειάζονται στο κέντρο, μεταξύ της περιμέτρου της, για να περάσουν οι σύνδεσμοι καλωδίων. Γίνονται με τρυπάνι. Αυτά βρίσκονται στο κεντρικό μέρος και όχι στα πλάγια της πλάκας για να μπορείτε να κλείσετε το τζιν γύρω από το μπράτσο χωρίς να το μπλοκάρει η πλάκα αφού το πιάτο δεν είναι εύκαμπτο.

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

Οι κινητήρες πρέπει να τοποθετηθούν με τέτοιο τρόπο ώστε οι τροχοί να μην παρεμβαίνουν ο ένας στον άλλο. Έτσι χωρίζονται στην αριστερή και δεξιά πλευρά του χεριού: δύο σε μια πλευρά, με τους τροχούς να γυρίζουν σε αντίθετες κατευθύνσεις και ο ένας στην άλλη πλευρά.

Βήμα 8: Κωδικός στο Arduino

Κωδικός στο Arduino
Κωδικός στο Arduino

Ο κώδικας έχει αναπτυχθεί με έναν απλό τρόπο: ενεργοποίηση ή μη των κινητήρων. Οι σερβομηχανισμοί ενεργοποιούνται μόνο εάν η ένδειξη είναι πάνω από μια ορισμένη τιμή (διορθώθηκε από δοκιμές και λάθη επειδή η ευαισθησία κάθε αισθητήρα δεν είναι ακριβώς η ίδια) Το Υπάρχουν δύο δυνατότητες κάμψης, χαμηλές για χαμηλή δύναμη και εντελώς για ισχυρή δύναμη. Μόλις λυγίσει το δάχτυλο, δεν απαιτείται δύναμη του χρήστη για να κρατήσει το δάχτυλο στην πραγματική θέση. Ο λόγος αυτής της εφαρμογής είναι ότι αλλιώς έχει αναφερθεί ότι τα δάχτυλα πρέπει να εφαρμόζουν συνεχώς μια δύναμη στους αισθητήρες και το γάντι δεν δίνει κανένα πλεονέκτημα. Για να απελευθερώσετε την κάμψη του δακτύλου, πρέπει να εφαρμοστεί μια νέα δύναμη στον αισθητήρα πίεσης, που λειτουργεί ως εντολή διακοπής.

Μπορούμε να χωρίσουμε τον κώδικα σε τρία μέρη:

Αισθητήρες init:

Πρώτα απ 'όλα ξεκινήσαμε τρεις ακέραιες μεταβλητές: ανάγνωση1, ανάγνωση2, ανάγνωση3 για κάθε αισθητήρα. Οι αισθητήρες τοποθετήθηκαν στις αναλογικές εισόδους A0, A2, A4. Κάθε μεταβλητή για την ανάγνωση ορίζεται ως εξής:

  • ανάγνωση1 όπου γράφεται η τιμή που διαβάζεται στην είσοδο Α0,
  • ανάγνωση2 όπου γράφεται η τιμή που διαβάζεται στην είσοδο Α2,
  • ανάγνωση3 όπου γράφεται η τιμή που διαβάζεται στην είσοδο Α4

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

Motors init:

Τρεις μεταβλητές char (save1, save2, save3), μία για κάθε κινητήρα ξεκινούν στο 0. Στη συνέχεια, στη ρύθμιση καθορίσαμε τους πείρους όπου συνδέουμε τους κινητήρες αντίστοιχα: ακίδα 9, ακίδα 6 και ακίδα 3 για servo1, servo2, servo3. όλα αρχικοποιημένα σε τιμή 0.

Στη συνέχεια, τα σερβο ενεργοποιούνται μέσω της εντολής servo.write () η οποία είναι σε θέση να καθορίσει τη γωνία που λαμβάνεται ως είσοδος στο σερβο. Επίσης, με δοκιμές και λάθη βρέθηκαν οι δύο καλές γωνίες, που χρειάζονταν για να λυγίσει το δάχτυλο σε δύο θέσεις που αντιστοιχούν σε μια μικρή λαβή και μια μεγάλη λαβή.

Δεδομένου ότι ένας κινητήρας πρέπει να στρίψει προς την αντίθετη κατεύθυνση λόγω της στερέωσής του, το σημείο εκκίνησης του δεν είναι μηδέν αλλά η μέγιστη γωνία και μείωση όταν εφαρμόζεται μια δύναμη για να μπορέσει να γυρίσει στην αντίθετη κατεύθυνση.

Σύνδεση μεταξύ αισθητήρων και κινητήρων:

Η επιλογή save1, save2, save3 και ανάγνωση1, ανάγνωση2, ανάγνωση3 εξαρτάται από τη συγκόλληση. Αλλά για κάθε δάχτυλο, ο αισθητήρας και ο σχετικός κινητήρας πρέπει να έχουν τον ίδιο αριθμό.

Στη συνέχεια, στο βρόχο, εάν χρησιμοποιήθηκαν συνθήκες για να δοκιμαστεί εάν το δάχτυλο είναι ήδη σε θέση κάμψης ή όχι και εάν ασκείται ή όχι πίεση στους αισθητήρες. Όταν οι αισθητήρες επιστρέφουν μια τιμή, πρέπει να εφαρμοστεί μια δύναμη αλλά είναι δυνατές δύο διαφορετικές περιπτώσεις:

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

Αυτό γίνεται για κάθε κινητήρα.

Στη συνέχεια προσθέσαμε καθυστέρηση 1000 ms για να αποφύγουμε τον πολύ συχνά έλεγχο των τιμών των αισθητήρων. Εάν εφαρμοστεί μια πολύ μικρή τιμή καθυστέρησης, κινδυνεύει να ανοίξει ξανά το χέρι μετά το κλείσιμο σε περίπτωση που ασκηθεί δύναμη για μεγαλύτερο χρονικό διάστημα από τον χρόνο καθυστέρησης.

Όλη η διαδικασία για έναν αισθητήρα παρουσιάζεται στο διάγραμμα ροής εδώ παραπάνω.

ΟΛΟΣ Ο ΚΩΔΙΚΟΣ

#include Servo servo1; Servo servo2; Servo servo3; int ανάγνωση1; int ανάγνωση2; int ανάγνωση3; char save1 = 0; // το σερβο ξεκινάει από την κατάσταση 0, κατάσταση ύπνου char save2 = 0; char save3 = 0; void setup (void) {Serial.begin (9600); servo2.attach (9); // servo στο ψηφιακό pin 9 servo2.write (160); // αρχικό σημείο για servo servo1.attach (6); // servo στο ψηφιακό pin 6 servo1.write (0); // αρχικό σημείο για servo servo3.attach (3); // servo στο ψηφιακό pin 3 servo3.write (0); // αρχικό σημείο για servo

}

void loop (void) {reading1 = analogRead (A0); // επισυνάπτεται στο αναλογικό 0 ανάγνωση2 = analogRead (A2); // επισυνάπτεται στο αναλογικό 2 ανάγνωση3 = analogRead (A4); // επισυνάπτεται στο αναλογικό 4

// if (reading2> = 0) {Serial.print ("Sensor value ="); // Παράδειγμα εντολής που χρησιμοποιείται για τη βαθμονόμηση των ορίων του πρώτου αισθητήρα

// Serial.println (ανάγνωση2); } // else {Serial.print ("Τιμή αισθητήρα ="); Serial.println (0); }

εάν (ανάγνωση1> 100 και αποθήκευση1 == 0) {// εάν ο αισθητήρας λάβει υψηλή τιμή και δεν βρίσκεται σε κατάσταση αδράνειας εξοικονόμηση1 = 2. } // μεταβείτε στην κατάσταση 2 αλλού εάν (ανάγνωση1> 30 και αποθήκευση1 == 0) {// εάν ο αισθητήρας λάβει μια μέση τιμή και δεν βρίσκεται σε κατάσταση αδράνειας, αποθηκεύστε1 = 1. } // πήγε στην κατάσταση 1 αλλού εάν (ανάγνωση1> 0) {// αν η τιμή δεν είναι μηδενική και καμία από τις προηγούμενες συνθήκες δεν είναι σωστή savee = 1;} // μεταβείτε στην κατάσταση ύπνου

if (save1 == 0) {servo1.write (160); } // απελευθέρωση else if (save1 == 1) {servo1.write (120); } // μεσαία γωνία έλξης else {servo1.write (90); } // μέγιστη γωνία έλξης

εάν (ανάγνωση2> 10 και αποθήκευση2 == 0) {// ίδιο από το σερβο 1 αποθήκευση2 = 2; } else if (ανάγνωση2> 5 και αποθήκευση2 == 0) {αποθήκευση2 = 1; } else if (ανάγνωση2> 0) {save2 = 0;}

if (save2 == 0) {servo2.write (0); } else if (save2 == 1) {servo2.write (40); } else {servo2.write (60); }

εάν (ανάγνωση3> 30 και αποθήκευση3 == 0) {// ίδιο από το σερβο 1 αποθήκευση3 = 2; } else if (ανάγνωση3> 10 και save3 == 0) {save3 = 1; } else if (ανάγνωση3> 0) {save3 = 0;}

if (save3 == 0) {servo3.write (0); } else if (save3 == 1) {servo3.write (40); } else {servo3.write (70); } καθυστέρηση (1000); } // περιμένετε ένα δευτερόλεπτο

Βήμα 9: Διορθώστε το Arduino, τις μπαταρίες και το Veroboard στο μπράτσο

Διορθώστε το Arduino, τις μπαταρίες και το Veroboard στο μπράτσο
Διορθώστε το Arduino, τις μπαταρίες και το Veroboard στο μπράτσο
Διορθώστε το Arduino, τις μπαταρίες και το Veroboard στο μπράτσο
Διορθώστε το Arduino, τις μπαταρίες και το Veroboard στο μπράτσο

Ένα άλλο πιάτο τυπώθηκε στο PLA για να μπορεί να στερεώσει τις θήκες μπαταριών και το arduino.

Η πλάκα έχει τις διαστάσεις: 100x145x5mm.

Υπάρχουν τέσσερις οπές για να βιδώσετε το arduino και δύο για να βιδώσετε τη θήκη μπαταρίας 9V. Έγινε μια τρύπα στο στήριγμα μπαταρίας 6V και στην πλάκα για να χρησιμοποιήσετε μια γραβάτα καλωδίου για να τα στερεώσετε μεταξύ τους. Προστέθηκε λίγη κόλλα για να εξασφαλιστεί η στερέωση αυτής της θήκης. Ο διακόπτης είναι στερεωμένος με δύο μικρούς δεσμούς καλωδίων.

Υπάρχουν επίσης τέσσερις τρύπες που χρησιμοποιούνται για να στερεώσουν την πλάκα στο τζιν χρησιμοποιώντας γραβάτες καλωδίων.

Ο veroboard τοποθετείται στο arduino σαν ασπίδα.

Βήμα 10: Συνδέστε τα Ηλεκτρονικά

Συνδέστε τα Ηλεκτρονικά
Συνδέστε τα Ηλεκτρονικά

Το κύκλωμα συγκολλάται στο veroboard όπως αναφέρεται στο παραπάνω σχήμα.

Το Arduino διαθέτει μπαταρία 9V ως τροφοδοσία και ένας διακόπτης είναι συνδεδεμένος μεταξύ τους για να μπορεί να απενεργοποιηθεί το Arduino. Μια μπαταρία 6V απαιτείται για τον σερβοκινητήρα που χρειάζεται πολύ ρεύμα και ο τρίτος πείρος των σερβο είναι συνδεδεμένος στο ακίδες 3, 6 και 9 για τον έλεγχο τους με PWM.

Κάθε αισθητήρας συνδέεται σε μια πλευρά με τα 5V του Arduino και στην άλλη πλευρά με αντίσταση 330 ohm συνδεδεμένη στο έδαφος και τις ακίδες A0, A2 και A4 για τη μέτρηση της τάσης.

Βήμα 11: Προσθέστε τα νάυλον σύρματα

Προσθέστε τα νάιλον σύρματα
Προσθέστε τα νάιλον σύρματα

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

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

Βήμα 12: Απολαύστε

Λειτουργεί όπως αναμενόταν.

Στην πρώτη ώθηση λυγίζει το δάχτυλο και στη δεύτερη το αφήνει. Δεν χρειάζεται δύναμη όταν λυγίζουν τα δάχτυλα.

Ωστόσο, τρία προβλήματα απομένουν:

- Πρέπει να είμαστε προσεκτικοί για να κάνουμε μια ώθηση μικρότερη από 1 δευτερόλεπτο για να ενεργοποιήσουμε τα servos, διαφορετικά τα καλώδια απελευθερώνονται αμέσως μετά το τράβηγμα, όπως εξηγείται στο βήμα 8 σχετικά με τον κώδικα Arduino.

- Τα πλαστικά μέρη ολισθαίνουν λίγο, οπότε προσθέσαμε λίγη θερμή κόλλα στα άκρα για να προσθέσουμε τριβή.

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

Συνιστάται: