Codificador#

Introducción#

La clase encoder se utiliza con el Optical Shaft Encoder, que mide la posición de rotación y la velocidad de un eje. Utiliza sensores ópticos internos para detectar qué tan lejos y qué tan rápido gira el eje, lo que lo hace útil para rastrear la rotación de la rueda, la posición del brazo u otros mecanismos.

El codificador de eje óptico VEX.

Constructor de clases#

encoder(
  triport::port &port );

Destructor de clase#

Destruye el objeto encoder y libera los recursos asociados.

virtual ~encoder();

Parámetros#

Parámetro

Tipo

Descripción

port

triport::port &

El primer puerto de 3 hilos de un grupo de dos puertos requerido utilizado por el codificador de eje óptico. El codificador ocupa dos puertos adyacentes (A–B, C–D, E–F o G–H) en el cerebro o en un expansor de 3 hilos. Especifique el primer puerto del par (A, C, E o G), escrito como Brain.ThreeWirePort.X Brain.ThreeWirePort.X o ExpanderName.X ExpanderName.X donde X es la letra del puerto (por ejemplo, Brain.ThreeWirePort.A o Expander1.C).

Ejemplos#

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

Funciones de los miembros#

La clase encoder incluye las siguientes funciones miembro:

  • setPosition — Establece la posición actual del codificador en un valor especificado.

  • position — Devuelve cuánto ha girado el codificador.

  • velocity — Devuelve la velocidad de rotación actual del codificador.

Before calling any encoder member functions, a encoder instance must be created, as shown below:

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

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

setPosition#

Establece la posición actual del codificador en un valor especificado. Esto se puede utilizar para establecer manualmente la posición de seguimiento sin girar un motor u otro mecanismo.

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

Parameters

Parámetros

Tipo

Descripción

value

double

La posición de rotación a ajustar.

units

rotationUnits

La unidad que representa la posición:

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

Return Values

Esta función no devuelve un valor.

position#

Devuelve cuánto ha girado el eje conectado al codificador.

Available Functions
double position(
  rotationUnits units );

Parameters

Parámetros

Tipo

Descripción

units

rotationUnits

La unidad que representa la posición:

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

Return Values

Devuelve un double que representa la rotación en las unidades especificadas.

velocity#

Devuelve la velocidad de rotación del codificador.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parámetros

Tipo

Descripción

units

velocityUnits

La unidad utilizada para representar la velocidad:

  • percent / pct — porcentaje de
  • rpm — rotaciones por minuto
  • dps — grados por segundo

Return Values

Devuelve un double que representa la velocidad en las unidades especificadas.