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

Вступ#

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

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

gyro(
  triport::port &port);

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

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

virtual ~gyro();

Параметри#

Параметр

Тип

Опис

port

triport::port &

3-провідний порт, до якого підключено гіроскопічний датчик, записується як Brain.ThreeWirePort.X або ExpanderName.X, де X – літера порту (наприклад, Brain.ThreeWirePort.A або Expander1.A).

Приклад#

// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

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

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

  • calibrate — Калібрує гіроскоп для стабільного відстеження курсу.

  • setHeading — Встановлює курс гіроскопа.

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

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

  • rotation — Повертає обертання гіроскопа.

Перед викликом будь-яких функцій-членів 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 A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

calibrate#

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

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Параметри

Тип

Опис

value

int32_t

Час у секундах, що витрачається на калібрування. Значення за замовчуванням — 0.

Return Values

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

Notes
  • Функцію calibrate слід викликати лише тоді, коли датчик не рухається.

Examples
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);

setHeading#

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

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

Параметри

Тип

Опис

value

double

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

units

rotationUnits

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

  • degrees
  • turns
Return Values

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

setRotation#

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

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

Parameters

Параметри

Тип

Опис

value

double

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

units

rotationUnits

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

  • degrees
  • turns
Return Values

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

heading#

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

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 = GyroA.heading();
Brain.Screen.print(value);

rotation#

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

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 = GyroA.rotation();
Brain.Screen.print(value);