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

Введение#

Гироскоп класса 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.