Σίγουρα πολλοί από εσάς έχετε δει σε ταινίες επιστημονικής φαντασίας πώς ο επιστήμονας ή ο geek έχει ένα ρομποτικό χέρι που ελέγχει τα πάντα και μπορεί να σηκώσει αντικείμενα ή να εκτελέσει λειτουργίες σαν να ήταν άνθρωπος. Κάτι που είναι όλο και πιο δυνατό χάρη σε Hardware Libre και το Arduino Project. Τι είναι όμως ο ρομποτικός βραχίονας; Τι λειτουργίες έχει αυτό το gadget; Πώς κατασκευάζεται ένας ρομποτικός βραχίονας; Παρακάτω θα απαντήσουμε σε όλες αυτές τις ερωτήσεις.
Τι είναι το ρομποτικό χέρι
Ένας ρομποτικός βραχίονας είναι ένας μηχανικός βραχίονας με ηλεκτρονική βάση που του επιτρέπει να είναι πλήρως προγραμματιζόμενος. Επιπλέον, αυτός ο τύπος βραχίονα μπορεί να είναι ένα μόνο στοιχείο, αλλά μπορεί επίσης να είναι μέρος ενός ρομπότ ή άλλου ρομποτικού συστήματος. Η ποιότητα ενός ρομποτικού βραχίονα σε σύγκριση με άλλους τύπους μηχανικών στοιχείων είναι αυτή ένας ρομποτικός βραχίονας είναι πλήρως προγραμματιζόμενος, ενώ η υπόλοιπη συσκευή δεν είναι. Αυτή η λειτουργία μας επιτρέπει να έχουμε ένα μόνο ρομποτικό βραχίονα για διάφορες λειτουργίες και να εκτελούμε διάφορες διαφορετικές και διαφορετικές δραστηριότητες, δραστηριότητες που μπορούν να πραγματοποιηθούν χάρη σε ηλεκτρονικές πλακέτες όπως οι πίνακες Arduino.
Λειτουργίες ενός ρομποτικού βραχίονα
Πιθανώς η πιο βασική λειτουργία ενός ρομποτικού βραχίονα είναι η λειτουργία βοηθητικού βραχίονα. Σε ορισμένες λειτουργίες θα χρειαστούμε έναν τρίτο βραχίονα που υποστηρίζει κάποιο στοιχείο έτσι ώστε ένα άτομο να μπορεί να χτίσει ή να δημιουργήσει κάτι. Για αυτήν τη λειτουργία δεν απαιτείται ειδικός προγραμματισμός και θα χρειαστεί μόνο να απενεργοποιήσουμε τη συσκευή.
Οι ρομποτικοί βραχίονες μπορούν να κατασκευαστούν με διάφορα υλικά που καθιστούν δυνατή τη χρήση τους ως υποκατάστατο επικίνδυνων χειρισμών όπως ο χειρισμός ρυπογόνων χημικών στοιχείων. Ένας ρομποτικός βραχίονας μπορεί επίσης να μας βοηθήσει να εκτελέσουμε βαριά καθήκοντα ή εκείνα που απαιτούν επαρκή πίεση, αρκεί να είναι κατασκευασμένο από ένα ισχυρό και ανθεκτικό υλικό.
Υλικά που απαιτούνται για την κατασκευή του
Στη συνέχεια θα σας διδάξουμε πώς να φτιάξετε ένα ρομποτικό βραχίονα με γρήγορο, απλό και οικονομικό τρόπο για όλους. Ωστόσο, αυτός ο ρομποτικός βραχίονας δεν θα είναι τόσο ισχυρός όσο και χρήσιμος με τους βραχίονες που βλέπουμε στις ταινίες, αλλά θα χρησιμεύσει για να μάθει για τη λειτουργία και την κατασκευή του. Ετσι ώστε, τα υλικά που θα χρειαζόμαστε για την κατασκευή αυτής της συσκευής είναι:
- Ενα πιατο Arduino UNO REV3 ή υψηλότερη.
- Δύο πίνακες ανάπτυξης.
- Σέρβο δύο αξόνων παράλληλα
- Δύο micro servos
- Δύο αναλογικά χειριστήρια παράλληλα
- Καλώδια βραχυκυκλωτήρα για πίνακες ανάπτυξης.
- Κολλητική ταινία
- Χαρτόνι ή αφρός για τη βάση.
- Ένας κόπτης και ένα ψαλίδι.
- Πολλή υπομονή.
Συνέλευση
Η συναρμολόγηση αυτού του ρομποτικού βραχίονα είναι αρκετά απλή. Πρώτα πρέπει να κόψουμε δύο ορθογώνια με τον αφρό. καθένα από αυτά τα ορθογώνια θα είναι μέρη του ρομποτικού βραχίονα. Όπως μπορείτε να δείτε στις εικόνες, αυτά τα ορθογώνια θα πρέπει να είναι το μέγεθος που θέλουμε, αν και συνιστάται το μέγεθος ενός από αυτά είναι 16,50 x 3,80 cm. και το δεύτερο ορθογώνιο έχει το ακόλουθο μέγεθος 11,40 x 3,80 cm.
Μόλις έχουμε τα ορθογώνια, στο ένα άκρο κάθε ορθογωνίου ή ταινίας θα κολλήσουμε κάθε σερβοκινητήρα. Αφού το κάνετε αυτό, θα κόψουμε ένα "U" αφρού. Αυτό θα χρησιμεύσει ως μέρος συγκράτησης ή τελικό μέρος του βραχίονα, το οποίο για τον άνθρωπο θα ήταν το χέρι. Θα ενώσουμε αυτό το κομμάτι στον σερβοκινητήρα που βρίσκεται στο μικρότερο ορθογώνιο.
Τώρα πρέπει να φτιάξουμε το κάτω μέρος ή τη βάση. Για αυτό θα κάνουμε την ίδια διαδικασία: θα κόψουμε ένα τετράγωνο αφρού και θα τοποθετήσουμε τους δύο άξονες σερβοκινητήρες παράλληλα όπως στην παρακάτω εικόνα:
Τώρα πρέπει να συνδέσουμε όλους τους κινητήρες στον πίνακα Arduino. Αλλά πρώτα, πρέπει να συνδέσουμε τις συνδέσεις με τον πίνακα ανάπτυξης και αυτό με τον πίνακα Arduino. Θα συνδέσουμε το μαύρο καλώδιο στον ακροδέκτη GND, το κόκκινο καλώδιο θα συνδέσουμε τον ακροδέκτη 5V και τα κίτρινα καλώδια στα -11, -10, 4 και -3. Θα συνδέσουμε επίσης τα χειριστήρια ή τα χειριστήρια του ρομποτικού βραχίονα στην πλακέτα Arduino, σε αυτήν την περίπτωση, όπως δείχνει η εικόνα:
Μόλις συνδεθούν και συναρμολογηθούν όλα, πρέπει να περάσουμε το πρόγραμμα στον πίνακα Arduino, για τον οποίο θα χρειαστεί να συνδέσουμε την πλακέτα Arduino με τον υπολογιστή ή τον φορητό υπολογιστή. Μόλις περάσουμε το πρόγραμμα στον πίνακα Arduino, πρέπει να το βεβαιωθούμε αυτό συνδέστε τα καλώδια στην πλακέτα Arduino αν και μπορούμε πάντα να συνεχίσουμε με την πλακέτα ανάπτυξης και να αποσυναρμολογήσουμε τα πάντα, το τελευταίο αν θέλουμε να μάθει μόνο.
Απαιτείται λογισμικό για λειτουργία
Παρόλο που φαίνεται ότι έχουμε ολοκληρώσει την κατασκευή ενός ρομποτικού βραχίονα, η αλήθεια είναι ότι υπάρχουν ακόμα πολλά μπροστά και το πιο σημαντικό πράγμα. Δημιουργώντας ή αναπτύσσοντας ένα πρόγραμμα που δίνει ζωή στον ρομποτικό μας βραχίονα αφού χωρίς αυτό, οι σερβοκινητήρες δεν θα σταματούσαν να είναι απλοί μηχανισμοί ρολογιού που περιστρέφονται χωρίς νόημα.
Αυτό επιλύεται συνδέοντας τον πίνακα Arduino στον υπολογιστή μας και ανοίγουμε το πρόγραμμα Arduino IDE, συνδέουμε τον υπολογιστή στον πίνακα και γράφουμε τον ακόλουθο κώδικα σε ένα κενό αρχείο:
#include <Servo.h> const int servo1 = 3; // first servo const int servo2 = 10; // second servo const int servo3 = 5; // third servo const int servo4 = 11; // fourth servo const int servo5 = 9; // fifth servo const int joyH = 2; // L/R Parallax Thumbstick const int joyV = 3; // U/D Parallax Thumbstick const int joyX = 4; // L/R Parallax Thumbstick const int joyP = 5; // U/D Parallax Thumbstick const int potpin = 0; // O/C potentiometer int servoVal; // variable to read the value from the analog pin Servo myservo1; // create servo object to control a servo Servo myservo2; // create servo object to control a servo Servo myservo3; // create servo object to control a servo Servo myservo4; // create servo object to control a servo Servo myservo5; // create servo object to control a servo void setup() { // Servo myservo1.attach(servo1); // attaches the servo myservo2.attach(servo2); // attaches the servo myservo3.attach(servo3); // attaches the servo myservo4.attach(servo4); // attaches the servo myservo5.attach(servo5); // attaches the servo // Inizialize Serial Serial.begin(9600); } void loop(){ servoVal = analogRead(potpin); servoVal = map(servoVal, 0, 1023, 0, 179); myservo5.write(servoVal); delay(15); // Display Joystick values using the serial monitor outputJoystick(); // Read the horizontal joystick value (value between 0 and 1023) servoVal = analogRead(joyH); servoVal = map(servoVal, 0, 1023, 0, 180); // scale it to use it with the servo (result between 0 and 180) myservo2.write(servoVal); // sets the servo position according to the scaled value // Read the horizontal joystick value (value between 0 and 1023) servoVal = analogRead(joyV); servoVal = map(servoVal, 0, 1023, 70, 180); // scale it to use it with the servo (result between 70 and 180) myservo1.write(servoVal); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there // Read the horizontal joystick value (value between 0 and 1023) servoVal = analogRead(joyP); servoVal = map(servoVal, 0, 1023, 70, 180); // scale it to use it with the servo (result between 70 and 180) myservo4.write(servoVal); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there // Read the horizontal joystick value (value between 0 and 1023) servoVal = analogRead(joyX); servoVal = map(servoVal, 0, 1023, 70, 180); // scale it to use it with the servo (result between 70 and 180) myservo3.write(servoVal); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there /** * Display joystick values */ void outputJoystick(){ Serial.print(analogRead(joyH)); Serial.print ("---"); Serial.print(analogRead(joyV)); Serial.println ("----------------"); Serial.print(analogRead(joyP)); Serial.println ("----------------"); Serial.print(analogRead(joyX)); Serial.println ("----------------"); }
Το αποθηκεύουμε και μετά το στέλνουμε στο πιάτο Arduino UNO. Πριν τελειώσουμε με τον κωδικό θα πραγματοποιήσουμε τις σχετικές δοκιμές για να επαληθεύσουμε ότι τα χειριστήρια λειτουργούν και ότι ο κώδικας δεν παρουσιάζει σφάλματα.
Το έχω ήδη τοποθετήσει, τώρα τι;
Σίγουρα πολλοί από εσάς δεν περιμένατε αυτόν τον τύπο ρομποτικού βραχίονα, ωστόσο είναι ιδανικό λόγω των βασικών στοιχείων για το τι είναι, το κόστος που έχει και τον τρόπο για να μάθετε πώς να φτιάξετε ένα ρομπότ. Από εδώ όλα ανήκουν στη φαντασία μας. Δηλαδή, μπορούμε να αλλάξουμε τα υλικά, τους σερβοκινητήρες και ακόμη και να ολοκληρώσουμε τον κώδικα προγραμματισμού. Είναι αυτονόητο επίσης Μπορούμε να αλλάξουμε το μοντέλο της πλακέτας Arduino για ένα πιο ισχυρό και πλήρες που μας επιτρέπει να συνδέσουμε ένα τηλεχειριστήριο ή να εργαστείτε με το smartphone. Εν ολίγοις, ένα ευρύ φάσμα δυνατοτήτων που το Hardware Libre και ρομποτικά χέρια.
Περισσότερες πληροφορίες - Instructables
Σίγουρα η εκτύπωση 3D είναι η πόρτα για υπέροχα πράγματα. Δούλεψα με ένα Lion 2 στα δικά μου σχέδια και τα αποτελέσματα με εντυπωσίασαν. Δεδομένου ότι μου προτάθηκε να το διαβάσω http://www.leon-3d.es Ήδη τράβηξε την προσοχή μου και όταν το δοκίμασα και είδα το αυτοεπιπεδούμενο και τις λεπτομέρειες στο τελικό αποτέλεσμα, ήξερα τι καλή επένδυση έκανα.