Датчик вращения#
Введение#
Класс rotation используется для управления и доступа к данным от датчика вращения EXP.
Датчик вращения измеряет вращение вала. Его можно использовать в любом месте робота, где вращается вал, даже если этот вал не соединен напрямую с двигателем.
В электродвигателе встроен энкодер, способный отслеживать собственное вращение. Датчик вращения работает как внешний энкодер, способный отслеживать вращение отдельного вала.
Датчик вращения может возвращать угол, положение и скорость вала. Угол — это абсолютное положение вала от 0 до 359,99 градусов. Он не сбрасывается при начале проекта или при выключении робота. Положение отслеживает, на сколько градусов или оборотов вал повернулся вперед или назад во время проекта, и может быть сброшено по мере необходимости.
Датчик вращения совместим со стандартными валами VEX диаметром 1/8 и 1/4 дюйма.
Конструкторы классов#
rotation(
int32_t index,
bool reverse = false );
Деструктор класса#
Уничтожает объект с rotation , освобождая связанные с ним ресурсы.
virtual ~rotation();
Параметры#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Интеллектуальный порт, к которому подключен датчик вращения, обозначается как |
|
|
Необязательно. Следует ли инвертировать выходные данные датчика вращения:
|
Примеры#
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
Функции участников#
Класс rotation включает следующие функции-члены:
setPosition— Устанавливает текущее положение датчика вращения на заданное значение.angle— Возвращает текущий угол вала от 0 до 359,99 градусов.position— Возвращает, насколько повернулся вал в градусах или оборотах.velocity— Возвращает скорость вращения вала.
Перед вызовом любых функций-членов с rotation вращением необходимо создать экземпляр с вращением rotation вращением, как показано ниже:
/* This constructor is required when using VS Code.
Rotation Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
setPosition#
Устанавливает текущее положение датчика вращения на заданное значение.
Положение определяет, насколько повернулся вал за время выполнения проекта. Установка положения изменяет текущее значение положения без перемещения вала.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Значение положения, которое необходимо присвоить датчику вращения. Это может быть целое число или десятичная дробь. |
|
|
Единица измерения положения:
|
Эта функция не возвращает значения.
angle#
Возвращает текущий угол наклона вала.
Датчик угла поворота отображает абсолютное положение вала в пределах одного оборота, от 0 до 359,99 градусов. Он не сбрасывается при начале проекта или при выключении робота.
Available Functionsdouble angle( rotationUnits units = degrees );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Дополнительно. Единица измерения угла:
|
Возвращает значение типа double представляющее текущий угол наклона вала в указанных единицах.
// Get the current angle of the shaft
double angle = Rotation1.angle(degrees);
// Print the current angle of the shaft to the
// Brain's screen.
Brain.Screen.print(angle);
position#
Возвращает значение, на которое повернулся вал.
В отличие от угла, положение может увеличиваться более чем на 359,99 градусов или уменьшаться ниже 0 градусов. Положение отслеживает, насколько вал поворачивается вперед или назад во время выполнения проекта, и может быть сброшено при необходимости.
Available Functionsdouble position( rotationUnits units );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Единица измерения положения:
|
Возвращает значение типа double которое показывает, насколько повернулся вал в указанных единицах.
velocity#
Возвращает значение скорости вращения вала.
Available Functionsdouble velocity( velocityUnits units );
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Единицы измерения скорости:
|
Возвращает значение типа double которое обозначает скорость вращения вала в указанных единицах.