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

Robotic Arm With Zio Modules Μέρος 2: 11 Βήματα
Robotic Arm With Zio Modules Μέρος 2: 11 Βήματα

Βίντεο: Robotic Arm With Zio Modules Μέρος 2: 11 Βήματα

Βίντεο: Robotic Arm With Zio Modules Μέρος 2: 11 Βήματα
Βίντεο: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, Ιούλιος
Anonim
Robotic Arm With Zio Modules Μέρος 2
Robotic Arm With Zio Modules Μέρος 2

Στο σημερινό σεμινάριο, θα χρησιμοποιήσουμε και τα 4 servos και ένα ασύρματο χειριστήριο PS2 για τον έλεγχο του ρομποτικού βραχίονα.

Αυτή η ανάρτηση ιστολογίου είναι μέρος της σειράς Zio Robotics.

Εισαγωγή

Στο προηγούμενο ιστολόγιό μας, δημοσιεύσαμε ένα σεμινάριο για το Μέρος 1 σχετικά με τον τρόπο ελέγχου ενός ρομποτικού βραχίονα χρησιμοποιώντας ενότητες Zio. Το Μέρος 1 επικεντρώθηκε κυρίως στον αυτόματο έλεγχο του Robotic Arm's Claw για άνοιγμα και κλείσιμο.

Στο σημερινό σεμινάριο, θα το βελτιώσουμε λίγο συμπεριλαμβάνοντας ένα ασύρματο χειριστήριο PS2 για τον έλεγχο του Robotic Arm. Για αυτό το έργο, θα χρησιμοποιήσουμε 4 servos.

Βήμα 1: Επισκόπηση έργου

Επίπεδο δυσκολίας:

Zio Padawan

Χρήσιμοι πόροι:

Θα πρέπει να έχετε μια βασική κατανόηση για το πώς να εγκαταστήσετε τους πίνακες ανάπτυξης Zio. Σε αυτό το σεμινάριο, υποθέτουμε ότι ο πίνακας ανάπτυξης είναι ήδη διαμορφωμένος και είναι έτοιμος για ρύθμιση. Εάν δεν έχετε ρυθμίσει ακόμα την πλακέτα σας, ανατρέξτε παρακάτω στο σεμινάριο του Zio Qwiic Start Guide για να ξεκινήσετε:

Οδηγός έναρξης Zio Zuino M UNO Qwiic

Βήμα 2: Διαγράμματα

Σχήματα
Σχήματα

Εδώ είναι τα Σχήματα καλωδίωσης του έργου Robotic Arm Part 2 καθώς και το διάγραμμα ελεγκτή PS2 που χρειάζονται για να κατανοήσετε για το τμήμα κωδικοποίησης.

Βήμα 3: Διάγραμμα ελεγκτή PS2

Διάγραμμα ελεγκτή PS2
Διάγραμμα ελεγκτή PS2

Βήμα 4: Ρύθμιση σύνδεσης Zio Modules

Παρακάτω είναι η σύνδεση των μονάδων Zio που πρόκειται να ρυθμιστούν με το Robotic Arm. Η σύνδεση όλων των μονάδων μεταξύ τους είναι αρκετά εύκολη και δεν θα χρειαστεί περισσότερο από 10 λεπτά για να ρυθμιστεί.

Βήμα 5: Συνδέστε το Robotic Arm Servo στο Zio 16 Servo Controller

Συνδέστε το Robotic Arm Servo στο Zio 16 Servo Controller
Συνδέστε το Robotic Arm Servo στο Zio 16 Servo Controller

Βήμα 6: Συνδέστε το 16 Servo στο DC/DC Booster και ρυθμίστε το στα 6,0V

Συνδέστε το 16 Servo στο DC/DC Booster και ρυθμίστε το στα 6,0V
Συνδέστε το 16 Servo στο DC/DC Booster και ρυθμίστε το στα 6,0V

Χρησιμοποιούμε ενισχυτή DC/DC για ενίσχυση και ρύθμιση της τάσης τροφοδοσίας μπαταρίας στο 6,0.

