Κωδικός προσαρμοσμένου ελεγκτή στο VEXcode EXP

Η χρήση του χειριστηρίου μπορεί να διευκολύνει την οδήγηση και την κίνηση του ρομπότ σας για την ολοκλήρωση μιας εργασίας. Ωστόσο, υπάρχουν περιορισμοί στη χρήση του προγράμματος Drive και, ανάλογα με την κατασκευή του ρομπότ σας ή την εργασία που έχετε, ενδέχεται να θέλετε διαφορετικά χειριστήρια. Ο κωδικοποιητής του ελεγκτή σάς επιτρέπει να τον βελτιστοποιήσετε ώστε να ταιριάζει καλύτερα στο ρομπότ σας και στην εργασία που εκτελείτε. Υπάρχουν διάφοροι τρόποι για να κωδικοποιήσετε τον ελεγκτή στο VEXcode EXP. Κάθε μέθοδος έχει τα πλεονεκτήματα και τους περιορισμούς της, και ορισμένες είναι πιο κατάλληλες για συγκεκριμένες περιπτώσεις, ανάλογα με το επιθυμητό αποτέλεσμα.

Αυτό το άρθρο θα σας καθοδηγήσει σε τρεις διαφορετικές επιλογές για την προσαρμοσμένη κωδικοποίηση του Controller στο VEXcode EXP. Κάθε μέθοδος θα περιγραφεί με τα πλεονεκτήματα, τους περιορισμούς της και ένα παράδειγμα περίπτωσης χρήσης για να σας βοηθήσει στην επιλογή μιας μεθόδου. Για τους σκοπούς αυτού του άρθρου, όλα τα παραδείγματα κώδικα που εμφανίζονται δημιουργήθηκαν για το Clawbot. Ωστόσο, οι ίδιες έννοιες θα μπορούσαν να εφαρμοστούν σε πολλές άλλες εκδόσεις που βρίσκονται στο builds.vex.com, καθώς και σε προσαρμοσμένες εκδόσεις.

Επιλογή 1: Αντιστοίχιση κουμπιών στη διαμόρφωση συσκευής

Αυτή η επιλογή είναι εξαιρετική όταν χρησιμοποιείτε μια τυπική έκδοση, όπως ένα BaseBot ή ένα Clawbot, και θέλετε να ξεκινήσετε γρήγορα.

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

Μενού Συσκευών VEXcode EXP με τις επιλογές Ελεγκτή που εμφανίζονται. Το διάγραμμα των κουμπιών ελέγχου δείχνει ότι τα δύο joystick κινούν το ρομπότ σε διαμόρφωση κίνησης με τανκ. Τα κουμπιά Πάνω και Κάτω ελέγχουν μια Ομάδα Κινητήρων Arm, και τα κουμπιά του άξονα R ελέγχουν έναν Κινητήρα Claw.

Σύνοψη της Επιλογής 1: Αντιστοίχιση Κουμπιών στη Διαμόρφωση Συσκευής

Φόντα

Περιορισμοί

Παράδειγμα Κατάστασης

  • Γρήγορη εγκατάσταση χωρίς να απαιτείται κωδικοποίηση
  • Απλούστερη μέθοδος
  • Εύκολα ρυθμιζόμενο
  • Μπορεί να αντιστοιχίσει μεμονωμένους κινητήρες, ένα τυπικό σύστημα μετάδοσης κίνησης και ομάδες κινητήρων σε κουμπιά
  • Οι αντιστοιχίσεις κουμπιών περιορίζονται στον αριθμό των κουμπιών στο χειριστήριο
  • Το σύστημα μετάδοσης κίνησης δεν μπορεί να υπερβαίνει τους 4 κινητήρες ή να είναι προσαρμοσμένο (υποστηρίζεται μόνο ένας τυπικός κινητήρας, όχι ένας κινητήρας H, ολονομικός ή άλλος προσαρμοσμένος κινητήρας)
  • Χειρισμός μιας τυπικής έκδοσης όπως ένα BaseBot, ένα Clawbot ή μια απλή τροποποίηση αυτών των τυπικών κατασκευών. Για παράδειγμα, ένα BaseBot με εισαγωγή αέρα προσαρτημένη στο μπροστινό μέρος που ελέγχεται από μια ομάδα κινητήρων.
  • Χειρισμός των κουμπιών που αντιστοιχούν σε διαφορετικές συμπεριφορές στο ρομπότ γρήγορα χωρίς πολλή κωδικοποίηση

