Гироскопический датчик#
Введение#
Гироскоп класса gyro используется для измерения направления и вращательного движения робота, что позволяет отслеживать его ориентацию во времени.
Конструктор класса#
gyro(
triport::port &port);
Деструктор класса#
Уничтожает объект gyro и освобождает связанные с ним ресурсы.
virtual ~gyro();
Параметры#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
3-проводной порт, к которому подключен гироскопический датчик, обозначается как |
Пример#
// 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 Functionsvoid calibrate(
int32_t value = 0 );
Параметры |
Тип |
Описание |
|---|---|---|
|
|
Время в секундах, необходимое для калибровки. Значение по умолчанию: |
Эта функция не возвращает значения.
NotesФункцию
calibrateследует вызывать только тогда, когда датчик неподвижен.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
Устанавливает направление движения гироскопического датчика на определенное значение.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Параметры |
Тип |
Описание |
|---|---|---|
|
|
Значение, которое будет использоваться для нового заголовка. |
|
|
Единица измерения, обозначающая направление:
|
Эта функция не возвращает значения.
setRotation#
Устанавливает угол поворота гироскопического датчика на заданное значение.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Параметры |
Тип |
Описание |
|---|---|---|
|
|
Значение, которое следует использовать в качестве нового значения поворота. |
|
|
Единица измерения величины поворота:
|
Эта функция не возвращает значения.
heading#
Возвращает текущее положение гиродатчика.
Available Functionsdouble heading(
rotationUnits units = degrees );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Единица измерения, обозначающая направление:
|
Возвращает значение double представляющее текущий курс гиродатчика в указанных единицах, по умолчанию degrees.
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
Возвращает текущее значение угла поворота гироскопического датчика.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Единица измерения значения поворота:
|
Возвращает значение типа double представляющее текущее значение поворота гироскопического датчика в указанных единицах, по умолчанию — degrees
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);