Sensor giroscópico#
Introducción#
La clase gyro se utiliza para medir la dirección y el movimiento de rotación del robot, lo que permite realizar un seguimiento de la orientación a lo largo del tiempo.
Constructor de clases#
gyro(
triport::port &port);
Destructor de clase#
Destruye el objeto giroscópico gyro y libera los recursos asociados.
virtual ~gyro();
Parámetros#
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El puerto de 3 hilos al que está conectado el sensor giroscópico, escrito |
Ejemplo#
// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
Funciones de los miembros#
La clase gyro incluye las siguientes funciones miembro:
calibrate— Calibra el giroscopio para un seguimiento estable del rumbo.setHeading— Establece el encabezado del giroscopio.setRotation— Establece el valor de rotación actual del giroscopio.heading— Devuelve el encabezado del giroscopio.rotation— Devuelve la rotación del giroscopio.
Antes de llamar a gyro miembro de gyro instancia de giroscopio, como se muestra a continuación:
/* 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#
Calibra el sensor giroscópico.
Available Functionsvoid calibrate(
int32_t value = 0 );
Parámetros |
Tipo |
Descripción |
|---|---|---|
|
|
El tiempo en segundos que se tarda en calibrar. El valor predeterminado es |
Esta función no devuelve un valor.
Notescalibratedebe llamar cuando el sensor no se está moviendo.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
Establece el encabezado del sensor giroscópico en un valor específico.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Parámetros |
Tipo |
Descripción |
|---|---|---|
|
|
El valor a utilizar para el nuevo encabezado. |
|
|
La unidad que representa el encabezado:
|
Esta función no devuelve un valor.
setRotation#
Establece la rotación del sensor giroscópico en un valor específico.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Parámetros |
Tipo |
Descripción |
|---|---|---|
|
|
El valor a utilizar para el nuevo valor de rotación. |
|
|
La unidad que representa el valor de rotación:
|
Esta función no devuelve un valor.
heading#
Devuelve el encabezado actual del sensor giroscópico.
Available Functionsdouble heading(
rotationUnits units = degrees );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad que representa el encabezado:
|
Devuelve un double que representa el rumbo actual del sensor giroscópico en las unidades especificadas, por defecto en degrees.
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
Devuelve la rotación actual del sensor giroscópico.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La unidad que representa el valor de rotación:
|
Devuelve un double que representa el valor de rotación actual del sensor giroscópico en las unidades especificadas, por defecto en degrees.
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);