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

Εισαγωγή#

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

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

gyro(
  triport::port &port);

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

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

virtual ~gyro();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

port

triport::port &

Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο γυροσκοπικός αισθητήρας, γραμμένη ως Brain.ThreeWirePort.X ή ExpanderName.X, όπου X είναι το γράμμα της θύρας (για παράδειγμα, Brain.ThreeWirePort.A ή Expander1.A).

Παράδειγμα#

// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

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

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

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

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

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

  • heading — Επιστρέφει την επικεφαλίδα του γυροσκοπίου.

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

Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους 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 A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

calibrate#

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

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Παράμετροι

Τύπος

Περιγραφή

value

int32_t

Ο χρόνος σε δευτερόλεπτα που απαιτείται για τη βαθμονόμηση. Η προεπιλογή είναι 0.

Return Values

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

Notes
  • Η βαθμονόμηση calibrate θα πρέπει να καλείται μόνο όταν ο αισθητήρας δεν κινείται.

Examples
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);

setHeading#

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

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

Παράμετροι

Τύπος

Περιγραφή

value

double

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

units

rotationUnits

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

  • degrees
  • turns
Return Values

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

setRotation#

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

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

Parameters

Παράμετροι

Τύπος

Περιγραφή

value

double

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

units

rotationUnits

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

  • degrees
  • turns
Return Values

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

heading#

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

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 = GyroA.heading();
Brain.Screen.print(value);

rotation#

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

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 = GyroA.rotation();
Brain.Screen.print(value);