Gyro Sensor#
Introduction#
The gyro class is used to measure the robot’s heading and rotational movement, allowing tracking of orientation over time.
Class Constructor#
gyro(
triport::port &port);
Class Destructor#
Destroys the gyro object and releases associated resources.
virtual ~gyro();
Parameters#
Parameter |
Type |
Description |
|---|---|---|
|
|
The 3-Wire Port that the Gyro Sensor is connected to, written as |
Example#
// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
Member Functions#
The gyro class includes the following member functions:
calibrate— Calibrates the gyro for stable heading tracking.setHeading— Sets the heading of the gyro.setRotation— Sets the current rotation value of the gyro.heading— Returns the heading of the gyro.rotation— Returns the rotation of the gyro.
Before calling any gyro member functions, a gyro instance must be created, as shown below:
/* 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#
Calibrates the Gyro Sensor.
Available Functionsvoid calibrate();
This function does not accept any parameters.
Return ValuesThis function does not return a value.
Notescalibrateshould only be called when the sensor is not moving.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
Sets the heading of the Gyro Sensor to a specific value.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Parameters |
Type |
Description |
|---|---|---|
|
|
The value to use for the new heading. |
|
|
The unit that represents the heading:
|
This function does not return a value.
setRotation#
Sets the rotation of the Gyro Sensor to a specific value.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Parameters |
Type |
Description |
|---|---|---|
|
|
The value to use for the new rotation value. |
|
|
The unit that represents the rotation value:
|
This function does not return a value.
heading#
Returns the current heading of the Gyro Sensor.
Available Functionsdouble heading(
rotationUnits units = degrees );
| Parameter | Type | Description |
| :—————-: | :————————————– |
| units | rotationUnits | The unit that represents the heading:
degrees(default)turns
- |
Return Values
Returns a double representing the current heading of the Gyro Sensor in the specified units, defaulting to degrees.
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
Returns the current rotation of the Gyro Sensor.
Available Functionsdouble rotation(
rotationUnits units = degrees );
| Parameter | Type | Description |
| :—————-: | :————————————– |
| units | rotationUnits | The unit that represents the rotation value:
degrees(default)turns
- |
Return Values
Returns a double representing the current rotation value of the Gyro Sensor in the specified units, defaulting to degrees.
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);