Codificador#

Introdução#

O codificador encoder é utilizado com o codificador ótico de eixo, que mede a posição e a velocidade de rotação de um eixo. Utiliza sensores óticos internos para detetar o quanto e quão rápido o eixo gira, tornando-o útil para rastrear a rotação das rodas, a posição dos braços ou outros mecanismos.

O codificador óptico de eixo VEX.

Construtor de Classes#

encoder(
  triport::port &port );

Destrutor de classes#

Destrói o objeto codificador encoder e liberta os recursos associados.

virtual ~encoder();

Parâmetros#

Parâmetro

Tipo

Descrição

port

triport::port &

A primeira porta de 3 fios de um grupo de duas portas necessário utilizado pelo codificador óptico de eixo. O encoder ocupa duas portas adjacentes (A–B, C–D, E–F ou G–H) no Brain ou num expansor de 3 fios. Especifique a primeira porta do par (A, C, E ou G), escrita como Brain.ThreeWirePort.X ou ExpanderName.X em que X é a letra da porta (por exemplo, Brain.ThreeWirePort.A ou Expander1.C).

Exemplos#

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

Funções de membro#

A classe do codificador encoder inclui as seguintes funções membro:

  • setPosition — Define a posição actual do codificador para um valor especificado.

  • position — Retorna o quanto o codificador rodou.

  • velocity — Retorna a velocidade de rotação actual do codificador.

Antes de chamar qualquer função membro do codificador encoder , deve ser criada uma instância do codificador encoder , como se mostra abaixo:

/* 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#

Define a posição atual do encoder para um valor especificado. Isto pode ser utilizado para definir manualmente a posição rastreada sem rodar um motor ou outro mecanismo.

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

Parameters

Parâmetros

Tipo

Descrição

value

double

A posição rotacional a definir.

units

rotationUnits

A unidade que representa a posição:

  • deg / degrees — graus
  • turns / rev — rotações

Return Values

Esta função não devolve qualquer valor.

position#

Retorna a distância que o eixo ligado ao codificador rodou.

Available Functions
double position(
  rotationUnits units );

Parameters

Parâmetros

Tipo

Descrição

units

rotationUnits

A unidade que representa a posição:

  • deg / degrees — graus
  • turns / rev — rotações

Return Values

Retorna um valor double que representa a rotação nas unidades especificadas.

velocity#

Retorna a velocidade de rotação do codificador.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parâmetros

Tipo

Descrição

units

velocityUnits

The unit used to represent the velocity:

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

Return Values

Retorna um valor do tipo double que representa a velocidade nas unidades especificadas.