Γυροσκοπικός αισθητήρας#

Εισαγωγή#

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

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

gyro(
    int32_t index );

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

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

virtual ~gyro();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

index

int32_t

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

Παράδειγμα#

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

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

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

  • calibrate — Βαθμονομεί τον γυροσκοπικό αισθητήρα.

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

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

  • heading — Επιστρέφει την κατεύθυνση προς την οποία είναι στραμμένος ο γυροσκοπικός αισθητήρας.

  • rotation — Επιστρέφει την περιστροφή του γυροσκοπικού αισθητήρα.

  • rate — Επιστρέφει την ταχύτητα περιστροφής του γυροσκοπικού αισθητήρα.

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

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

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

calibrate#

Βαθμονομεί τον γυροσκοπικό αισθητήρα.

Available Functions
void calibrate();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

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

Notes
  • Η βαθμονόμηση βοηθά τον γυροσκοπικό αισθητήρα να μετρά σωστά τις στροφές. Κρατήστε τον αισθητήρα ακίνητο κατά τη βαθμονόμηση. Εάν ο αισθητήρας κινηθεί κατά τη βαθμονόμηση, οι τιμές κατεύθυνσης, περιστροφής και ρυθμού ενδέχεται να μην μετρούν σωστά τις στροφές.

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

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

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

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

Παράμετροι

Τύπος

Περιγραφή

value

double

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

units

rotationUnits

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

  • degrees
  • turns

Return Values

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

setRotation#

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

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

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

Parameters

Παράμετροι

Τύπος

Περιγραφή

value

double

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

units

rotationUnits

Η μονάδα που αντιπροσωπεύει την τιμή περιστροφής:

  • degrees
  • turns

Return Values

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

heading#

Επιστρέφει την τρέχουσα κατεύθυνση του γυροσκοπικού αισθητήρα.

Μια κατεύθυνση είναι η κατεύθυνση προς την οποία είναι στραμμένος ο γυροσκοπικός αισθητήρας, μετρούμενη από 0 έως 359,99 μοίρες. Εάν ο αισθητήρας περιστραφεί πέρα ​​από τις 359,99 μοίρες, η κατεύθυνση επιστρέφει στις 0 μοίρες.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

rotationUnits

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

  • degrees (προεπιλογή)
  • turns

Return Values

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

Examples
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);

rotation#

Επιστρέφει την τρέχουσα περιστροφή του γυροσκοπικού αισθητήρα.

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

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

rotationUnits

Η μονάδα που αντιπροσωπεύει την τιμή περιστροφής:

  • degrees (προεπιλογή)
  • turns

Return Values

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

Examples
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);

rate#

Επιστρέφει τον ρυθμό περιστροφής του γυροσκοπικού αισθητήρα.

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

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

rateUnits

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

  • rateUnits::dps (προεπιλογή) — μοίρες ανά δευτερόλεπτο
  • rateUnits::rpm — περιστροφές ανά λεπτό

Return Values

Επιστρέφει μια τιμή double που αντιπροσωπεύει τον τρέχοντα ρυθμό αλλαγής του γυροσκοπικού αισθητήρα στις καθορισμένες μονάδες, με προεπιλογή rateUnits::dps.