Віктор 883 Мотор#

Вступ#

Клас motor_victor використовується для керування контролером двигуна Victor 883, підключеним до 3-провідного порту. Контролер двигуна Victor 883 надсилає ШІМ-сигнал від V5 Brain для керування сумісними двигунами постійного струму VEXpro або VEX EDR, які неможливо підключити безпосередньо до Smart Ports.

Контролер двигуна Victor 883 не можна налаштувати у VEXcode, і для використання його необхідно написати вручну в коді.

Конструктори класів#

1 — Створює об’єкт motor_victor для контролера двигуна Victor 883, підключеного до зазначеного 3-провідного порту.

motor_victor( triport::port& port );

2 — Створює об’єкт motor_victor на зазначеному 3-провідному порту та за бажанням змінює його напрямок на протилежний.

motor_victor(
 triport::port& port,
 bool           reverse );

Деструктор класів#

Знищує об’єкт motor_victor та звільняє пов’язані з ним ресурси.

~motor_victor();

Параметри#

Параметр

Тип

Опис

port

triport::port&

3-провідний порт, до якого підключено двигун Victor 883, записується як Brain.ThreeWirePort.X або ExpanderName.X, де X – літера порту (наприклад, Brain.ThreeWirePort.A або Expander1.A).

reverse

bool

Встановлює, чи напрямок обертання двигуна змінюється на зворотний:

  • false (за замовчуванням) — Не змінює напрямок обертання двигуна.
  • true — Змінює напрямок обертання двигуна на зворотний.

Приклад#

// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);

// Create the motor_victor instance with reversed direction
motor_victor victor2 = motor_victor(Brain.ThreeWirePort.B, true);

Функції-члени#

Клас motor_victor містить такі функції-члени:

  • spin — Обертає двигун у заданому напрямку.

  • stop — Зупиняє двигун.

  • setVelocity — Вказує двигуну, з якою швидкістю обертатися.

  • setReversed — Встановлює зворотний напрямок руху двигуна чи ні.

Перед викликом будь-яких функцій-членів motor_victor необхідно створити екземпляр motor_victor , як показано нижче:

/* This constructor is required to use a
Victor 883 Motor. Replace the values
as needed. */

// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);

spin#

Обертає двигун у заданому напрямку безкінечно.

Available Functions

1 — Обертає двигун, використовуючи поточну налаштовану швидкість двигуна.

void spin(
 directionType dir );

2 — Обертає двигун із заданою швидкістю.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

Parameters

Параметр

Тип

Опис

dir

directionType

Напрямок обертання двигуна: forward або reverse.

velocity

double

Швидкість обертання від 0% до 100% при використанні percent.

units

velocityUnits

The velocity unit:

  • percent / pct — percent
  • rpm — rotations per minute
  • dps — degrees per second

Return Values

Ця функція не повертає значення.

Notes
  • Двигун продовжуватиме обертатися, доки не буде викликана функція stop або не буде виконана інша функція руху.

Examples
// Spin forward, then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

// Spin forward at 100 rpm
victor.spin(forward, 100, rpm);
wait(1, seconds);
victor.stop();

stop#

Зупиняє обертання двигуна.

Available Functions
void stop();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Ця функція не повертає значення.

Notes
  • Виклик stop негайно зупиняє будь-який поточний рух двигуна.

Examples
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

setVelocity#

Вказує швидкість обертання двигуна. Вищий відсоток змушує двигун обертатися швидше, а нижчий — повільніше.

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

Available Functions
void setVelocity(
    double       velocity,
    percentUnits units );

Parameters

Параметр

Тип

Опис

velocity

double

Швидкість обертання від 0% до 100% при використанні percent.

units

percentUnits

Одиниця швидкості:percent pct — відсотки

Return Values

Ця функція не повертає значення.

Notes
  • Будь-яка наступна функція руху двигуна Victor 883 (наприклад, spin), яка явно не вказує швидкість, використовуватиме це значення.

Examples
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);

setReversed#

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

Available Functions
void setReversed( bool value );

Parameters

Параметр

Тип

Опис

value

bool

Чи змінено напрямок обертання двигуна на зворотний:

  • true — Змінює напрямок обертання двигуна на зворотний.
  • false — Повертає напрямок обертання двигуна до значення за замовчуванням.

Return Values

Ця функція не повертає значення.

Notes Examples
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse