Motor Victor 883#

Introducción#

La clase motor_victor se utiliza para controlar un controlador de motor Victor 883 conectado a un puerto de 3 cables. El controlador de motor Victor 883 envía una señal PWM desde el cerebro EXP para controlar los motores de CC VEXpro o VEX EDR compatibles que no se pueden conectar directamente a los puertos inteligentes.

El controlador de motor Victor 883 no se puede configurar en VEXcode y debe construirse manualmente en Code para poder usarse.

Constructores de clase#

1 — Crea un objeto motor_victor para el controlador de motor Victor 883 conectado al puerto de 3 cables especificado.

motor_victor( triport::port& port );

2 — Crea un objeto motor_victor en el puerto de 3 cables especificado y, opcionalmente, invierte su dirección.

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

Destructor de clase#

Destruye el objeto motor_victor y libera los recursos asociados.

~motor_victor();

Parámetros#

Parámetro

Tipo

Descripción

port

triport::port&

El puerto de 3 cables al que está conectado el motor Victor 883, escrito Brain.ThreeWirePort.X Brain.ThreeWirePort.X o ExpanderName.X, donde X es la letra del puerto (por ejemplo, Brain.ThreeWirePort.A o Expander1.A).

reverse

bool

Establece si la dirección de giro del motor está invertida:

  • false (predeterminado) — No invierte la dirección del motor.
  • true — Invierte la dirección del motor.

Ejemplo#

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

Funciones de los miembros#

La clase motor_victor incluye las siguientes funciones de miembro:

  • spin — Hace girar el motor en una dirección específica.

  • stop — Detiene el motor.

  • setVelocity — Le dice al motor qué tan rápido debe girar.

  • setReversed — Establece la dirección del motor a invertir o no.

Antes de llamar a cualquier función de miembro motor_victor, se debe crear una instancia motor_victor, como se muestra a continuación:

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

Gira el motor en la dirección especificada para siempre.

Available Functions

1 — Hace girar el motor utilizando la velocidad del motor configurada actualmente.

void spin(
 directionType dir );

2 — Hace girar el motor a la velocidad especificada.

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

Parameters

Parámetro

Tipo

Descripción

dir

directionType

La dirección en la que gira el motor: forward o hacia reverse.

velocity

double

La velocidad para girar del 0% al 100% cuando se usa percent.

units

velocityUnits

La unidad de velocidad:

  • percent / pct — porcentaje
  • rpm — rotaciones por minuto
  • dps — grados por segundo

Return Values

Esta función no devuelve un valor.

Notes
  • El motor continuará girando hasta que se llame a stop o se ejecute otra función de movimiento.

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#

Detiene el motor para que no gire.

Available Functions
void stop();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Esta función no devuelve un valor.

Notes
  • Llamar a stop inmediatamente cualquier movimiento actual del motor.

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

setVelocity#

Le dice al motor qué tan rápido debe girar. Un porcentaje más alto hace que el motor gire más rápido y un porcentaje más bajo hace que el motor gire más lento.

Cada proyecto comienza con cada motor conectado girando al 50% de velocidad por defecto.

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

Parameters

Parámetro

Tipo

Descripción

velocity

double

La velocidad para girar del 0% al 100% cuando se usa percent.

units

percentUnits

La unidad de velocidad:percent / pct — porcentaje

Return Values

Esta función no devuelve un valor.

Notes
  • Cualquier función de movimiento del motor Victor 883 posterior (como spin) que no especifique explícitamente una velocidad utilizará este valor.

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

setReversed#

Configura la dirección del motor para que se invierta o no.

Available Functions
void setReversed( bool value );

Parameters

Parámetro

Tipo

Descripción

value

bool

Si la dirección del motor se invierte:

  • true — Invierte la dirección del motor.
  • false — Devuelve la dirección del motor a su valor predeterminado.

Return Values

Esta función no devuelve un valor.

Notes
  • Esto es lo mismo que cambiar el parámetro reverse en el constructor.

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