Χρησιμοποιήστε το ποτενσιόμετρο στο DC Booster για να ρυθμίσετε την τάση μέχρι να λάβετε 6,0. Πιέστε το κουμπί εισόδου/εξόδου μέχρι να εμφανιστεί η οθόνη 6.0. Πρέπει πρώτα να τροφοδοτήσετε τροφοδοσία (μπαταρία 3,7V) στον ενισχυτή DC/DC για να ρυθμίσετε την τάση.

Βήμα 7: Συνδέστε το Zuino M Uno στο Zio 16 Servo Controller

Συνδέστε το Zuino M Uno στο χειριστήριο Zio 16 Servo
Συνδέστε το Zuino M Uno στο χειριστήριο Zio 16 Servo

Το Qwiic συνδέει το Zuino M Uno στο χειριστήριο Zio Servo με qwiic καλώδιο.

Βήμα 8: Σύνδεση Uno με το δέκτη PS2

Σύνδεση Uno στον δέκτη PS2
Σύνδεση Uno στον δέκτη PS2

Εδώ είναι ένα διάγραμμα καρφιτσών των συνδέσεων. Χρειάζεστε 5 αρσενικά προς θηλυκά άλματα για αυτό το μέρος.

Βήμα 9: Κωδικός για ρομποτικό βραχίονα

Θα χρησιμοποιήσουμε τη Βιβλιοθήκη PS2 Arduino για να κωδικοποιήσουμε τον ασύρματο ελεγκτή PS2 για να συνεργαστούμε με το Robotic Arm. Μπορείτε να βρείτε και να κατεβάσετε τον πηγαίο κώδικα για αυτό το έργο Robotic Arm Part 2 στη σελίδα μας στο Github.

Κατεβάστε και εγκαταστήστε τις ακόλουθες βιβλιοθήκες και αποθηκεύστε τις στον τοπικό φάκελο βιβλιοθηκών Arduino IDE:

  • Βιβλιοθήκη προγράμματος οδήγησης Adafruit PWM Servo
  • PS2 βιβλιοθήκη Arduino

Για να εγκαταστήσετε τις βιβλιοθήκες ανοίξτε το Arduino IDE, μεταβείτε στην καρτέλα Sketch, επιλέξτε Include Library -> Add. Zip Library. Επιλέξτε τις παραπάνω βιβλιοθήκες που θα συμπεριληφθούν στο IDE σας.

Το Arduino διαθέτει έναν εύχρηστο οδηγό για τον τρόπο εγκατάστασης βιβλιοθηκών στο Arduino IDE. Δείτε τους εδώ!

Βήμα 10: Εκτελέστε τον κωδικό σας

Εκτελέστε τον κωδικό σας
Εκτελέστε τον κωδικό σας

Ανοίξτε το Arduino IDE. Στην ενότητα Αρχεία> Παραδείγματα> PS2_Arduino_Library, επιλέξτε PS2X_Servo

Σημείωση: Προτού μπορέσετε να ελέγξετε το ρομποτικό σας χέρι με το PS2 Controller, ελέγξτε τα ακόλουθα βήματα: Ενεργοποιήστε τον ελεγκτή PS2. Βεβαιωθείτε ότι ανάβει το LED Mode. Εάν όχι, πατήστε το κουμπί Mode στο χειριστήριο σας. Αφού κάνετε τα παραπάνω, πρέπει να πατήσετε το κουμπί επαναφοράς στο Zuino M Uno για να διαβάσει τις ρυθμίσεις του ελεγκτή σας. Πρέπει να πατήσετε το L1 και το Joystick για να μετακινήσετε το ρομποτικό σας χέρι.

  • Το Left Joystick ελέγχει την κάμψη του βραχίονα προς τα πάνω ή προς τα κάτω
  • Το Right Joystick ελέγχει το νύχι είτε ανοίγει είτε κλείνει και περιστρέφει το νύχι αριστερά ή δεξιά.

