Датчик обертання#

Вступ#

Клас rotation використовується для керування та доступу до даних з датчика обертання V5.

Датчик обертання вимірює обертання вала. Його можна використовувати будь-де на роботу, де обертається вал, навіть якщо цей вал не підключений безпосередньо до двигуна.

Двигун має вбудований енкодер, який може відстежувати власне обертання. Датчик обертання працює як зовнішній енкодер, який може відстежувати обертання окремого вала.

Датчик обертання може повертати кут, положення та швидкість вала. Кут – це абсолютне положення вала від 0 до 359,99 градусів. Він не скидається на початку проєкту або коли робот вимкнено. Положення відстежує, на скільки градусів або обертів вал повернувся вперед або назад під час проєкту, і його можна скинути за потреби.

Датчик обертання сумісний зі стандартними валами VEX 1/8 дюйма та 1/4 дюйма.

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

rotation(
    int32_t index,
    bool    reverse = false );

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

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

virtual ~rotation();

Параметри#

Параметр

Тип

Опис

index

int32_t

Розумний порт, до якого підключено датчик обертання, записується як PORTx, де x – номер порту (наприклад, PORT1).

reverse

bool

Необов’язково. Чи слід реверсувати вихід датчика обертання:

  • true — Змінює напрямок повідомлених значень кута та положення.
  • false (за замовчуванням) — Повідомляє значення кута та положення у стандартному напрямку.

Приклади#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

Функції-члени#

Клас rotation містить такі функції-члени:

  • setPosition — Встановлює поточне положення датчика обертання на певне значення.

  • angle — Повертає поточний кут вала від 0 до 359,99 градусів.

  • position — Повертає, на скільки повернувся вал у градусах або обертах.

  • velocity — Повертає швидкість обертання вала.

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Встановлює поточне положення датчика обертання на певне значення.

Положення – це те, наскільки повернувся вал під час проекту. Встановлення положення змінює поточне значення положення без переміщення вала.

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

Parameters

Параметр

Тип

Опис

value

double

Значення позиції, яке потрібно призначити датчику обертання. Це може бути ціле або десяткове число.

units

rotationUnits

Одиниця вимірювання положення:

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

Return Values

Ця функція не повертає значення.

angle#

Повертає поточний кут вала.

Кут показує абсолютне положення вала в межах одного оберту, від 0 до 359,99 градусів. Він не скидається під час початку проекту або вимкнення робота.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Параметр

Тип

Опис

units

rotationUnits

Необов’язково. Одиниця вимірювання кута:

  • deg / degrees (за замовчуванням) — градуси
  • turns / rev — повороти

Return Values

Повертає значення double , що представляє поточний кут вала у вказаних одиницях вимірювання.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Повертає, на скільки обертався вал.

На відміну від кута, положення може збільшуватися понад 359,99 градусів або зменшуватися нижче 0 градусів. Положення відстежує, наскільки вал обертається вперед або назад під час проекту, і його можна скинути за потреби.

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

Одиниця швидкості:

  • rpm — обертів за хвилину
  • dps — градусів за секунду

Return Values

Повертає значення double , що відображає швидкість обертання вала у вказаних одиницях вимірювання.