Κωδικοποιητής#

Εισαγωγή#

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

Ο κωδικοποιητής οπτικού άξονα VEX.

Κατασκευαστής κλάσης#

encoder(
  triport::port &port );

Καταστροφέας κλάσης#

Καταστρέφει το αντικείμενο κωδικοποιητή encoder και απελευθερώνει τους σχετικούς πόρους.

virtual ~encoder();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

port

triport::port &

Η πρώτη θύρα 3 καλωδίων μιας απαιτούμενης ομάδας δύο θυρών που χρησιμοποιείται από τον κωδικοποιητή οπτικού άξονα. Ο κωδικοποιητής καταλαμβάνει δύο γειτονικές θύρες (A–B, C–D, E–F ή G–H) είτε στον εγκέφαλο είτε σε έναν επεκτατή 3 καλωδίων. Καθορίστε την πρώτη θύρα στο ζεύγος (A, C, E ή G), γραμμένη ως Brain.ThreeWirePort.X ή ExpanderName.X όπου X είναι το γράμμα της θύρας (για παράδειγμα, Brain.ThreeWirePort.A ή Expander1.C).

Παραδείγματα#

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

Συναρτήσεις Μελών#

Η κλάση κωδικοποιητή encoder περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:

  • setPosition — Ορίζει την τρέχουσα θέση του κωδικοποιητή σε μια καθορισμένη τιμή.

  • position — Επιστρέφει την περιστροφή του κωδικοποιητή.

  • velocity — Επιστρέφει την τρέχουσα ταχύτητα περιστροφής του κωδικοποιητή.

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

/* This constructor is required when using VS Code.
Encoder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

setPosition#

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

Available Functions
void setPosition(
  double        value,
  rotationUnits units);

Parameters

Παράμετροι

Τύπος

Περιγραφή

value

double

Η περιστροφική θέση που θα οριστεί.

units

rotationUnits

Η μονάδα που αντιπροσωπεύει τη θέση:

  • deg / degrees — μοίρες
  • turns / rev — περιστροφές

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

position#

Επιστρέφει την περιστροφή του άξονα που είναι συνδεδεμένος στον κωδικοποιητή.

Available Functions
double position(
  rotationUnits units );

Parameters

Παράμετροι

Τύπος

Περιγραφή

units

rotationUnits

Η μονάδα που αντιπροσωπεύει τη θέση:

  • deg / degrees — μοίρες
  • turns / rev — περιστροφές

Return Values

Επιστρέφει ένα double που αντιπροσωπεύει την περιστροφή στις καθορισμένες μονάδες.

velocity#

Επιστρέφει την ταχύτητα περιστροφής του κωδικοποιητή.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Παράμετροι

Τύπος

Περιγραφή

units

velocityUnits

Η μονάδα που χρησιμοποιείται για την αναπαράσταση της ταχύτητας:

  • percent / pct — τοις εκατό
  • rpm — περιστροφές ανά λεπτό
  • dps — μοίρες ανά δευτερόλεπτο

Return Values

Επιστρέφει ένα double που αντιπροσωπεύει την ταχύτητα στις καθορισμένες μονάδες.