Датчик обертання#

Вступ#

Датчик обертання вимірює обертання вала. Його можна використовувати будь-де на роботу, де обертається вал, навіть якщо цей вал не підключений безпосередньо до двигуна.

Двигун має вбудований енкодер, який може відстежувати власне обертання. Датчик обертання працює як зовнішній енкодер, який може відстежувати обертання окремого вала.

Датчик обертання може повертати кут, положення та швидкість вала. Кут – це абсолютне положення вала від 0 до 359,99 градусів. Він не скидається на початку проєкту або коли робот вимкнено. Положення відстежує, на скільки градусів або обертів вал повернувся вперед або назад під час проєкту, і його можна скинути за потреби.

Датчик обертання сумісний зі стандартними валами VEX 1/8 дюйма та 1/4 дюйма.

Датчик обертання VEX V5.

На цій сторінці як приклад назви датчика обертання використовується 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)

Параметри

Опис

position

Значення позиції, яке потрібно призначити датчику обертання. Це може бути ціле або десяткове число.

units

Необов’язково. Одиниця вимірювання положення: DEGREES (за замовчуванням) або TURNS.

# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)

кут#

angle повертає поточний кут вала у вигляді числа з плаваючою комою.

Кут показує абсолютне положення вала в межах одного оберту, від 0 до 359,99 градусів. Він не скидається під час початку проекту або вимкнення робота.

Usage:
rotation_sensor.angle(units)

Параметри

Опис

units

Необов’язково. Одиниця вимірювання кута: DEGREES (за замовчуванням) або TURNS.

позиція#

position повертає, на скільки обертався вал.

На відміну від кута, положення може збільшуватися понад 359,99 градусів або зменшуватися нижче 0 градусів. Положення відстежує, наскільки вал обертається вперед або назад під час проекту, і його можна скинути за потреби.

Usage:
rotation_sensor.position(units)

Параметри

Опис

units

Необов’язково. Одиниця вимірювання положення: DEGREES (за замовчуванням) або TURNS.

швидкість#

velocity повертає швидкість обертання вала.

Usage:
rotation_sensor.velocity(units)

Параметри

Опис

units

Одиниця швидкості: VelocityUnits.RPM (оберти за хвилину) або VelocityUnits.DPS (градуси за секунду).

reset_position#

reset_position скидає поточне положення датчика обертання до 0.

Usage:
rotation_sensor.reset_position()

Параметри

Опис

Цей метод не має параметрів.

set_reversed#

set_reversed встановлює, чи є вихід датчика обертання зворотним.

При інвертуванні додатні значення стають від’ємними, а від’ємні значення — додатними. Цей метод працює так само, як встановлення параметра reverse у True під час використання конструктора Rotation .

Usage:
rotation_sensor.set_reversed(value)

Параметри

Опис

value

Чи слід реверсувати вихід датчика обертання: True або False.

змінився#

changed реєструє функцію, яка викликається щоразу, коли значення датчика обертання змінюється.

Usage:
rotation_sensor.changed(callback, arg)

Параметри

Опис

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 створює об’єкт Датчик обертання.

Usage:
Rotation(smartport)

Параметр

Опис

smartport

Розумний порт, до якого підключено датчик обертання, записується як Ports.PORTx, де x – номер порту.

reverse

Необов’язково. Чи слід реверсувати вихід датчика обертання: True або False (за замовчуванням).

# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)