Гіроскопічний датчик#

Вступ#

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

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

gyro(
    int32_t index );

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

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

virtual ~gyro();

Параметри#

Параметр

Тип

Опис

index

int32_t

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

Приклад#

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

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

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

  • calibrate — Калібрує гіроскопічний датчик.

  • setHeading — Встановлює поточний курс гіроскопа на нове значення курсу.

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

  • heading — Повертає напрямок, у якому спрямований гіроскоп.

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

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

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

/* This constructor is required when using VS Code.
Gyro Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

calibrate#

Калібрує гіроскопічний датчик.

Available Functions
void calibrate();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

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

Notes
  • Калібрування допомагає гіроскопічному датчику правильно вимірювати повороти. Тримайте датчик нерухомо під час калібрування. Якщо датчик рухається під час калібрування, значення курсу, обертання та швидкості можуть неправильно вимірювати повороти.

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

Встановлює поточний напрямок гіроскопа на певне значення.

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

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

Параметри

Тип

Опис

value

double

Значення, яке слід використовувати для нового заголовка.

units

rotationUnits

Одиниця вимірювання, що представляє курс:

  • degrees
  • turns

Return Values

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

setRotation#

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

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

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

Parameters

Параметри

Тип

Опис

value

double

Значення, яке слід використовувати для нового значення обертання.

units

rotationUnits

Одиниця вимірювання, що представляє значення обертання:

  • degrees
  • turns

Return Values

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

heading#

Повертає поточний напрямок гіроскопа.

Курс – це напрямок, у якому спрямований гіроскоп, виміряний від 0 до 359,99 градусів. Якщо датчик повертається далі за 359,99 градусів, курс повертається до 0 градусів.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Параметр

Тип

Опис

units

rotationUnits

Одиниця вимірювання, що представляє курс:

  • degrees (за замовчуванням)
  • turns

Return Values

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

Examples
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);

rotation#

Повертає поточне значення обертання гіроскопа.

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

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Параметр

Тип

Опис

units

rotationUnits

Одиниця вимірювання, що представляє значення обертання:

  • degrees (за замовчуванням)
  • turns

Return Values

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

Examples
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);

rate#

Повертає швидкість обертання гіроскопічного датчика.

Швидкість обертання – це швидкість обертання гіроскопа. Значення може бути додатним або від’ємним залежно від напрямку обертання датчика.

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

Параметр

Тип

Опис

units

rateUnits

Одиниця вимірювання, що представляє швидкість:

  • rateUnits::dps (за замовчуванням) — градуси за секунду
  • rateUnits::rpm — оберти за хвилину

Return Values

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