Βήμα 11: Επεξήγηση κώδικα

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

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

/********************************************* ****************ορίστε ακίδες συνδεδεμένες στον ελεγκτή PS2:* - 1e στήλη: αρχική* - 2e colmun: Stef? *αντικαταστήστε τους αριθμούς pin με αυτούς που χρησιμοποιείτε *************************************** **********************/#define PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#define PS2_SEL 10 // 16#define PS2_CLK 12 // 17

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

/********************************************* ***************** επιλεγμένες λειτουργίες του ελεγκτή PS2:* - πιέσεις = αναλογική ανάγνωση κουμπιών ώθησης* - βρυχηθμός = βρυχηθμός κινητήρα*παρατήρηση 1 των γραμμών για κάθε επιλογή λειτουργίας ** ********************************************** ************ // //#καθορισμός πιέσεων αληθινές#καθορισμός πιέσεων ψευδείς

Εδώ ορίσαμε τη λειτουργία PS2 για τις πιέσεις και το rumble ως false. Σχολιάσαμε αυτά που δεν χρησιμοποιούμε.

Θα χρησιμοποιούμε μόνο την εντολή Controller's Joystick και το L1 για να ελέγξουμε την κίνηση του Robotic Arm μας.

void loop () {/* Πρέπει να διαβάσετε το Gamepad για να λάβετε νέες τιμές και να ορίσετε τιμές δόνησης ps2x.read_gamepad (μικρός κινητήρας ενεργοποιημένος/απενεργοποιημένος, μεγαλύτερη ισχύς κινητήρα από 0-255) εάν δεν ενεργοποιήσετε το rumble, χρησιμοποιήστε το ps2x.read_gamepad ()? Χωρίς τιμές Θα πρέπει να το καλέσετε τουλάχιστον μία φορά το δευτερόλεπτο*/εάν (σφάλμα == 1) // παράλειψη βρόχου εάν δεν βρέθηκε από τον ελεγκτή επιστροφή. else {// DualShock Controller ps2x.read_gamepad (false, δόνηση); // διαβάστε το χειριστήριο και ρυθμίστε τον μεγάλο κινητήρα να περιστρέφεται με ταχύτητα «δόνησης» εάν (ps2x. Button (PSB_START)) // θα είναι ΑΛΗΘΙΝΟ εφόσον πατηθεί το κουμπί Serial.println ("Η εκκίνηση κρατείται"). if (ps2x. Button (PSB_SELECT)) Serial.println ("Η επιλογή κρατείται"); δόνηση = ps2x. Αναλογικό (PSAB_CROSS); // αυτό θα ρυθμίσει την ταχύτητα δόνησης του μεγάλου κινητήρα με βάση το πόσο σκληρά πατάτε το μπλε κουμπί (X) εάν (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// εκτυπώστε τις τιμές των ραβδιών, εάν το ένα είναι TRUE RY_Value = ps2x. Αναλογικό (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Stick Values:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);

Ο παρακάτω κωδικός είναι εκεί που κωδικοποιούμε τα servos μας που ελέγχουν τον ρομποτικό μας βραχίονα, τον οποίο συμπεριλαμβάνουμε στην κλήση λειτουργίας κάτω από το ps2x.button (PSB_L1) || ps2x.button (PSB_R1).

Πρέπει να πατήσετε το κουμπί L1 ή R1 μαζί με το Joystick για να ελέγξετε το ρομποτικό σας χέρι.

Τα σερβο χειριστήρια Left Joystick 2 και 3 για το μέρος του βραχίονα - ελέγξτε την κάμψη πάνω και κάτω του βραχίονα αντίστοιχα, ενώ το δεξί χειριστήριο 0 και 1 του νυχιού του ρομποτικού βραχίονα για άνοιγμα ή κλείσιμο και περιστροφή αριστερά ή δεξιά.

SERVO 0, 1 - Νύχι SERVO 2, 3 - Arm

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

pulselen0 = χάρτης (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = χάρτης (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = χάρτης (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = χάρτης (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

Συνιστάται: