Motor Victor 883#

Introdução#

A classe motor_victor é utilizada para controlar um controlador de motor Victor 883 ligado a uma porta de 3 fios. O controlador de motor Victor 883 envia um sinal PWM do V5 Brain para controlar motores CC VEXpro ou VEX EDR compatíveis que não podem ser ligados diretamente às portas inteligentes.

O controlador de motor Victor 883 não pode ser configurado no VEXcode e tem de ser construído manualmente em código para ser utilizado.

Construtores de Classes#

1 — Cria um objeto motor_victor para o Controlador de Motor Victor 883 ligado à Porta de 3 Fios especificada.

motor_victor( triport::port& port );

2 — Cria um objeto motor_victor na porta de 3 fios especificada e, opcionalmente, inverte o seu sentido.

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

Destrutor de classes#

Destrói o objeto motor_victor e liberta os recursos associados.

~motor_victor();

Parâmetros#

Parâmetro

Tipo

Descrição

port

triport::port&

A porta de 3 fios à qual o motor Victor 883 está ligado, escrita como Brain.ThreeWirePort.X ou ExpanderName.X, em que X é a letra da porta (por exemplo, Brain.ThreeWirePort.A ou Expander1.A).

reverse

bool

Define se o sentido de rotação do motor será invertido:

  • false (padrão) — Não inverte o sentido de rotação do motor.
  • true — Inverte o sentido de rotação do motor.

Exemplo#

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

Funções de membro#

A classe motor_victor inclui as seguintes funções membro:

  • spin — Roda o motor numa direcção especificada.

  • stop — Para o motor.

  • setVelocity — Indica ao motor a velocidade de rotação.

  • setReversed — Define se o sentido do motor deve ser invertido ou não.

Antes de chamar qualquer função membro de motor_victor , deve ser criada uma instância de motor_victor ), como se mostra abaixo:

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

Faz com que o motor gire na direção especificada indefinidamente.

Available Functions

1 — Aciona o motor utilizando a velocidade do motor atualmente configurada.

void spin(
 directionType dir );

2 — Roda o motor à velocidade especificada.

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

Parameters

Parâmetro

Tipo

Descrição

dir

directionType

O sentido de rotação do motor: forward ou reverse.

velocity

double

A velocidade de rotação de 0% a 100% quando se utiliza percent.

units

velocityUnits

The velocity unit:

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

Return Values

Esta função não devolve qualquer valor.

Notes
  • O motor continuará a rodar até que stop seja chamado ou outra função de movimento seja executada.

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#

Impede que o motor gire.

Available Functions
void stop();

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Esta função não devolve qualquer valor.

Notes
  • Chamar o comando stop interrompe imediatamente qualquer movimento do motor em curso.

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

setVelocity#

Indica ao motor a velocidade de rotação. Uma percentagem mais elevada faz com que o motor gire mais depressa e uma percentagem mais baixa faz com que o motor gire mais devagar.

Cada projeto começa com cada motor ligado a rodar a 50% da velocidade por defeito.

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

Parameters

Parâmetro

Tipo

Descrição

velocity

double

A velocidade de rotação de 0% a 100% quando se utiliza percent.

units

percentUnits

Unidade de velocidade:percent / pct%

Return Values

Esta função não devolve qualquer valor.

Notes
  • Qualquer função de movimento subsequente do motor Victor 883 (como spin) que não especifique explicitamente uma velocidade utilizará este valor.

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

setReversed#

Define se a direção do motor será invertida ou não.

Available Functions
void setReversed( bool value );

Parameters

Parâmetro

Tipo

Descrição

value

bool

Se o sentido de rotação do motor estiver invertido:

  • true — Inverte o sentido de rotação do motor.
  • false — Devolve o sentido de rotação do motor ao padrão.

Return Values

Esta função não devolve qualquer valor.

Notes
  • Isto é o mesmo que alterar o parâmetro reverse no construtor.

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