Αισθητήρας περιστροφής#

Εισαγωγή#

Η κλάση rotation χρησιμοποιείται για τον έλεγχο και την πρόσβαση σε δεδομένα από έναν αισθητήρα περιστροφής EXP.

Ο Αισθητήρας Περιστροφής μετρά την περιστροφή ενός άξονα. Μπορεί να χρησιμοποιηθεί οπουδήποτε σε ένα ρομπότ όπου περιστρέφεται ένας άξονας, ακόμα κι αν αυτός ο άξονας δεν είναι συνδεδεμένος απευθείας σε έναν κινητήρα.

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

Ο αισθητήρας περιστροφής μπορεί να επιστρέψει τη γωνία, τη θέση και την ταχύτητα του άξονα. Η γωνία είναι η απόλυτη θέση του άξονα από 0 έως 359,99 μοίρες. Δεν επαναφέρεται όταν ξεκινά ένα έργο ή όταν το ρομπότ είναι απενεργοποιημένο. Η θέση παρακολουθεί πόσες μοίρες ή στροφές έχει περιστραφεί ο άξονας προς τα εμπρός ή προς τα πίσω κατά τη διάρκεια ενός έργου και μπορεί να επαναφερθεί ανάλογα με τις ανάγκες.

Ο αισθητήρας περιστροφής είναι συμβατός με τυπικούς άξονες VEX 1/8 ίντσας και 1/4 ίντσας.

Κατασκευαστές κλάσεων#

rotation(
    int32_t index,
    bool    reverse = false );

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

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

virtual ~rotation();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

index

int32_t

Η Έξυπνη Θύρα στην οποία είναι συνδεδεμένος ο Αισθητήρας Περιστροφής, γράφεται ως PORTx, όπου x είναι ο αριθμός θύρας (για παράδειγμα, PORT1).

reverse

bool

Προαιρετικό. Εάν θα αντιστραφεί η έξοδος του αισθητήρα περιστροφής:

  • true — Αντιστρέφει την κατεύθυνση των αναφερόμενων τιμών γωνίας και θέσης.
  • false (προεπιλογή) — Αναφέρει τις τιμές γωνίας και θέσης στην τυπική κατεύθυνση.

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

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

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

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

  • angle — Επιστρέφει την τρέχουσα γωνία του άξονα από 0 έως 359,99 μοίρες.

  • position — Επιστρέφει την περιστροφή του άξονα σε μοίρες ή στροφές.

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

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

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Ορίζει την τρέχουσα θέση του αισθητήρα περιστροφής σε μια συγκεκριμένη τιμή.

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

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

value

double

Η τιμή θέσης που θα αντιστοιχιστεί στον αισθητήρα περιστροφής. Μπορεί να είναι ακέραιος ή δεκαδικός αριθμός.

units

rotationUnits

Η μονάδα θέσης:

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

Return Values

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

angle#

Επιστρέφει την τρέχουσα γωνία του άξονα.

Η γωνία αναφέρει την απόλυτη θέση του άξονα εντός μίας περιστροφής, από 0 έως 359,99 μοίρες. Δεν επαναφέρεται όταν ξεκινά ένα έργο ή όταν το ρομπότ απενεργοποιείται.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

rotationUnits

Προαιρετικά. Η μονάδα γωνίας:

  • deg / degrees (προεπιλογή) — μοίρες
  • turns / rev — στροφές

Return Values

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

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Επιστρέφει την περιστροφή του άξονα.

Σε αντίθεση με τη γωνία, η θέση μπορεί να αυξηθεί πέραν των 359,99 μοιρών ή να μειωθεί κάτω από τις 0 μοίρες. Η θέση παρακολουθεί πόσο μακριά περιστρέφεται ο άξονας προς τα εμπρός ή προς τα πίσω κατά τη διάρκεια ενός έργου και μπορεί να επαναφερθεί ανάλογα με τις ανάγκες.

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

Μονάδα ταχύτητας:

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

Return Values

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