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 EXP 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 whether the motor’s spin direction is reversed:

  • false (default) — Does not reverse the motor’s direction.
  • true — Reverses the motor’s 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 — Tells the motor how fast to spin.

  • 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#

Spins the motor in the specified direction forever.

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 or reverse.

velocity

double

The velocity to spin with from 0% to 100% when using percent.

units

velocityUnits

The velocity unit:

  • 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#

Tells the motor how fast to spin. A higher percentage makes the motor spin faster and a lower percentage makes the motor spin slower.

Every project begins with each connected motor spinning at 50% velocity by default.

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

Parameters

范围

类型

描述

velocity

double

The velocity to spin with from 0% to 100% when using percent.

units

percentUnits

The velocity unit: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

Whether the motor’s direction is reversed:

  • true — Reverses the motor’s direction.
  • false — Returns the motor’s direction to its default.

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