Αισθητήρας περιστροφής#
Εισαγωγή#
Η κλάση rotation χρησιμοποιείται για τον έλεγχο και την πρόσβαση σε δεδομένα από έναν αισθητήρα περιστροφής EXP.
Ο Αισθητήρας Περιστροφής μετρά την περιστροφή ενός άξονα. Μπορεί να χρησιμοποιηθεί οπουδήποτε σε ένα ρομπότ όπου περιστρέφεται ένας άξονας, ακόμα κι αν αυτός ο άξονας δεν είναι συνδεδεμένος απευθείας σε έναν κινητήρα.
Ένας κινητήρας διαθέτει ενσωματωμένο κωδικοποιητή που μπορεί να παρακολουθεί την περιστροφή του. Ο αισθητήρας περιστροφής λειτουργεί σαν εξωτερικός κωδικοποιητής που μπορεί να παρακολουθεί την περιστροφή ενός ξεχωριστού άξονα.
Ο αισθητήρας περιστροφής μπορεί να επιστρέψει τη γωνία, τη θέση και την ταχύτητα του άξονα. Η γωνία είναι η απόλυτη θέση του άξονα από 0 έως 359,99 μοίρες. Δεν επαναφέρεται όταν ξεκινά ένα έργο ή όταν το ρομπότ είναι απενεργοποιημένο. Η θέση παρακολουθεί πόσες μοίρες ή στροφές έχει περιστραφεί ο άξονας προς τα εμπρός ή προς τα πίσω κατά τη διάρκεια ενός έργου και μπορεί να επαναφερθεί ανάλογα με τις ανάγκες.
Ο αισθητήρας περιστροφής είναι συμβατός με τυπικούς άξονες VEX 1/8 ίντσας και 1/4 ίντσας.
Κατασκευαστές κλάσεων#
rotation(
int32_t index,
bool reverse = false );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο με περιστροφή rotation και απελευθερώνει τους σχετικούς πόρους.
virtual ~rotation();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η Έξυπνη Θύρα στην οποία είναι συνδεδεμένος ο Αισθητήρας Περιστροφής, γράφεται ως |
|
|
Προαιρετικό. Εάν θα αντιστραφεί η έξοδος του αισθητήρα περιστροφής:
|
Παραδείγματα#
// 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 Functionsvoid setPosition(
double value,
rotationUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η τιμή θέσης που θα αντιστοιχιστεί στον αισθητήρα περιστροφής. Μπορεί να είναι ακέραιος ή δεκαδικός αριθμός. |
|
|
Η μονάδα θέσης:
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
angle#
Επιστρέφει την τρέχουσα γωνία του άξονα.
Η γωνία αναφέρει την απόλυτη θέση του άξονα εντός μίας περιστροφής, από 0 έως 359,99 μοίρες. Δεν επαναφέρεται όταν ξεκινά ένα έργο ή όταν το ρομπότ απενεργοποιείται.
Available Functionsdouble angle( rotationUnits units = degrees );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Προαιρετικά. Η μονάδα γωνίας:
|
Επιστρέφει ένα double που αντιπροσωπεύει την τρέχουσα γωνία του άξονα στις καθορισμένες μονάδες.
// 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 Functionsdouble position( rotationUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα θέσης:
|
Επιστρέφει ένα double που αντιπροσωπεύει την περιστροφή του άξονα στις καθορισμένες μονάδες.
velocity#
Επιστρέφει την ταχύτητα περιστροφής του άξονα.
Available Functionsdouble velocity( velocityUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μονάδα ταχύτητας:
|
Επιστρέφει ένα double που αντιπροσωπεύει την ταχύτητα περιστροφής του άξονα στις καθορισμένες μονάδες.