Victor 883 发动机#

介绍#

The motor_victor class is used to control a Victor 883 Motor Controller connected to a 3-Wire Port. The Victor 883 Motor Controller sends a PWM signal from the V5 Brain to control compatible VEXpro or VEX EDR DC motors that cannot be connected directly to Smart Ports.

Victor 883 电机控制器无法在 VEXcode 中进行配置,必须手动在代码中构建才能使用。

类构造函数#

1 Creates a motor_victor object for the Victor 883 Motor Controller connected to the specified 3-Wire Port.

motor_victor( triport::port& port );

2 Creates a motor_victor object on the specified 3-Wire Port and optionally reverses its direction.

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

类析构函数#

Destroys the motor_victor object and releases associated resources.

~motor_victor();

参数#

范围

类型

描述

port

triport::port&

The 3-Wire Port that the Victor 883 Motor is connected to, written as Brain.ThreeWirePort.X or ExpanderName.X, where X is the port letter (for example, Brain.ThreeWirePort.A or Expander1.A).

reverse

bool

Sets the positive direction of motor rotation:

  • false (default) — Clockwise rotation is treated as forward (positive direction).
  • true — Counterclockwise rotation is treated as forward (positive direction).

例子#

// 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);

成员功能#

The motor_victor class includes the following member functions:

  • spin — Spins the motor in a specified direction.

  • stop — Stops the motor.

  • setVelocity — Sets the default velocity for the motor.

  • setReversed — Sets the motor direction to be reversed or not.

Before calling any motor_victor member functions, a motor_victor instance must be created, as shown below:

/* 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

The direction in which the motor spins:

  • forward
  • reverse

velocity

double

施加于电机的速度值。

units

velocityUnits

The unit used to represent velocity:

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

Return Values

此函数不返回值。

Notes
  • The motor will continue spinning until stop is called or another movement function is executed.

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
  • Calling stop immediately stops any current motor movement.

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

setVelocity#

设置 Victor 883 电机的默认速度。如果未指定具体速度,则后续调用任何电机函数时都将使用此速度设置。

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

Parameters

范围

类型

描述

velocity

double

要施加于电机的速度值。

units

percentUnits

The unit used to represent velocity:

  • percent / pct — percent

Return Values

此函数不返回值。

Notes
  • Any subsequent Victor 883 Motor movement function (such as spin) that does not explicitly specify a velocity will use this value.

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

setReversed#

设置电机是否反转。

Available Functions
void setReversed( bool value );

Parameters

范围

类型

描述

value

bool

A boolean value to set the direction to reversed or not:

  • true — Motor direction is reversed
  • false — Motor direction is normal

Return Values

此函数不返回值。

Notes
  • This is the same as changing the reverse parameter in the constructor.

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