Гироскопический датчик#
Введение#
Гироскоп класса 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.