Moteur Victor 883#

Introduction#

La classe motor_victor permet de contrôler un contrôleur de moteur Victor 883 connecté à un port à 3 fils. Ce contrôleur envoie un signal PWM depuis le V5 Brain pour piloter les moteurs CC VEXpro ou VEX EDR compatibles qui ne peuvent pas être connectés directement aux ports intelligents.

Le contrôleur de moteur Victor 883 ne peut pas être configuré dans VEXcode et doit être construit manuellement dans le code pour pouvoir être utilisé.

Constructeurs de classes#

1 — Crée un objet motor_victor pour le contrôleur de moteur Victor 883 connecté au port à 3 fils spécifié.

motor_victor( triport::port& port );

2 — Crée un objet motor_victor sur le port 3 fils spécifié et inverse éventuellement sa direction.

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

Destructeur de classe#

Détruit l’objet motor_victor et libère les ressources associées.

~motor_victor();

Paramètres#

Paramètre

Taper

Description

port

triport::port&

Le port à 3 fils auquel le moteur Victor 883 est connecté, écrit comme Brain.ThreeWirePort.X ou ExpanderName.X, où X est la lettre du port (par exemple, Brain.ThreeWirePort.A ou Expander1.A).

reverse

bool

Indique si le sens de rotation du moteur est inversé :

  • false (par défaut) — N’inverse pas le sens de rotation du moteur.
  • true — Inverse le sens de rotation du moteur.

Exemple#

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

Fonctions des membres#

La classe motor_victor comprend les fonctions membres suivantes :

  • spin — Fait tourner le moteur dans une direction spécifiée.

  • stop — Arrête le moteur.

  • setVelocity — Indique au moteur à quelle vitesse tourner.

  • setReversed — Définit le sens de rotation du moteur à inverser ou non.

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#

Fait tourner le moteur dans la direction spécifiée indéfiniment.

Available Functions

1 — Fait tourner le moteur en utilisant la vitesse de moteur actuellement configurée.

void spin(
 directionType dir );

2 — Fait tourner le moteur à la vitesse spécifiée.

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

Parameters

Paramètre

Taper

Description

dir

directionType

Sens de rotation du moteur : forward ou reverse.

velocity

double

La vitesse de rotation de 0 % à 100 % lors de l’utilisation percent.

units

velocityUnits

Unité de vitesse :

  • percent  % pct
  •  trrpm  tours par minute
  • dps  degrés par seconde

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Le moteur continuera à tourner jusqu’à ce que stop soit appelé ou qu’une autre fonction de mouvement soit exécutée.

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#

Empêche le moteur de tourner.

Available Functions
void stop();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Appeler stop arrête immédiatement tout mouvement de moteur en cours.

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

setVelocity#

Indique au moteur sa vitesse de rotation. Un pourcentage plus élevé accélère la rotation, et un pourcentage plus faible la ralentit.

Chaque projet commence avec chaque moteur connecté tournant par défaut à 50 % de sa vitesse maximale.

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

Parameters

Paramètre

Taper

Description

velocity

double

La vitesse de rotation de 0 % à 100 % lors de l’utilisation percent.

units

percentUnits

Unité de vitesse :percent pct pour cent

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Toute fonction de mouvement de moteur Victor 883 ultérieure (telle que spin) qui ne spécifie pas explicitement une vitesse utilisera cette valeur.

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

setReversed#

Permet de définir si le sens de rotation du moteur doit être inversé ou non.

Available Functions
void setReversed( bool value );

Parameters

Paramètre

Taper

Description

value

bool

Inversion du sens de rotation du moteur :

  • true — Inverse le sens de rotation du moteur.
  • false — Rétablit le sens de rotation par défaut du moteur.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Cela revient à modifier le paramètre reverse dans le constructeur.

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