Кодировщик#

Введение#

Энкодер класса encoder используется с оптическим энкодером вала, который измеряет положение и скорость вращения вала. Он использует внутренние оптические датчики для определения расстояния и скорости вращения вала, что делает его полезным для отслеживания вращения колеса, положения рычага или других механизмов.

Оптический энкодер вала VEX.

Конструктор класса#

encoder(
  triport::port &port );

Деструктор класса#

Уничтожает объект кодировщика encoder и освобождает связанные с ним ресурсы.

virtual ~encoder();

Параметры#

Параметр

Тип

Описание

port

triport::port &

Первый 3-проводной порт из требуемой двухпортовой группы, используемой оптическим энкодером вала. Энкодер занимает два смежных порта (A–B, C–D, E–F или G–H) либо на главном блоке управления, либо на 3-проводном расширителе. Укажите первый порт в паре (A, C, E или G), записав его как Brain.ThreeWirePort.X или ExpanderName.X , где X — буква порта (например, Brain.ThreeWirePort.A или Expander1.C).

Примеры#

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

Функции участников#

Класс encoder включает следующие функции-члены:

  • setPosition — Устанавливает текущее положение энкодера на указанное значение.

  • position — Возвращает, насколько повернулся энкодер.

  • velocity — Возвращает текущую скорость вращения энкодера.

Перед вызовом любых функций-членов кодировщика encoder необходимо создать экземпляр кодировщика encoder , как показано ниже:

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

Устанавливает текущее положение энкодера на заданное значение. Это позволяет вручную задавать отслеживаемое положение без вращения двигателя или другого механизма.

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

Parameters

Параметры

Тип

Описание

value

double

Положение вращения, которое необходимо установить.

units

rotationUnits

Единица измерения положения:

  • deg / degrees — градусов
  • turns / rev — оборотов

Return Values

Эта функция не возвращает значения.

position#

Возвращает значение, на которое повернулся вал, соединенный с энкодером.

Available Functions
double position(
  rotationUnits units );

Parameters

Параметры

Тип

Описание

units

rotationUnits

Единица измерения положения:

  • deg / degrees — градусов
  • turns / rev — оборотов

Return Values

Возвращает значение типа double представляющее собой угол поворота в указанных единицах.

velocity#

Возвращает угловую скорость энкодера.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Параметры

Тип

Описание

units

velocityUnits

Единицы измерения скорости:

  • percent процента pct
  • обrpm — оборотов в минуту
  • dps — градусов в секунду

Return Values

Возвращает значение типа double представляющее скорость в указанных единицах.