Sensor de rotación#

Introducción#

La clase rotation se utiliza para controlar y acceder a los datos de un sensor de rotación EXP.

El Sensor de rotación mide la rotación de un eje. Se puede usar en cualquier lugar de un robot donde un eje esté girando, incluso si ese eje no está conectado directamente a un motor.

Un motor tiene un codificador incorporado que puede rastrear su propia rotación. El sensor de rotación funciona como un codificador externo que puede rastrear la rotación de un eje separado.

El sensor de rotación puede devolver el ángulo, la posición y la velocidad del eje. El ángulo es la posición absoluta del eje de 0 a 359,99 grados. No se restablece cuando se inicia un proyecto o cuando el robot está apagado. La posición rastrea cuántos grados o giros ha girado el eje hacia adelante o hacia atrás durante un proyecto, y se puede restablecer según sea necesario.

El sensor de rotación es compatible con ejes VEX estándar de 1/8 de pulgada y 1/4 de pulgada.

Constructores de clase#

rotation(
    int32_t index,
    bool    reverse = false );

Destructor de clase#

Destruye el objeto con rotación rotation , y libera los recursos asociados.

virtual ~rotation();

Parámetros#

Parámetro

Tipo

Descripción

index

int32_t

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

reverse

bool

Opcional. Si invertir la salida del sensor de rotación:

  • true — invierte la dirección de los valores de ángulo y posición informados.
  • false (predeterminado) — Informa los valores de ángulo y posición en la dirección estándar.

Ejemplos#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

Funciones de los miembros#

La clase rotation incluye las siguientes funciones miembro:

  • setPosition — Establece la posición actual del sensor de rotación en un valor específico.

  • angle — Devuelve el ángulo actual del eje de 0 a 359,99 grados.

  • position — Devuelve cuánto ha girado el eje en grados o giros.

  • velocity: devuelve la velocidad a la que gira el eje.

Antes de llamar a rotation miembro de rotation instancia de rotación, como se muestra a continuación:

/* This constructor is required when using VS Code.
Rotation Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Establece la posición actual del sensor de rotación en un valor específico.

La posición es cuánto ha girado el eje durante un proyecto. La configuración de la posición cambia el valor de la posición actual sin mover el eje.

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

Parameters

Parámetro

Tipo

Descripción

value

double

El valor de posición a asignar al sensor de rotación. Esto puede ser un número entero o un decimal.

units

rotationUnits

La unidad de posición:

  • deg / degrees — grados
  • turns / rev — giros

Return Values

Esta función no devuelve un valor.

angle#

Devuelve el ángulo actual del eje.

Angle informa de la posición absoluta del eje en una rotación, de 0 a 359,99 grados. No se restablece cuando se inicia un proyecto o cuando el robot está apagado.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Parámetro

Tipo

Descripción

units

rotationUnits

Opcional. La unidad de ángulo:

  • deg / degrees (predeterminado) — grados
  • turns / rev — giros

Return Values

Devuelve un double que representa el ángulo actual del eje en las unidades especificadas.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Devuelve cuánto ha girado el eje.

A diferencia del ángulo, la posición puede aumentar más de 359,99 grados o disminuir por debajo de 0 grados. La posición rastrea cuánto gira el eje hacia adelante o hacia atrás durante un proyecto y se puede restablecer según sea necesario.

Available Functions
double position( rotationUnits units );

Parameters

Parámetro

Tipo

Descripción

units

rotationUnits

La unidad de posición:

  • deg / degrees — grados
  • turns / rev — giros

Return Values

Devuelve un double que representa cuánto ha girado el eje en las unidades especificadas.

velocity#

Devuelve la velocidad a la que gira el eje.

Available Functions
double velocity( velocityUnits units );

Parameters

Parámetro

Tipo

Descripción

units

velocityUnits

La unidad de velocidad:

  • rpm — revoluciones por minuto
  • dps — grados por segundo

Return Values

Devuelve un double que representa la velocidad de rotación del eje en las unidades especificadas.