Επιλογή 2: Χρήση ενός Forever Loop

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

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

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

Χώρος εργασίας VEXcode EXP με ανοιχτό το έργο μπλοκ Option 2. Το έργο έχει μια στοίβα από μπλοκ και έχει διαμορφωμένες συσκευές. Το μενού Συσκευές ανοίγει στο πλάι και παραθέτει τις ακόλουθες συσκευές: ArmMotor στη θύρα 3, ClawMotor στη θύρα 4, Controller, LeftMotor στη θύρα 6 και RightMotor στη θύρα 10. Τέλος, υπάρχει η στοίβα μπλοκ για τη διαχείριση της εισόδου του ελεγκτή. Η στοίβα αναγράφει "Κατά την εκκίνηση, ορίστε τη διακοπή του ArmMotor σε κατάσταση διατήρησης" και ορίστε τη διακοπή του ClawMotor σε κατάσταση διατήρησης. Το υπόλοιπο της στοίβας περιέχεται σε έναν βρόχο Forever. Διαβάζει την ένδειξη "Για πάντα", ορίζει την ταχύτητα του LeftMotor σε θέση % του Ελεγκτή 3, περιστρέφει τον LeftMotor προς τα εμπρός, ορίζει την ταχύτητα του RightMotor σε θέση % του Ελεγκτή 2 και περιστρέφει τον RightMotor προς τα εμπρός. Στη συνέχεια, εάν πατηθεί ο Επάνω Ρυθμιστής, περιστρέψτε τον Βραχίονα προς τα πάνω, διαφορετικά, εάν πατηθεί ο Επάνω Ρυθμιστής E, περιστρέψτε τον Βραχίονα προς τα κάτω, διαφορετικά σταματήστε τον Βραχίονα. Τέλος, εάν πατηθεί ο Ελεγκτής A, τότε περιστρέψτε τον ClawMotor για να ανοίξει, διαφορετικά εάν πατηθεί ο Ελεγκτής B, τότε περιστρέψτε τον ClawMotor για να κλείσει και διαφορετικά σταματήστε τον ClawMotor.

Λήψη του αρχείου έργου VEXcode EXP "Επιλογή 2" >

Επεξήγηση του Κώδικα Επιλογής 2.

Κώδικας

Εξήγηση

Κοντινό πλάνο της στοίβας μπλοκ στο έργο Option 2 VEXcode EXP. Δύο μπλοκ είναι επισημασμένα και βρίσκονται εκτός του βρόχου Forever της στοίβας, διαβάζουν set ArmMotor stopping to hold και set ClawMotor stopping to hold.

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

Κοντινό πλάνο της στοίβας μπλοκ στο έργο Option 2 VEXcode EXP. Τέσσερα μπλοκ επισημαίνονται μέσα στον βρόχο Forever της στοίβας. Διαβάζουν την τιμή Forever, ορίζουν την ταχύτητα του LeftMotor σε θέση % του Ελεγκτή 3, περιστρέφουν τον LeftMotor προς τα εμπρός, ορίζουν την ταχύτητα του RightMotor σε θέση % του Ελεγκτή 2 και περιστρέφουν τον RightMotor προς τα εμπρός. Διάγραμμα του χειριστηρίου EXP με τα κουμπιά και τα joystick του να αναγράφονται. Η θέα είναι από το μπροστινό μέρος του χειριστηρίου. Οι άξονες του αριστερού joystick φέρουν την ένδειξη 3 και 4. Το κεντρικό κουμπί του αριστερού joystick φέρει την ένδειξη L3. Τα δύο στρογγυλά κουμπιά κάτω από το αριστερό joystick φέρουν την ένδειξη Πάνω και Κάτω. Οι άξονες του δεξιού joystick φέρουν την ένδειξη 1 και 2. Το κεντρικό κουμπί του δεξιού joystick φέρει την ένδειξη R3. Τα δύο στρογγυλά κουμπιά κάτω από το δεξί joystick φέρουν τις ετικέτες A και B.

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

Ένας βρόχος Forever χρησιμοποιείται για να ελέγχεται συνεχώς ποια κουμπιά πατιούνται στο χειριστήριο.

Τα μπλοκ [Ορισμός ταχύτητας κινητήρα] χρησιμοποιούνται για να ορίσουν την ταχύτητα του κινητήρα στην τρέχουσα θέση του Ελεγκτή κατά μήκος των αξόνων 2 και 3. Αυτό ισοδυναμεί με το να θέσετε ένα αυτοκίνητο σε λειτουργία. Αυτό δεν κάνει απαραίτητα το αυτοκίνητο να κινείται, απλώς το ρυθμίζει.

