Η χρήση του χειριστηρίου μπορεί να διευκολύνει την οδήγηση και την κίνηση του ρομπότ σας για την ολοκλήρωση μιας εργασίας. Ωστόσο, υπάρχουν περιορισμοί στη χρήση του προγράμματος Drive και, ανάλογα με την κατασκευή του ρομπότ σας ή την εργασία που έχετε, ενδέχεται να θέλετε διαφορετικά χειριστήρια. Ο κωδικοποιητής του ελεγκτή σάς επιτρέπει να τον βελτιστοποιήσετε ώστε να ταιριάζει καλύτερα στο ρομπότ σας και στην εργασία που εκτελείτε. Υπάρχουν διάφοροι τρόποι για να κωδικοποιήσετε τον ελεγκτή στο VEXcode V5. Κάθε μέθοδος έχει τα πλεονεκτήματα και τους περιορισμούς της, και ορισμένες είναι πιο κατάλληλες για συγκεκριμένες περιπτώσεις, ανάλογα με το επιθυμητό αποτέλεσμα.
Αυτό το άρθρο θα σας καθοδηγήσει σε τρεις διαφορετικές επιλογές για την προσαρμοσμένη κωδικοποίηση του Controller στο VEXcode V5. Κάθε μέθοδος θα περιγραφεί με τα πλεονεκτήματα, τους περιορισμούς της και ένα παράδειγμα περίπτωσης χρήσης για να σας βοηθήσει στην επιλογή μιας μεθόδου. Για τους σκοπούς αυτού του άρθρου, όλα τα παραδείγματα κώδικα που εμφανίζονται δημιουργήθηκαν για το Clawbot. Ωστόσο, οι ίδιες έννοιες θα μπορούσαν να εφαρμοστούν σε πολλές άλλες εκδόσεις που βρίσκονται στο builds.vex.com, καθώς και σε προσαρμοσμένες εκδόσεις.
Επιλογή 1: Αντιστοίχιση κουμπιών στη διαμόρφωση συσκευής
Αυτή η επιλογή είναι εξαιρετική όταν χρησιμοποιείτε μια τυπική έκδοση, όπως ένα Speedbot ή ένα Clawbot, και θέλετε να ξεκινήσετε γρήγορα.
Αυτή η επιλογή σάς επιτρέπει να αντιστοιχίσετε κινητήρες, ένα σύστημα μετάδοσης κίνησης ή ομάδες κινητήρων σε κουμπιά στον Ελεγκτή στη Διαμόρφωση Συσκευής. Για περισσότερες πληροφορίες σχετικά με τον τρόπο αντιστοίχισης κουμπιών στον Ελεγκτή στη Διαμόρφωση Συσκευής, ανατρέξτε σε αυτό το άρθρο.
Σύνοψη της Επιλογής 1: Αντιστοίχιση Κουμπιών στη Διαμόρφωση Συσκευής
| Φόντα | Περιορισμοί | Παράδειγμα Κατάστασης |
|---|---|---|
|
|
|
Επιλογή 2: Χρήση ενός Forever Loop
Αν χρησιμοποιείτε μια προσαρμοσμένη έκδοση αντί για μια τυπική έκδοση ή θέλετε να έχετε περισσότερες δυνατότητες προσαρμογής στον Ελεγκτή σας, αυτή η επιλογή είναι καλή. Η χρήση ενός βρόχου Forever είναι μια εξαιρετική εισαγωγή για τη δημιουργία προσαρμοσμένου κώδικα για τον ελεγκτή σας.
Αυτή η επιλογή τοποθετεί όλες τις συνθήκες για τον Ελεγκτή και τα σχετικά κουμπιά του σε έναν βρόχο για πάντα. Αυτό παρέχει μεγαλύτερη ευελιξία, ειδικά με προσαρμοσμένα σχέδια κατασκευής, αλλά απαιτεί επίσης κάποια εμπειρία στον προγραμματισμό. Ωστόσο, μια παράμετρος που πρέπει να λάβετε υπόψη όταν χρησιμοποιείτε αυτήν την επιλογή είναι η διάρκεια και η πολυπλοκότητα του έργου σας. Όσο περισσότερες συνθήκες προστίθενται, τόσο μεγαλύτερη μπορεί να γίνει η στοίβα κώδικα. Αυτό σημαίνει ότι πολλά μπλοκ πρέπει να εκτελούνται με τη σειρά και όταν υπάρχουν πολλά μπλοκ, αυτό μπορεί να επιβραδύνει την εκτέλεση του έργου. Η πιο αργή εκτέλεση του έργου ενδέχεται να δημιουργήσει μια καθυστέρηση μεταξύ του πατήματος των κουμπιών του ελεγκτή και της εμφάνισης της συμπεριφοράς του ρομπότ.
Το συγκεκριμένο παράδειγμα που φαίνεται παρακάτω είναι ένας τρόπος με τον οποίο μπορείτε να χρησιμοποιήσετε έναν βρόχο Forever με ένα ρομπότ προσαρμοσμένου σχεδιασμού (όπως ένα ρομπότ με προσαρμοσμένο σύστημα μετάδοσης κίνησης) για να οδηγήσετε το ρομπότ και να χειριστείτε το νύχι και τον βραχίονα προκειμένου να αλληλεπιδράσετε με αντικείμενα.
Λήψη του αρχείου έργου VEXcode V5 "Επιλογή 2" >
Επεξήγηση του Κώδικα Επιλογής 2.
| Κώδικας | Εξήγηση |
|---|---|
| Για αυτό το παράδειγμα κώδικα χρησιμοποιήθηκε ένα Clawbot. Όταν τα κουμπιά στο χειριστήριο χρησιμοποιούνται για την ανύψωση και το κατέβασμα του βραχίονα, μόλις αφήσετε το κουμπί, λόγω της βαρύτητας ο βραχίονας θα πέσει πίσω προς τα κάτω. Η ρύθμιση τόσο του βραχίονα όσο και του νύχιου στη θέση «κρατήματος» θα διασφαλίσει ότι τόσο ο βραχίονας όσο και το νύχι θα παραμείνουν στη θέση τους ακόμα και μετά την απελευθέρωση των κουμπιών στο χειριστήριο. | |
|
|
Για αυτό το παράδειγμα κώδικα χρησιμοποιήθηκε ένα Clawbot. Όταν τα κουμπιά στο χειριστήριο χρησιμοποιούνται για την ανύψωση και το κατέβασμα του βραχίονα, μόλις αφήσετε το κουμπί, λόγω της βαρύτητας ο βραχίονας θα πέσει πίσω προς τα κάτω. Η ρύθμιση τόσο του βραχίονα όσο και του νύχιου στη θέση «κρατήματος» θα διασφαλίσει ότι τόσο ο βραχίονας όσο και το νύχι θα παραμείνουν στη θέση τους ακόμα και μετά την απελευθέρωση των κουμπιών στο χειριστήριο. Ένας βρόχος Forever χρησιμοποιείται για να ελέγχεται συνεχώς ποια κουμπιά πατιούνται στο χειριστήριο. Τα μπλοκ [Ορισμός ταχύτητας κινητήρα] χρησιμοποιούνται για να ορίσουν την ταχύτητα του κινητήρα στην τρέχουσα θέση του Ελεγκτή κατά μήκος των αξόνων 2 και 3. Αυτό ισοδυναμεί με το να θέσετε ένα αυτοκίνητο σε λειτουργία. Αυτό δεν κάνει απαραίτητα το αυτοκίνητο να κινείται, απλώς το ρυθμίζει. Κάθε άξονας του joystick επιστρέφει μια τιμή μεταξύ -100 και +100 και επιστρέφει μια τιμή μηδέν όταν είναι κεντραρισμένος. Αυτό σημαίνει ότι οι άξονες του joystick, όταν πιέζονται, ισοδυναμούν με -100% έως 100%. Όσο πιο κοντά στα 100 ή -100 ωθούνται οι άξονες, τόσο πιο γρήγορα θα περιστρέφεται ο κινητήρας. Το μπλοκ [Spin] χρησιμοποιείται στη συνέχεια για την πραγματική κίνηση του κινητήρα. Αυτό ισοδυναμεί με το πάτημα του γκαζιού στο αυτοκίνητο μόλις οριστεί η κατεύθυνση. Αυτό επιτρέπει τον έλεγχο κάθε κινητήρα από έναν από τους τέσσερις άξονες του ελεγκτή. |
|
|
Για αυτό το παράδειγμα κώδικα χρησιμοποιήθηκε ένα Clawbot. Όταν τα κουμπιά στο χειριστήριο χρησιμοποιούνται για την ανύψωση και το κατέβασμα του βραχίονα, μόλις αφήσετε το κουμπί, λόγω της βαρύτητας ο βραχίονας θα πέσει πίσω προς τα κάτω. Η ρύθμιση τόσο του βραχίονα όσο και του νύχιου στη θέση «κρατήματος» θα διασφαλίσει ότι τόσο ο βραχίονας όσο και το νύχι θα παραμείνουν στη θέση τους ακόμα και μετά την απελευθέρωση των κουμπιών στο χειριστήριο. Το μπλοκ [If then else if then else] χρησιμοποιείται για την αντιστοίχιση ορισμένων συμπεριφορών σε κουμπιά που πατιούνται ή απελευθερώνονται στον ελεγκτή. Σε αυτήν την ενότητα κώδικα, οι συνθήκες που ορίζονται είναι εάν πατηθούν τα κουμπιά Πάνω ή Κάτω. Αν ναι, θα εμφανιστούν ορισμένες συμπεριφορές, όπως το σήκωμα και το κατέβασμα του χεριού. Υπάρχει επίσης το τμήμα "αλλιώς" της συνθήκης, όπου εάν δεν πατηθεί κανένα κουμπί, ο βραχίονας έχει ρυθμιστεί να σταματά να κινείται. Σημειώστε ότι η ακόλουθη ενότητα κώδικα στο έργο για το Claw ακολουθεί την ίδια εξήγηση. |
Σύνοψη της Επιλογής 2: Χρήση ενός Αέναου Βρόχου
| Φόντα | Περιορισμοί | Παράδειγμα Κατάστασης |
|---|---|---|
|
|
|
Επιλογή 3: Χρήση συμβάντων
Αν θέλετε πολλές δυνατότητες προσαρμογής στον ελεγκτή σας, η χρήση συμβάντων είναι η καλύτερη επιλογή για εσάς. Ένα πάτημα ενός κουμπιού μπορεί να ενεργοποιήσει πολλαπλές συμπεριφορές του ρομπότ, όπως το πάτημα ενός κουμπιού για να ανοίξει το νύχι, να σηκώσει το βραχίονα και να προχωρήσει προς τα εμπρός για μια καθορισμένη απόσταση. Η προσπάθεια κωδικοποίησης πολλαπλών συμπεριφορών ανά κουμπί μέσα σε έναν βρόχο Forever θα προκαλούσε δραματική επιβράδυνση της εκτέλεσης του έργου – η χρήση των Συμβάντων σάς επιτρέπει να το κάνετε αυτό πιο αποτελεσματικά.
Αυτή η επιλογή χρησιμοποιεί Συμβάντα για να διαχωρίσει τη ροή του έργου. Αυτό είναι παρόμοιο με τη χρήση ενός βρόχου Forever, αλλά επιτρέπει την καλύτερη οργάνωση του κώδικα, έτσι ώστε η εκτέλεση του κουμπιού να έχει ταχύτερο χρόνο απόκρισης. Ο ταχύτερος χρόνος απόκρισης σημαίνει ότι δεν θα παρατηρήσετε καθυστέρηση μεταξύ του πατήματος των κουμπιών του χειριστηρίου και της εμφάνισης της συμπεριφοράς του ρομπότ. Αυτό το παράδειγμα δείχνει τις ίδιες συμπεριφορές με το προηγούμενο έργο, αλλά γίνεται χρησιμοποιώντας τα Συμβάντα αντί για τον Αέναο Βρόχο.
Λήψη του αρχείου έργου VEXcode V5 "Επιλογή 3" >
Επεξήγηση του Κώδικα Επιλογής 3.
| Κώδικας | Εξήγηση |
|---|---|
| Για αυτό το παράδειγμα κώδικα χρησιμοποιήθηκε ένα Clawbot. Όταν τα κουμπιά στο χειριστήριο χρησιμοποιούνται για την ανύψωση και το κατέβασμα του βραχίονα, μόλις αφήσετε το κουμπί, λόγω της βαρύτητας ο βραχίονας θα πέσει πίσω προς τα κάτω. Η ρύθμιση τόσο του βραχίονα όσο και του νύχιου στη θέση «κρατήματος» θα διασφαλίσει ότι τόσο ο βραχίονας όσο και το νύχι θα παραμείνουν στη θέση τους ακόμα και μετά την απελευθέρωση των κουμπιών στο χειριστήριο. | |
|
|
Για αυτό το παράδειγμα κώδικα χρησιμοποιήθηκε ένα Clawbot. Όταν τα κουμπιά στο χειριστήριο χρησιμοποιούνται για την ανύψωση και το κατέβασμα του βραχίονα, μόλις αφήσετε το κουμπί, λόγω της βαρύτητας ο βραχίονας θα πέσει πίσω προς τα κάτω. Η ρύθμιση τόσο του βραχίονα όσο και του νύχιου στη θέση «κρατήματος» θα διασφαλίσει ότι τόσο ο βραχίονας όσο και το νύχι θα παραμείνουν στη θέση τους ακόμα και μετά την απελευθέρωση των κουμπιών στο χειριστήριο. {Όταν ο άξονας του ελεγκτή} Τα μπλοκ συμβάντων χρησιμοποιούνται για την ενεργοποίηση ορισμένων συμπεριφορών όταν ένας από τους τέσσερις άξονες του ελεγκτή αλλάζει χρησιμοποιώντας τα joystick. Τα μπλοκ [Ορισμός ταχύτητας κινητήρα] χρησιμοποιούνται για να ορίσουν την ταχύτητα του κινητήρα στην τρέχουσα θέση του Ελεγκτή κατά μήκος των αξόνων A και D. Αυτό ισοδυναμεί με το να θέσετε ένα αυτοκίνητο σε λειτουργία. Αυτό δεν κάνει απαραίτητα το αυτοκίνητο να κινείται, απλώς το ρυθμίζει. Κάθε άξονας του joystick επιστρέφει μια τιμή μεταξύ -100 και +100 και επιστρέφει μια τιμή μηδέν όταν είναι κεντραρισμένος. Αυτό σημαίνει ότι οι άξονες του joystick, όταν πιέζονται, ισοδυναμούν με -100% έως 100%. Όσο πιο κοντά στα 100 ή -100 ωθούνται οι άξονες, τόσο πιο γρήγορα θα περιστρέφεται ο κινητήρας. Το μπλοκ [Spin] χρησιμοποιείται στη συνέχεια για την πραγματική κίνηση του κινητήρα. Αυτό ισοδυναμεί με το πάτημα του γκαζιού στο αυτοκίνητο μόλις οριστεί η κατεύθυνση. Αυτό επιτρέπει τον έλεγχο κάθε κινητήρα από έναν από τους τέσσερις άξονες του ελεγκτή. |
|
|
Για αυτό το παράδειγμα κώδικα χρησιμοποιήθηκε ένα Clawbot. Όταν τα κουμπιά στο χειριστήριο χρησιμοποιούνται για την ανύψωση και το κατέβασμα του βραχίονα, μόλις αφήσετε το κουμπί, λόγω της βαρύτητας ο βραχίονας θα πέσει πίσω προς τα κάτω. Η ρύθμιση τόσο του βραχίονα όσο και του νύχιου στη θέση «κρατήματος» θα διασφαλίσει ότι τόσο ο βραχίονας όσο και το νύχι θα παραμείνουν στη θέση τους ακόμα και μετά την απελευθέρωση των κουμπιών στο χειριστήριο. {Άξονας ελεγκτή κατά την ενεργοποίηση} Τα μπλοκ συμβάντων χρησιμοποιούνται για την αντιστοίχιση ορισμένων συμπεριφορών σε κουμπιά που πατιούνται ή απελευθερώνονται στον ελεγκτή. Σε αυτήν την ενότητα κώδικα, οι συνθήκες που ορίζονται είναι εάν πατηθούν τα κουμπιά Πάνω ή Κάτω. Αν ναι, θα εμφανιστούν ορισμένες συμπεριφορές, όπως το σήκωμα, το κατέβασμα ή το σταμάτημα του χεριού. Σημειώστε ότι η τελευταία ενότητα κώδικα στο έργο για το Claw ακολουθεί την ίδια εξήγηση. |
Σύνοψη της Επιλογής 3: Χρήση Συμβάντων
| Φόντα | Περιορισμοί | Παράδειγμα Κατάστασης |
|---|---|---|
|
|
|