Енкодер#

Вступ#

Енкодер класу encoder наскільки та як швидко обертається вал, що робить його корисним для відстеження обертання колеса, положення важеля або інших механізмів.

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

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

encoder(
  triport::port &port );

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

Знищує об’єкт encoder та звільняє пов’язані з ним ресурси.

virtual ~encoder();

Параметри#

Параметр

Тип

Опис

port

triport::port &

Перший 3-провідний порт необхідної двопортової групи, що використовується оптичним енкодером вала. Енкодер займає два сусідні порти (A–B, C–D, E–F або G–H) на Brain або 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 , що представляє швидкість у вказаних одиницях вимірювання.