Мотор Victor 883#

Введение#

Класс motor_victor используется для управления контроллером двигателя Victor 883, подключенным к 3-проводному порту. Контроллер двигателя Victor 883 посылает ШИМ-сигнал от блока управления V5 для управления совместимыми двигателями постоянного тока VEXpro или VEX EDR, которые нельзя напрямую подключить к интеллектуальным портам.

Контроллер двигателя Victor 883 нельзя настроить в VEXcode; для его использования его необходимо вручную создать в коде.

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

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

motor_victor( triport::port& port );

2 — Создает объект motor_victor motor_victor на указанном 3-проводном порту и при необходимости меняет направление его движения.

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

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

Уничтожает объект motor_victor motor_victor и освобождает связанные с ним ресурсы.

~motor_victor();

Параметры#

Параметр

Тип

Описание

port

triport::port&

Трехпроводной порт, к которому подключен двигатель 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 необходимо создать экземпляр 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

Единица измерения скорости:

  • percent процента pct
  • об/минrpm оборотов в минуту
  • dps — градусов в секунду

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