Κάθε άξονας του joystick επιστρέφει μια τιμή μεταξύ -100 και +100 και επιστρέφει μια τιμή μηδέν όταν είναι κεντραρισμένος. Αυτό σημαίνει ότι οι άξονες του joystick, όταν πιέζονται, ισοδυναμούν με -100% έως 100%. Όσο πιο κοντά στα 100 ή -100 ωθούνται οι άξονες, τόσο πιο γρήγορα θα περιστρέφεται ο κινητήρας.

Το μπλοκ [Spin] χρησιμοποιείται στη συνέχεια για την πραγματική κίνηση του κινητήρα. Αυτό ισοδυναμεί με το πάτημα του γκαζιού στο αυτοκίνητο μόλις οριστεί η κατεύθυνση. Αυτό επιτρέπει τον έλεγχο κάθε κινητήρα από έναν από τους τέσσερις άξονες του ελεγκτή.

Κοντινό πλάνο της στοίβας μπλοκ στο έργο Option 2 VEXcode EXP. Ένα μπλοκ if, else if, else επισημαίνεται μέσα στον βρόχο Forever της στοίβας. Διαβάζει εάν πατηθεί ο Controller Up και περιστραφεί ο ArmMotor προς τα πάνω, διαφορετικά εάν πατηθεί ο Controller Down, περιστραφεί ο ArmMotor προς τα κάτω και διαφορετικά σταματά ο ArmMotor.

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

Το μπλοκ [If then else if then else] χρησιμοποιείται για την αντιστοίχιση ορισμένων συμπεριφορών σε κουμπιά που πατιούνται ή απελευθερώνονται στον ελεγκτή. Σε αυτήν την ενότητα κώδικα, οι συνθήκες που ορίζονται είναι εάν πατηθούν τα κουμπιά Πάνω ή Κάτω. Αν ναι, θα εμφανιστούν ορισμένες συμπεριφορές, όπως το σήκωμα και το κατέβασμα του χεριού. Υπάρχει επίσης το τμήμα "αλλιώς" της συνθήκης, όπου εάν δεν πατηθεί κανένα κουμπί, ο βραχίονας έχει ρυθμιστεί να σταματά να κινείται.

Σημειώστε ότι η ακόλουθη ενότητα κώδικα στο έργο για το Claw ακολουθεί την ίδια εξήγηση.

Σύνοψη της Επιλογής 2: Χρήση ενός Αέναου Βρόχου

Φόντα

Περιορισμοί

Παράδειγμα Κατάστασης

  • Μπορεί να φιλοξενήσει προσαρμοσμένες κατασκευές, ειδικά συστήματα μετάδοσης κίνησης με περισσότερους από 4 κινητήρες
  • Μπορεί να αντιστοιχίσει πολλαπλές συμπεριφορές σε ένα μόνο κουμπί
  • Μπορεί να αντιστοιχίσει συμπεριφορές σε διαφορετικούς άξονες στον Ελεγκτή (σε αντίθεση με τις μόνες επιλογές Left Arcade, Right Arcade, Split Arcade και Tank Drive στη Διαμόρφωση Συσκευής)
  • Απαιτεί κάποια γνώση κωδικοποίησης (συνθήκες, βρόχοι και γνώση των κουμπιών/joystick στο χειριστήριο)
  • Πιθανότητα για πιο αργή εκτέλεση του έργου ή καθυστέρηση στον χρόνο απόκρισης των κουμπιών. Δεδομένου ότι όλες οι εντολές περιέχονται σε έναν μόνο βρόχο Forever, η εκτέλεση του κώδικα θα μπορούσε να εκτελεστεί αργά ανάλογα με τις συνθήκες που έχουν οριστεί και το μήκος του κώδικα.
  • Χρήση του Ελεγκτή με ένα ειδικά κατασκευασμένο ρομπότ, ειδικά με ένα μη τυποποιημένο σύστημα μετάδοσης κίνησης
  • Όταν θέλετε να αντιστοιχίσετε πολλαπλές συμπεριφορές σε ένα μόνο κουμπί. Για παράδειγμα, όταν πατηθεί το κουμπί "Επάνω", το νύχι μπορεί να ανοίξει, να κινηθεί προς τα εμπρός και στη συνέχεια να κλείσει γύρω από ένα αντικείμενο.

