Sensor giroscópico#

Introducción#

La clase gyro se utiliza con un sensor giroscópico para medir el movimiento de rotación alrededor de un solo eje. Puede rastrear hacia dónde apunta el robot y cuánto ha girado.

Constructor de clases#

gyro(
    int32_t index );

Destructor de clase#

Destruye el objeto giroscópico gyro y libera los recursos asociados.

virtual ~gyro();

Parámetros#

Parámetro

Tipo

Descripción

index

int32_t

El puerto inteligente al que está conectado el sensor giroscópico, escrito como PORTx, donde x es el número de puerto (por ejemplo, PORT1).

Ejemplo#

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

Funciones de los miembros#

La clase gyro incluye las siguientes funciones miembro:

  • calibrate — Calibra el sensor giroscópico.

  • setHeading — Establece el rumbo actual del sensor giroscópico en un nuevo valor de rumbo.

  • setRotation — Establece la rotación actual del sensor giroscópico en un nuevo valor de rotación.

  • heading — Devuelve la dirección en la que mira el sensor giroscópico.

  • rotation — Devuelve hasta dónde ha girado el sensor giroscópico.

  • rate — Devuelve la velocidad de rotación del sensor giroscópico.

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 1
gyro Gyro1 = gyro(PORT1);

calibrate#

Calibra el sensor giroscópico.

Available Functions
void calibrate();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Esta función no devuelve un valor.

Notes
  • La calibración ayuda al sensor giroscópico a medir correctamente los giros. Mantenga el sensor quieto durante la calibración. Si el sensor se mueve durante la calibración, es posible que los valores de rumbo, rotación y velocidad no midan los giros correctamente.

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

Establece el rumbo actual del sensor giroscópico en un valor específico.

Un rumbo es la dirección hacia la que mira el sensor giroscópico, medida de 0 a 359,99 grados. La configuración del rumbo cambia la referencia de la dirección actual del sensor.

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 actual del sensor giroscópico en un valor específico.

La rotación es cuánto ha girado el sensor giroscópico. A diferencia del rumbo, la rotación puede aumentar más de 359,99 grados o disminuir por debajo de 0 grados.

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.

Un rumbo es la dirección hacia la que mira el sensor giroscópico, medida de 0 a 359,99 grados. Si el sensor gira más de 359,99 grados, el rumbo vuelve a 0 grados.

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

rotation#

Devuelve la rotación actual del sensor giroscópico.

La rotación es cuánto ha girado el sensor giroscópico. A diferencia del rumbo, la rotación puede aumentar más de 359,99 grados o disminuir por debajo de 0 grados. Por ejemplo, hacer dos giros completos a la derecha devuelve una rotación de 720 grados. Girar una vuelta completa a la izquierda desde 0 grados devuelve una rotación de -360 grados.

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

rate#

Devuelve la velocidad de giro del sensor giroscópico.

La velocidad de giro es la velocidad a la que gira el sensor giroscópico. El valor puede ser positivo o negativo dependiendo de la dirección en la que gire el sensor.

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

Parámetro

Tipo

Descripción

units

rateUnits

La unidad que representa la velocidad:

  • rateUnits::dps (predeterminado) — grados por segundo
  • rateUnits::rpm — rotaciones por minuto

Return Values

Devuelve un double que representa la tasa de cambio actual del sensor giroscópico en las unidades especificadas, por defecto a rateUnits::dps.