Датчик вращения#
Введение#
Датчик вращения измеряет вращение вала. Его можно использовать в любом месте робота, где вращается вал, даже если этот вал не соединен напрямую с двигателем.
В электродвигателе встроен энкодер, способный отслеживать собственное вращение. Датчик вращения работает как внешний энкодер, способный отслеживать вращение отдельного вала.
Датчик вращения может возвращать угол, положение и скорость вала. Угол — это абсолютное положение вала от 0 до 359,99 градусов. Он не сбрасывается при начале проекта или при выключении робота. Положение отслеживает, на сколько градусов или оборотов вал повернулся вперед или назад во время проекта, и может быть сброшено по мере необходимости.
Датчик вращения совместим со стандартными валами VEX диаметром 1/8 и 1/4 дюйма.

На этой странице в качестве примера имени датчика вращения используется rotation_sensor При необходимости замените его на собственное имя.
Ниже приведён список доступных методов:
set_position— Устанавливает текущее положение датчика вращения на заданное значение.angle— Возвращает текущий угол вала от 0 до 359,99 градусов.position— Возвращает, насколько повернулся вал в градусах или оборотах.velocity— Возвращает скорость вращения вала.reset_position— Сбрасывает текущее положение датчика вращения до 0.set_reversed— Устанавливает, будет ли выходной сигнал датчика вращения инвертирован.changed— Регистрирует функцию, которая будет выполняться всякий раз, когда изменяется значение датчика вращения.
Конструктор — Инициализация датчика вращения вручную.
Rotation— Создает датчик вращения.
set_position#
set_position устанавливает текущее положение датчика вращения на заданное значение.
Положение определяет, насколько повернулся вал за время выполнения проекта. Установка положения изменяет текущее значение положения без перемещения вала.
Usage:
rotation_sensor.set_position(position, units)
Параметры |
Описание |
|---|---|
|
Значение положения, которое необходимо присвоить датчику вращения. Это может быть целое число или десятичная дробь. |
|
Дополнительно. Единица измерения положения: |
# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)
угол#
Параметр angle возвращает текущий угол вала в виде числа с плавающей запятой.
Датчик угла поворота отображает абсолютное положение вала в пределах одного оборота, от 0 до 359,99 градусов. Он не сбрасывается при начале проекта или при выключении робота.
Usage:
rotation_sensor.angle(units)
Параметры |
Описание |
|---|---|
|
Дополнительно. Единица измерения угла: |
позиция#
Позиция position возвращает величину поворота вала.
В отличие от угла, положение может увеличиваться более чем на 359,99 градусов или уменьшаться ниже 0 градусов. Положение отслеживает, насколько вал поворачивается вперед или назад во время выполнения проекта, и может быть сброшено при необходимости.
Usage:
rotation_sensor.position(units)
Параметры |
Описание |
|---|---|
|
Дополнительно. Единица измерения положения: |
скорость#
velocity возвращает скорость вращения вала.
Usage:
rotation_sensor.velocity(units)
Параметры |
Описание |
|---|---|
|
Единица измерения скорости: |
сброс позиции#
reset_position сбрасывает текущее положение датчика вращения до 0.
Usage:
rotation_sensor.reset_position()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
set_reversed#
set_reversed устанавливает, будет ли выходной сигнал датчика вращения инвертирован.
При инвертировании положительные значения становятся отрицательными, а отрицательные — положительными. Этот метод работает так же, как установка параметра reverse в значение True при использовании конструктора Rotation .
Usage:
rotation_sensor.set_reversed(value)
Параметры |
Описание |
|---|---|
|
Следует ли инвертировать выходной сигнал датчика вращения: |
измененный#
changed регистрирует функцию, которая вызывается всякий раз, когда изменяется значение датчика вращения.
Usage:
rotation_sensor.changed(callback, arg)
Параметры |
Описание |
|---|---|
|
Ранее определенная функция, которая запускается при изменении значения датчика вращения. |
|
Необязательно. Кортеж, содержащий аргументы для передачи в функцию обратного вызова. См. Использование функций с параметрами для получения дополнительной информации. |
def my_function():
brain.screen.print("Rotated!")
# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)
Конструктор#
Конструкторы используются для ручного создания объектов с Rotation вращением, например, при настройке датчика вращения вне VEXcode.
Rotation#
Rotation создает объект Rotation Sensor.
Usage:
Rotation(smartport)
Параметр |
Описание |
|---|---|
|
Интеллектуальный порт, к которому подключен датчик вращения, обозначается как |
|
Необязательно. Следует ли инвертировать выходной сигнал датчика вращения: |
# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)