Гіроскопічний датчик#
Вступ#
Клас gyro використовується з гіроскопічним датчиком для вимірювання обертального руху навколо однієї осі. Він може відстежувати, в якому напрямку повернутий робот і наскільки він повернувся.
Конструктор класів#
gyro(
int32_t index );
Деструктор класів#
Знищує об’єкт gyro та звільняє пов’язані з ним ресурси.
virtual ~gyro();
Параметри#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Розумний порт, до якого підключено гіроскопічний датчик, записується як |
Приклад#
// 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 Functionsvoid calibrate();
Ця функція не приймає жодних параметрів.
Return ValuesЦя функція не повертає значення.
NotesКалібрування допомагає гіроскопічному датчику правильно вимірювати повороти. Тримайте датчик нерухомо під час калібрування. Якщо датчик рухається під час калібрування, значення курсу, обертання та швидкості можуть неправильно вимірювати повороти.
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();
setHeading#
Встановлює поточний напрямок гіроскопа на певне значення.
Курс – це напрямок, у якому спрямований гіроскоп, виміряний від 0 до 359,99 градусів. Встановлення курсу змінює поточну опорну точку напрямку датчика.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Параметри |
Тип |
Опис |
|---|---|---|
|
|
Значення, яке слід використовувати для нового заголовка. |
|
|
Одиниця вимірювання, що представляє курс:
|
Ця функція не повертає значення.
setRotation#
Встановлює поточне обертання гіроскопічного датчика на певне значення.
Обертання – це кут повороту гіроскопа. На відміну від напрямку, обертання може збільшуватися понад 359,99 градусів або зменшуватися нижче 0 градусів.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Параметри |
Тип |
Опис |
|---|---|---|
|
|
Значення, яке слід використовувати для нового значення обертання. |
|
|
Одиниця вимірювання, що представляє значення обертання:
|
Ця функція не повертає значення.
heading#
Повертає поточний напрямок гіроскопа.
Курс – це напрямок, у якому спрямований гіроскоп, виміряний від 0 до 359,99 градусів. Якщо датчик повертається далі за 359,99 градусів, курс повертається до 0 градусів.
Available Functionsdouble heading(
rotationUnits units = degrees );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання, що представляє курс:
|
Повертає значення double що представляє поточний напрямок гіроскопа у вказаних одиницях вимірювання, за замовчуванням degrees.
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);
rotation#
Повертає поточне значення обертання гіроскопа.
Обертання – це кут повороту гіроскопа. На відміну від напрямку, обертання може збільшуватися понад 359,99 градусів або зменшуватися нижче 0 градусів. Наприклад, два повні повороти праворуч повертають поворот на 720 градусів. Поворот на один повний поворот ліворуч від 0 градусів повертає поворот на -360 градусів.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання, що представляє значення обертання:
|
Повертає значення double що представляє поточне значення обертання гіроскопа у вказаних одиницях вимірювання, за замовчуванням degrees.
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);
rate#
Повертає швидкість обертання гіроскопічного датчика.
Швидкість обертання – це швидкість обертання гіроскопа. Значення може бути додатним або від’ємним залежно від напрямку обертання датчика.
Available Functionsdouble rate(
rateUnits units = rateUnits::dps );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання, що представляє швидкість:
|
Повертає значення double що представляє поточну швидкість зміни гіроскопічного датчика у вказаних одиницях вимірювання, за замовчуванням rateUnits::dps.