Επιλογή 3: Χρήση συμβάντων

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

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

Χώρος εργασίας VEXcode EXP με ανοιχτό το έργο μπλοκ Option 3. Το έργο έχει 11 μικρές στοίβες από μπλοκ και έχει διαμορφωμένες συσκευές. Το μενού Συσκευές ανοίγει στο πλάι και παραθέτει τις ακόλουθες συσκευές: ArmMotor στη θύρα 3, ClawMotor στη θύρα 4, Controller, LeftMotor στη θύρα 6 και RightMotor στη θύρα 10. Τέλος, υπάρχουν οι 11 μικρές στοίβες μπλοκ που χειρίζονται την είσοδο του Ελεγκτή. Η πρώτη στοίβα αναφέρει Όταν ξεκινήσει, ορίστε τη διακοπή του ArmMotor σε hold (κράτημα του ArmMotor) και, στη συνέχεια, ορίστε τη διακοπή του ClawMotor σε hold (κράτημα του ClawMotor). Η δεύτερη στοίβα αναφέρει: Όταν αλλάξει ο άξονας 3 του ελεγκτή, ορίστε την ταχύτητα του LeftMotor σε θέση % του ελεγκτή 3 και, στη συνέχεια, περιστρέψτε τον LeftMotor προς τα εμπρός. Η τρίτη στοίβα αναφέρει: Όταν αλλάξει ο άξονας 2 του ελεγκτή, ορίστε την ταχύτητα του δεξιού κινητήρα σε θέση % του ελεγκτή 2 και, στη συνέχεια, περιστρέψτε τον δεξιό κινητήρα προς τα εμπρός. Η τέταρτη στοίβα αναφέρει: Όταν πατηθεί το κουμπί του ελεγκτή προς τα πάνω, περιστρέψτε τον βραχίονα κινητήρα προς τα πάνω. Η πέμπτη στοίβα αναφέρει: Όταν απελευθερωθεί το κουμπί του ελεγκτή προς τα πάνω, σταματήστε τον βραχίονα-μοτέρ. Η έκτη στοίβα αναγράφει Όταν πατηθεί το κουμπί του ελεγκτή προς τα κάτω, περιστρέψτε τον βραχίονα κινητήρα προς τα κάτω. Η έβδομη στοίβα αναφέρει: Όταν απελευθερωθεί το κουμπί του ελεγκτή προς τα κάτω, σταματήστε τον βραχίονα κινητήρα. Η όγδοη στοίβα αναγράφει Όταν πατηθεί το κουμπί του ελεγκτή A, περιστρέψτε το ClawMotor για να ανοίξει. Η ένατη στοίβα αναφέρει: Όταν απελευθερωθεί το κουμπί του ελεγκτή A, σταματήστε το ClawMotor. Η δέκατη στοίβα αναγράφει Όταν πατηθεί το κουμπί του ελεγκτή Β, περιστρέψτε το ClawMotor κοντά. Η ενδέκατη και τελευταία στοίβα αναφέρει: Όταν απελευθερωθεί το κουμπί του ελεγκτή Β, σταματήστε το ClawMotor.

Λήψη του αρχείου έργου VEXcode EXP "Επιλογή 3" >

Επεξήγηση του Κώδικα Επιλογής 3.

Κώδικας

Εξήγηση

Κοντινό πλάνο μιας στοίβας μπλοκ στο έργο Option 3 VEXcode EXP. Η στοίβα αναφέρει Όταν ξεκινήσει, ορίστε τη διακοπή του ArmMotor σε κατάσταση διατήρησης και, στη συνέχεια, ορίστε τη διακοπή του ClawMotor σε κατάσταση διατήρησης.

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

Κοντινό πλάνο δύο στοίβων μπλοκ στο έργο Option 3 VEXcode EXP. Η πρώτη στοίβα αναφέρει: Όταν αλλάξει ο άξονας 3 του ελεγκτή, ορίστε την ταχύτητα του αριστερού κινητήρα σε θέση % του ελεγκτή 3 και, στη συνέχεια, περιστρέψτε τον αριστερό κινητήρα προς τα εμπρός. Η δεύτερη στοίβα αναφέρει: Όταν αλλάξει ο άξονας 2 του ελεγκτή, ορίστε την ταχύτητα του δεξιού κινητήρα σε θέση % του ελεγκτή 2 και, στη συνέχεια, περιστρέψτε τον δεξιό κινητήρα προς τα εμπρός. Διάγραμμα του χειριστηρίου EXP με τα κουμπιά και τα joystick του να αναγράφονται. Η θέα είναι από το μπροστινό μέρος του χειριστηρίου. Οι άξονες του αριστερού joystick φέρουν την ένδειξη 3 και 4. Το κεντρικό κουμπί του αριστερού joystick φέρει την ένδειξη L3. Τα δύο στρογγυλά κουμπιά κάτω από το αριστερό joystick φέρουν την ένδειξη Πάνω και Κάτω. Οι άξονες του δεξιού joystick φέρουν την ένδειξη 1 και 2. Το κεντρικό κουμπί του δεξιού joystick φέρει την ένδειξη R3. Τα δύο στρογγυλά κουμπιά κάτω από το δεξί joystick φέρουν τις ετικέτες A και B.

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

