Codificador#

Introducción#

The encoder class is used with the Optical Shaft Encoder, which measures the rotational position and speed of a shaft. It uses internal optical sensors to detect how far and how fast the shaft turns, making it useful for tracking wheel rotation, arm position, or other mechanisms.

El codificador óptico de eje VEX.

Constructor de clases#

encoder(
  triport::port &port );

Instructor de clase#

Destroys the encoder object and releases associated resources.

virtual ~encoder();

Parámetros#

Parámetro

Tipo

Descripción

port

triport::port &

The first 3-Wire Port of a required two-port group used by the Optical Shaft Encoder. The encoder occupies two adjacent ports (A–B, C–D, E–F, or G–H) on either the Brain or a 3-Wire Expander. Specify the first port in the pair (A, C, E, or G), written as Brain.ThreeWirePort.X or ExpanderName.X where X is the port letter (for example, Brain.ThreeWirePort.A or Expander1.C).

Ejemplos#

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

Funciones de los miembros#

The encoder class includes the following member functions:

  • setPosition — Sets the encoder’s current position to a specified value.

  • position — Returns how far the encoder has rotated.

  • velocity — Returns the current rotational velocity of the encoder.

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 a un valor específico. Esto permite ajustar manualmente la posición de seguimiento sin necesidad de 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

The unit that represents the position:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Esta función no devuelve ningún valor.

position#

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

Available Functions
double position(
  rotationUnits units );

Parameters

Parámetros

Tipo

Descripción

units

rotationUnits

The unit that represents the position:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Returns a double representing the rotation in the specified units.

velocity#

Devuelve la velocidad de rotación del codificador.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parámetros

Tipo

Descripción

units

velocityUnits

The unit used to represent the velocity:

  • percent / pct — percent
  • rpm — rotations per minute
  • dps — degrees per second

Return Values

Returns a double representing the velocity in the specified units.