Γυροσκοπικός αισθητήρας#
Εισαγωγή#
Η κλάση gyro χρησιμοποιείται για τη μέτρηση της κατεύθυνσης και της περιστροφικής κίνησης του ρομπότ, επιτρέποντας την παρακολούθηση του προσανατολισμού με την πάροδο του χρόνου.
Κατασκευαστής κλάσης#
gyro(
triport::port &port);
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο gyro και απελευθερώνει τους σχετικούς πόρους.
virtual ~gyro();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο γυροσκοπικός αισθητήρας, γραμμένη ως |
Παράδειγμα#
// 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 Functionsvoid calibrate(
int32_t value = 0 );
Παράμετροι |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο χρόνος σε δευτερόλεπτα που απαιτείται για τη βαθμονόμηση. Η προεπιλογή είναι |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΗ βαθμονόμηση
calibrateθα πρέπει να καλείται μόνο όταν ο αισθητήρας δεν κινείται.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
Ορίζει την κατεύθυνση του γυροσκοπικού αισθητήρα σε μια συγκεκριμένη τιμή.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Παράμετροι |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η τιμή που θα χρησιμοποιηθεί για τη νέα επικεφαλίδα. |
|
|
Η μονάδα που αντιπροσωπεύει την κατεύθυνση:
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
setRotation#
Ορίζει την περιστροφή του γυροσκοπικού αισθητήρα σε μια συγκεκριμένη τιμή.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Παράμετροι |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η τιμή που θα χρησιμοποιηθεί για τη νέα τιμή περιστροφής. |
|
|
Η μονάδα που αντιπροσωπεύει την τιμή περιστροφής:
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
heading#
Επιστρέφει την τρέχουσα κατεύθυνση του γυροσκοπικού αισθητήρα.
Available Functionsdouble heading(
rotationUnits units = degrees );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα που αντιπροσωπεύει την κατεύθυνση:
|
Επιστρέφει ένα double που αντιπροσωπεύει την τρέχουσα κατεύθυνση του γυροσκοπικού αισθητήρα στις καθορισμένες μονάδες, με προεπιλογή degrees.
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
Επιστρέφει την τρέχουσα περιστροφή του γυροσκοπικού αισθητήρα.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα που αντιπροσωπεύει την τιμή περιστροφής:
|
Επιστρέφει μια τιμή double που αντιπροσωπεύει την τρέχουσα τιμή περιστροφής του γυροσκοπικού αισθητήρα στις καθορισμένες μονάδες, με προεπιλογή degrees.
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);