{Όταν ο άξονας του ελεγκτή} Τα μπλοκ συμβάντων χρησιμοποιούνται για την ενεργοποίηση ορισμένων συμπεριφορών όταν ένας από τους τέσσερις άξονες του ελεγκτή αλλάζει χρησιμοποιώντας τα joystick.

Τα μπλοκ [Ορισμός ταχύτητας κινητήρα] χρησιμοποιούνται για να ορίσουν την ταχύτητα του κινητήρα στην τρέχουσα θέση του Ελεγκτή κατά μήκος των αξόνων A και D. Αυτό ισοδυναμεί με το να θέσετε ένα αυτοκίνητο σε λειτουργία. Αυτό δεν κάνει απαραίτητα το αυτοκίνητο να κινείται, απλώς το ρυθμίζει.

Κάθε άξονας του joystick επιστρέφει μια τιμή μεταξύ -100 και +100 και επιστρέφει μια τιμή μηδέν όταν είναι κεντραρισμένος. Αυτό σημαίνει ότι οι άξονες του joystick, όταν πιέζονται, ισοδυναμούν με -100% έως 100%. Όσο πιο κοντά στα 100 ή -100 πιέζονται οι άξονες, τόσο πιο γρήγορα θα περιστρέφεται ο κινητήρας.

Το μπλοκ [Spin] χρησιμοποιείται στη συνέχεια για την πραγματική κίνηση του κινητήρα. Αυτό ισοδυναμεί με το πάτημα του γκαζιού στο αυτοκίνητο μόλις οριστεί η κατεύθυνση. Αυτό επιτρέπει σε κάθε κινητήρα να ελέγχεται από έναν από τους τέσσερις άξονες του ελεγκτή.

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

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

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

Σημειώστε ότι η τελευταία ενότητα κώδικα στο έργο για το Claw ακολουθεί την ίδια εξήγηση.

Σύνοψη της Επιλογής 3: Χρήση Συμβάντων

Φόντα

Περιορισμοί

Παράδειγμα Κατάστασης

  • Μπορεί να φιλοξενήσει προσαρμοσμένες κατασκευές, ειδικά συστήματα μετάδοσης κίνησης με περισσότερους από 4 κινητήρες
  • Μπορεί να αντιστοιχίσει πολλαπλές συμπεριφορές σε ένα μόνο κουμπί
  • Μπορεί να αντιστοιχίσει συμπεριφορές σε διαφορετικούς άξονες στον Ελεγκτή (σε αντίθεση με τις μόνες επιλογές Left Arcade, Right Arcade, Split Arcade και Tank Drive στη Διαμόρφωση Συσκευής)
  • Ταχύτερη εκτέλεση κώδικα και, κατά συνέπεια, ταχύτερη απόκριση κουμπιών (καθώς κάθε συνθήκη καλείται ξεχωριστά και δεν ενσωματώνεται σε μία μόνο στοίβα κώδικα)
  • Απαιτεί τις περισσότερες γνώσεις προγραμματισμού των επιλογών (συνθήκες, βρόχοι, συμβάντα και γνώση των κουμπιών/joystick στο χειριστήριο)
  • Χρήση του Ελεγκτή με ένα ειδικά κατασκευασμένο ρομπότ, ειδικά με ένα μη τυποποιημένο σύστημα μετάδοσης κίνησης
  • Όταν θέλετε να αντιστοιχίσετε πολλαπλές συμπεριφορές σε ένα μόνο κουμπί χωρίς καθυστέρηση. Για παράδειγμα, όταν πατηθεί το κουμπί "Επάνω", το νύχι μπορεί να ανοίξει, να κινηθεί προς τα εμπρός και στη συνέχεια να κλείσει γύρω από ένα αντικείμενο.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: