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

port

triport::port &

El puerto de 3 hilos al que está conectado el sensor giroscópico, escrito Brain.ThreeWirePort.X Brain.ThreeWirePort.X ExpanderName.X, donde X es la letra del puerto (por ejemplo, Brain.ThreeWirePort.A o Expander1.A).

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 Functions
void calibrate(
  int32_t value = 0 );

Parameters

Parámetros

Tipo

Descripción

value

int32_t

El tiempo en segundos que se tarda en calibrar. El valor predeterminado es 0.

Return Values

Esta función no devuelve un valor.

Notes
  • calibrate debe llamar cuando el sensor no se está moviendo.

Examples
// 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 Functions
void setHeading(
  double        value,
  rotationUnits units );

Parámetros

Tipo

Descripción

value

double

El valor a utilizar para el nuevo encabezado.

units

rotationUnits

La unidad que representa el encabezado:

  • degrees
  • turns
Return Values

Esta función no devuelve un valor.

setRotation#

Establece la rotación del sensor giroscópico en un valor específico.

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

Parameters

Parámetros

Tipo

Descripción

value

double

El valor a utilizar para el nuevo valor de rotación.

units

rotationUnits

La unidad que representa el valor de rotación:

  • degrees
  • turns
Return Values

Esta función no devuelve un valor.

heading#

Devuelve el encabezado actual del sensor giroscópico.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parámetro

Tipo

Descripción

units

rotationUnits

La unidad que representa el encabezado:

  • degrees (predeterminado)
  • turns
Return Values

Devuelve un double que representa el rumbo actual del sensor giroscópico en las unidades especificadas, por defecto en degrees.

Examples
// 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 Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parámetro

Tipo

Descripción

units

rotationUnits

La unidad que representa el valor de rotación:

  • degrees (predeterminado)
  • turns
Return Values

Devuelve un double que representa el valor de rotación actual del sensor giroscópico en las unidades especificadas, por defecto en degrees.

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