Moteur et groupe moteur#

Introduction#

Motors and motor groups control how parts of a robot move. A motor object controls one configured IQ Smart Motor, while a motor_group object controls multiple configured IQ Smart Motors together so they move in tandem. Motors and motor groups can be used to raise an arm, turn a claw, spin a wheel, or move another part of a build. Two motors can work together as a drivetrain to move and turn the whole robot.

Chaque moteur ou groupe de moteurs est configuré dans la fenêtre « Périphériques ». Selon la version, les noms des moteurs et des groupes de moteurs peuvent varier. Cette page utilise Motor1 et « MotorGroup1 comme exemples. Remplacez-les par les noms que vous avez configurés.

Un moteur VEX IQ affichant le sens de rotation avant indiqué par un signe plus et une flèche indiquant qu'il tourne vers la gauche, ou dans le sens antihoraire. Un moteur VEX IQ illustrant le sens inverse indiqué par un signe moins et une flèche indiquant qu'il tourne vers la droite, ou dans le sens horaire.

Par défaut, les positions forward avant) font tourner le moteur dans le sens antihoraire, et reverse (arrière) le font tourner dans le sens horaire. Si le sens de rotation d’un moteur est inversé, ces directions seront inversées.

Moteur#

Class Constructors#

1 — Crée un objet moteur motor pour le moteur intelligent IQ connecté au port intelligent spécifié. Le moteur utilise automatiquement le réglage de vitesse interne gearSetting.

motor(
  int32_t index );

2 — Creates a motor object on the specified Smart Port and optionally reverses its direction. The motor automatically uses the detected internal gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Crée un objet moteur motor sur le port intelligent spécifié avec le réglage d’engrenage gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Crée un objet moteur motor sur le port intelligent spécifié avec le réglage d’engrenage gearSetting et une direction inversée optionnelle.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

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

~motor();

Parameters#

Paramètre

Taper

Description

index

int32_t

Le port intelligent auquel le moteur est connecté, écrit sous la forme PORTx, où x est le numéro de port (par exemple, PORT1).

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.

gears

gearSetting

Spécifie le rapport de la cartouche d’engrenage interne.

  • ratio1_1 — Rapport d’engrenage 1:
  • ratio2_1 — Rapport d’engrenage 2:
  • ratio3_1 — Rapport d’engrenage 3:1

Notes#

  • Le réglage de la vitesse doit correspondre à la cartouche physique installée dans le moteur.

Example#

// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);

// Creates the motor instance with different settings
motor RightMotor = motor(
  PORT2,      // Smart Port 2
  ratio2_1,  // Gear ratio is 2:1
  true);

Groupe automobile#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

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

~motor_group();

Parameters#

Paramètre

Taper

Description

m1

motor &

Le premier moteur ajouté au groupe.

m2

motor &

Des moteurs supplémentaires ont été ajoutés au groupe. Un groupe de moteurs ne peut comporter plus que quatre moteurs.

Example#

// Create individual motor instances
motor LeftMotor  = motor(PORT1);
motor RightMotor = motor(PORT2);

// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);

Fonctions des membres#

Il existe de nombreuses façons de programmer les moteurs et les groupes de moteurs. Vous trouverez ci-dessous la liste de toutes les fonctions membres des moteurs motor et motor_group :

Actions — Arrêter et faire tourner les moteurs et les groupes de moteurs.

  • spin — Fait tourner un moteur ou un groupe de moteurs en avant ou en arrière indéfiniment.

  • spinFor — Fait tourner un moteur ou un groupe de moteurs sur une distance ou pendant une durée spécifique.

  • spinToPosition — Fait tourner un moteur ou un groupe de moteurs vers une position spécifique.

  • stop — Empêche un moteur ou un groupe de moteurs de tourner.

Modificateurs — Ajustez les paramètres du moteur et du groupe de moteurs.

  • setVelocity — Indique à un moteur ou à un groupe de moteurs à quelle vitesse tourner.

  • setMaxTorque — Définit la force avec laquelle un moteur ou un groupe de moteurs est autorisé à pousser pendant la rotation.

  • setPosition — Modifie la position actuelle du moteur ou du groupe de moteurs à une nouvelle valeur.

  • setStopping — Définit comment un moteur ou un groupe de moteurs s’arrêtera de bouger : en freinant, en roue libre ou en maintenant.

  • setTimeout — Définit le temps pendant lequel un moteur ou un groupe de moteurs essaiera de terminer un mouvement.

Getters — Vérifiez l’état du moteur et du groupe de moteurs.

  • isDone — Renvoie si le moteur ou le groupe de moteurs a fini de bouger, sous forme de valeur booléenne.

  • isSpinning — Renvoie si le moteur ou le groupe de moteurs tourne, sous forme de valeur booléenne.

  • position — Renvoie la position actuelle du moteur ou du groupe de moteurs.

  • velocity — Renvoie la vitesse de rotation du moteur ou du groupe de moteurs.

  • current — Renvoie la quantité de courant électrique utilisée par le moteur ou le groupe de moteurs.

  • power — Renvoie la puissance utilisée par le moteur ou le groupe de moteurs.

  • torque — Renvoie la quantité de couple utilisée par le moteur ou le groupe de moteurs.

  • efficiency — Renvoie l’efficacité avec laquelle le moteur ou le groupe de moteurs utilise la puissance.

  • temperature — Renvoie la température du moteur ou du groupe de moteurs.

  • voltage — Renvoie la tension électrique fournie au moteur ou au groupe de moteurs.

  • direction — Renvoie le sens de rotation du moteur ou du groupe de moteurs.

  • installed — Renvoie si le moteur ou le groupe de moteurs est connecté au cerveau.

  • count — Renvoie le nombre de moteurs dans un groupe de moteurs.

Avant d’appeler les fonctions membres de motor ou motor_group , une instance doit être créée, comme indiqué ci-dessous :

/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);

Actes#

spin#

La commande spin fait tourner un moteur ou un groupe de moteurs en marche avant ou arrière en continu. Le moteur ou le groupe de moteurs continuera de tourner jusqu’à ce qu’une autre action lui soit donnée, comme un changement de sens de rotation ou un arrêt.

Available Functions

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

void spin(
 directionType dir );

2 — Fait tourner le moteur ou le groupe de moteurs à la vitesse spécifiée.

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

3 — Fait tourner le moteur ou le groupe de moteurs en utilisant la tension spécifiée.

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

Paramètre

Taper

Description

dir

directionType

Sens de rotation du moteur ou du groupe de moteurs : 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

voltage

double

La tension de rotation. Une valeur négative fait tourner le sens inverse du sens donné dir.

units

voltageUnits

Unité de tension :

  • volt — volts
  • voltageUnits::mV — millivolts

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Cette fonction ne nécessite pas d’attente et le projet continuera de s’exécuter immédiatement après l’appel.

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

  • Les fonctions telles que isDone et isSpinning ne sont pas applicables à spin, car il n’utilise pas de mouvement basé sur une cible (n’a pas de paramètre de rotation rotation ou time).

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

spinFor#

La fonction spinFor fait tourner un moteur ou un groupe de moteurs sur une distance ou pendant une durée précise. La rotation est définie par rapport à la position actuelle du moteur ou du groupe de moteurs. Par défaut, le programme attend la fin de la rotation avant d’exécuter la ligne de code suivante.

Available Functions

1 — Tourne sur une distance spécifique à la vitesse fournie dans l’appel de fonction.

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Accepte un paramètre de direction et tourne sur une distance spécifique à la vitesse fournie dans l’appel de fonction.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — Tourne sur une distance spécifique en utilisant la vitesse du moteur actuellement configurée.

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — Accepte un paramètre de direction et tourne sur une distance spécifique en utilisant la vitesse du moteur actuellement configurée.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — Tourne pendant une durée spécifique à la vitesse fournie dans l’appel de fonction.

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — Accepte un paramètre de direction et tourne pendant une durée spécifique à la vitesse fournie dans l’appel de fonction.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — Tourne pendant une durée spécifique en utilisant la vitesse du moteur actuellement configurée.

bool spinFor(
 double    time,
 timeUnits units );

8 — Accepte un paramètre de direction et tourne pendant une durée spécifique en utilisant la vitesse du moteur actuellement configurée.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

Paramètre

Taper

Description

dir

directionType

Sens de rotation du moteur ou du groupe de moteurs : forward ou reverse.

rotation

double

La distance parcourue par le moteur ou le groupe de moteurs.

units

rotationUnits

Unité de rotation :

  • deg / degrees — degrés
  • turns / rev — tours

time

double

La durée de rotation du moteur ou du groupe de moteurs.

units

timeUnits

The unit of time:

  • seconds / sec — seconds
  • msec — milliseconds

velocity

double

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

units_v

velocityUnits

The unit used to represent velocity:

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

waitForCompletion

bool

​

  • true (par défaut) — Le projet attend que le moteur ou le groupe de moteurs ait fini de tourner avant d’exécuter la ligne de code suivante.
  • false — La ligne de code suivante s’exécute immédiatement.

Return Values

Renvoie une valeur booléenne indiquant si le moteur ou le groupe de moteurs a atteint la valeur cible.

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • L’exécution d’une autre fonction de mouvement de moteur (telle que spin ou stop) pendant que spinFor est en cours interrompra le mouvement en cours.

  • Parce que spinFor est basé sur la cible (utilise un paramètre de rotation rotation ou time ), les fonctions telles que isDone et isSpinning fonctionnent avec spinFor.

Examples
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);

spinToPosition#

spinToPosition fait tourner un moteur ou un groupe de moteurs vers une position spécifique.

La position d’un moteur ou d’un groupe de moteurs correspond à sa rotation, mesurée en degrés degrees ou turns). Un tour équivaut à 360 degrés. Au début d’un projet, la position du moteur ou du groupe de moteurs est initialisée à 0 degré. Elle peut également être définie à l’aide de la fonction setPosition.

Les valeurs de position sont absolues. Cela signifie que le sens de rotation dépend de la position actuelle du moteur ou du groupe de moteurs.

Par exemple, si le moteur ou le groupe de moteurs démarre à 0 degré et atteint une position de 720 degrés, il effectuera deux tours dans le sens horaire. S’il atteint ensuite une position de 360 ​​degrés, il effectuera un tour dans le sens antihoraire, car 360 est inférieur à 720.

Available Functions

1 — Tourne jusqu’à une position spécifique à la vitesse fournie dans l’appel de fonction.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Tourne vers une position spécifique en utilisant la vitesse du moteur actuellement configurée.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

Paramètre

Taper

Description

rotation

double

La valeur de position vers laquelle le moteur ou le groupe de moteurs tournera.

units

rotationUnits

Unité de rotation :

  • deg / degrees — degrés
  • turns / rev — tours

velocity

double

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

units_v

velocityUnits

L’unité utilisée pour représenter la vitesse velocity ;

  •  ;pct  ;
  • rpm
  • dps

waitForCompletion

bool

​

  • true (par défaut) — Le projet attend que le moteur ou le groupe de moteurs ait fini de tourner avant d’exécuter la ligne de code suivante.
  • false — La ligne de code suivante s’exécute immédiatement.

Return Values

Renvoie une valeur booléenne indiquant si le moteur ou le groupe de moteurs a démarré le mouvement cible demandé.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • L’exécution d’une autre fonction de mouvement de moteur (telle que spin ou spinFor) pendant que spinToPosition est en cours interrompra le mouvement en cours.

  • Parce que spinToPosition est basé sur la cible (utilise un paramètre de rotation rotation ), les fonctions telles que isDone et isSpinning fonctionnent avec spinToPosition.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop empêche un moteur ou un groupe de moteurs de tourner.

Available Functions

1 — Arrête le moteur ou le groupe de moteurs en utilisant le mode de freinage actuellement configuré.

void stop();

2 — Arrête le moteur ou le groupe de moteurs en utilisant le mode de freinage fourni dans l’appel de fonction.

void stop(
  brakeType mode );

Parameters

Paramètre

Taper

Description

mode

brakeType

Optionnel. Mode d’arrêt du moteur ou du groupe de moteurs :

  • coast  — Arrêt progressif ;
  • brake  — Arrêt immédiat ;
  • hold  — Arrêt immédiat et maintien de la position du moteur ou du groupe de moteurs.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • L’appel de stop arrête immédiatement tout mouvement en cours d’un moteur ou d’un groupe de moteurs.

  • Si aucun mode de freinage n’est spécifié, le moteur ou le groupe de moteurs utilise le mode de freinage actuellement configuré.

  • stop interrompt tout mouvement actif basé sur une cible (tel que spinFor ou spinToPosition).

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

Mutateurs#

setVelocity#

La commande setVelocity indique à un moteur ou à un groupe de moteurs sa vitesse de rotation. Un pourcentage plus élevé augmente la vitesse de rotation, tandis qu’un pourcentage plus faible la diminue.

Chaque projet commence par une vitesse de rotation de 50 % pour chaque moteur ou groupe de moteurs, par défaut.

Remarque : Une vitesse plus élevée fait tourner le moteur ou le groupe de moteurs plus vite, mais la précision peut être moindre. Une vitesse plus faible fait tourner le moteur ou le groupe de moteurs plus lentement, mais la précision peut être meilleure.

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

Parameters

Paramètre

Taper

Description

velocity

double

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

units

velocityUnits

The unit used to represent velocity:

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

Return Values

Cette fonction ne renvoie aucune valeur.

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

Examples
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);

setMaxTorque#

Le couple indique la force avec laquelle un moteur ou un groupe de moteurs peut pousser ou tirer pendant sa rotation.

setMaxTorque définit le couple maximal qu’un moteur ou un groupe de moteurs est autorisé à utiliser.

Un pourcentage plus élevé permet au moteur ou au groupe de moteurs de fournir une force plus importante, par exemple pour soulever un objet lourd. Un pourcentage plus faible limite la force que le moteur ou le groupe de moteurs peut fournir. Cela permet de protéger le robot si le moteur ou le groupe de moteurs se bloque ou atteint sa limite de course.

Chaque projet commence avec le couple de chaque moteur ou groupe de moteurs réglé par défaut à 50 %.

Available Functions

1 — Définit le couple maximal en pourcentage du couple nominal du moteur ou du groupe de moteurs.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Définit le couple maximal en utilisant des unités de couple physiques.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Définit le couple maximal en limitant le courant du moteur.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Paramètre

Taper

Description

value

double

Le couple maximal que le moteur ou le groupe de moteurs peut utiliser.

units

percentUnits

Spécifie le couple en pourcentage : percent pct %

units

torqueUnits

Spécifie le couple en unités physiques telles que :

  • Nm — Newton-mètres
  • InLb — Pouce-livre

units

currentUnits

Spécifie le couple en limitant le courant moteur :

  • amp

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Lors de l’utilisation currentUnits, le couple est limité en restreignant la quantité de courant électrique que le moteur ou le groupe de moteurs peut utiliser.

setPosition#

La position d’un moteur ou d’un groupe de moteurs correspond à sa rotation, mesurée en degrés degrees ou turns. Un tour équivaut à 360 degrés. La fonction setPosition modifie la position actuelle du moteur ou du groupe de moteurs en lui attribuant une nouvelle valeur.

Par exemple, si un moteur ou un groupe de moteurs a pivoté de 180 degrés, le fait de le positionner à 0 degré le ramènera à sa position initiale. Le moteur ou le groupe de moteurs pourra ensuite pivoter selon cette nouvelle valeur.

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Paramètre

Taper

Description

value

double

Valeur de position à définir pour le moteur ou le groupe de moteurs.

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Après avoir appelé setPosition, les appels suivants à spinToPosition utiliseront la position mise à jour comme référence.

setStopping#

setStopping définit comment un moteur ou un groupe de moteurs s’arrêtera de bouger : par freinage, par roue libre ou par maintien.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Paramètre

Taper

Description

mode

brakeType

Mode d’arrêt du moteur ou du groupe de moteurs :

  • brake — Arrêt immédiat.
  • coast — Ralentissement jusqu’à l’arrêt.
  • hold — Arrêt immédiat et maintien de la position du moteur ou du groupe de moteurs.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Tout appel ultérieur à stop sans mode de freinage spécifié utilisera cette valeur.

setTimeout#

setTimeout définit le délai maximal pendant lequel un moteur ou un groupe de moteurs tente de terminer un mouvement. Si le moteur ou le groupe de moteurs ne parvient pas à terminer dans ce délai, il interrompt ses tentatives et passe à la ligne de code suivante. Cela évite le blocage du moteur ou du groupe de moteurs lors d’un mouvement.

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

Paramètre

Taper

Description

time

int32_t

Durée pendant laquelle le moteur ou le groupe de moteurs peut tenter d’achever un mouvement. Cette valeur doit être un entier positif.

units

timeUnits

Unité de temps :

  • msec — millisecondes
  • seconds sec — secondes

Valeurs de retour

Cette fonction ne renvoie aucune valeur.

Notes
  • Le délai d’expiration du moteur ou du groupe de moteurs est utilisé pour empêcher que les mouvements qui n’atteignent pas leur position cible n’interrompent l’exécution des autres commandes dans la pile.

  • Si le moteur ou le groupe de moteurs n’atteint pas sa position cible avant l’expiration du délai, il cessera d’essayer et passera à la ligne de code suivante.

  • Le délai d’attente s’applique aux fonctions qui ont une valeur cible telles que spinFor et spinToPosition.

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

Getters#

isDone#

La fonction isDone renvoie isDone , indiquant si le moteur ou le groupe de moteurs a terminé son mouvement (valeur booléenne). Cette information peut être utilisée pour contrôler le déclenchement d’autres actions en fonction du mouvement du moteur ou du groupe de moteurs.

  • true — Le moteur ou le groupe de moteurs a terminé son mouvement.

  • false — Le moteur ou le groupe de moteurs est toujours en mouvement.

Cette fonction fonctionne avec les fonctions Motion suivantes qui ont le paramètre waitForCompletion : spinFor et spinToPosition.

Available Functions
bool isDone();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie, sous forme de valeur booléenne, si le moteur ou le groupe de moteurs a terminé son mouvement.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone fonctionne avec les fonctions Motion suivantes qui ont le paramètre waitForCompletion : spinFor et spinToPosition.

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isDone()) {
    Drivetrain.stop();
  } else {
    Drivetrain.drive(forward);
  }
}

isSpinning#

La fonction isSpinning (valeur booléenne isSpinning indique si le moteur ou le groupe de moteurs est en rotation. Cette information peut être utilisée pour synchroniser d’autres actions en fonction du mouvement du moteur ou du groupe de moteurs.

  • true — Le moteur ou le groupe de moteurs tourne.

  • false — Le moteur ou le groupe moteur ne tourne pas.

Cette fonction fonctionne avec les fonctions de mouvement Motion telles que spin, spinFor et spinToPosition.

Available Functions
bool isSpinning();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie, sous forme de valeur booléenne, si le moteur ou le groupe de moteurs est en rotation.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isSpinning()) {
    Drivetrain.drive(forward);
  } else {
    Drivetrain.stop();
  }
}

position#

La position d’un moteur ou d’un groupe de moteurs correspond à sa rotation, mesurée en degrees ou turns. Un tour équivaut à 360 degrés. position renvoie la position actuelle du moteur ou du groupe de moteurs.

Au début d’un projet, la position du moteur ou du groupe de moteurs est initialement fixée à 0 degré. Si le moteur ou le groupe de moteurs effectue une rotation complète dans un sens, sa position sera de 360 ​​degrés, soit un tour. S’il effectue une rotation dans l’autre sens, sa position sera négative.

Available Functions
double position(
  rotationUnits units );

Parameters

Paramètre

Taper

Description

units

rotationUnits

L’unité permettant de ramener le moteur ou le groupe de moteurs à la position :

  • deg / degrees — degrés
  • turns / rev — tours

Return Values

Renvoie un double double représentant la position actuelle du moteur ou du groupe de moteurs dans les unités spécifiées.

Notes
  • L’appel à setPosition modifie le point de référence pour cette valeur.

  • La valeur renvoyée reflète la lecture actuelle de l’encodeur et n’indique pas si le moteur ou le groupe de moteurs est en mouvement.

  • Lorsqu’elle est appelée sur un motor_group, cette fonction renvoie la position du premier moteur du groupe.

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

La vitesse velocity indique la vitesse de rotation du moteur ou du groupe de moteurs.

Une valeur positive indique que le moteur ou le groupe de moteurs tourne dans le sens horaire. Une valeur négative indique qu’il tourne dans le sens antihoraire.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Paramètre

Taper

Description

units

velocityUnits

Unité de vitesse :

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

Return Values

Renvoie un nombre décimal double représentant la vitesse de rotation du moteur ou du groupe de moteurs dans les unités spécifiées.

Notes

  • Lorsqu’elle est appelée sur un motor_group, cette fonction renvoie la vitesse du premier moteur du groupe.

current#

La fonction current indique l’intensité du courant électrique consommé par le moteur ou le groupe de moteurs. L’intensité correspond à la quantité d’électricité qui traverse le moteur ou le groupe de moteurs. Exprimée en ampères, elle est comprise entre 0,0 et 1,2 A.

Une intensité plus élevée signifie que le moteur ou le groupe de moteurs consomme davantage de courant électrique. Cela peut se produire lorsque le moteur ou le groupe de moteurs soulève une charge lourde, exerce une pression sur un objet ou tente de se dégager après un blocage.

Ce dispositif permet de vérifier si le moteur ou le groupe de moteurs peine lors d’un mouvement. Si le courant reste élevé, le moteur risque de chauffer ou de consommer moins d’énergie.

Available Functions

1 — Renvoie le courant électrique du moteur ou du groupe de moteurs en ampères.

double current(
  currentUnits units = amp );

2 — Renvoie le courant électrique du moteur ou du groupe de moteurs en pourcentage du courant nominal maximal.

double current(
  percentUnits units );

Parameters

Paramètre

Taper

Description

units

currentUnits

Unité utilisée pour représenter le courant :amp (par défaut) — ampères

units

percentUnits

Représente le courant en pourcentage du courant nominal maximal du moteur :percent pct  % — %

Return Values

Renvoie un double représentant la quantité de courant électrique consommée par le moteur ou le groupe de moteurs dans les unités spécifiées.

Notes

  • Lorsqu’elle est appelée sur un groupe de moteurs motor_group, cette fonction renvoie le courant électrique total pour tous les moteurs du groupe.

power#

La puissance power le moteur ou le groupe de moteurs en watts. La puissance représente la vitesse à laquelle le moteur ou le groupe de moteurs consomme de l’énergie.

Une valeur de puissance plus élevée signifie que le moteur ou le groupe de moteurs consomme de l’énergie plus rapidement. Cela peut se produire lorsque le moteur ou le groupe de moteurs soulève une charge lourde, exerce une pression sur un objet ou tente de se dégager après un blocage.

On peut utiliser cette fonction pour comparer les mouvements ou vérifier si le moteur ou le groupe de moteurs peine. Si la puissance reste élevée, le moteur risque de chauffer ou de consommer moins d’énergie.

Available Functions
double power(
  powerUnits units = watt );

Paramètres

Paramètre

Taper

Description

units

powerUnits

Unité utilisée pour représenter la puissance du moteur :

  • watt (par défaut) — watts

Valeurs de retour

Renvoie un double représentant la puissance utilisée par le moteur ou le groupe de moteurs en watts.

Notes

  • Lorsqu’elle est appelée sur un motor_group, cette fonction renvoie la puissance électrique du premier moteur du groupe.

torque#

Le couple indique la force avec laquelle un moteur ou un groupe de moteurs se tord, pousse ou tire pendant sa rotation.

torque indique la quantité de couple utilisée par le moteur ou le groupe de moteurs.

Une valeur de couple plus élevée signifie que le moteur ou le groupe de moteurs exerce une force de poussée ou de traction plus importante. Cela peut se produire lorsque le moteur ou le groupe de moteurs soulève une charge lourde, exerce une pression sur un objet ou tente de se dégager d’un blocage.

Cela peut servir à vérifier si le moteur ou le groupe de moteurs peine ou à comparer la force de poussée nécessaire pour différents mouvements.

Pour régler le couple d’un moteur ou d’un groupe de moteurs, utilisez setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Paramètres

Paramètre

Taper

Description

units

torqueUnits

Unité utilisée pour représenter le couple moteur :

  • Nm (par défaut) — Newton-mètres
  • InLb — Pouce-livre

Valeurs de retour

Renvoie un double double représentant le couple utilisé par le moteur ou le groupe de moteurs dans les unités spécifiées.

Notes

  • Lorsqu’elle est appelée sur un groupe de moteurs motor_group, cette fonction renvoie le couple de sortie mécanique du premier moteur du groupe.

efficiency#

efficiency indique l’efficacité avec laquelle le moteur ou le groupe de moteurs utilise la puissance, en pourcentage de 0 % à 100 %.

Le rendement indique la part de la puissance du moteur ou du groupe de moteurs réellement utilisée pour le mouvement. Un rendement élevé signifie qu’une plus grande partie de la puissance est mise à contribution. Un rendement faible peut s’expliquer par un effort important du moteur ou du groupe de moteurs, mais un faible déplacement, par exemple s’il est bloqué ou s’il appuie sur un obstacle.

Cela peut servir à comparer des mouvements ou à vérifier si le moteur ou le groupe de moteurs gaspille de l’énergie au lieu de l’utiliser pour le mouvement.

Available Functions
double efficiency(
  percentUnits units = percent );

Paramètres

Paramètre

Taper

Description

units

percentUnits

The unit used to represent motor efficiency:

  • percent / percentUnits::pct (default) — percent

Valeurs de retour

Renvoie un nombre décimal double représentant le pourcentage d’efficacité avec lequel le moteur ou le groupe de moteurs utilise la puissance.

Notes

  • Lorsqu’elle est appelée sur un motor_group, cette fonction renvoie l’efficacité du premier moteur du groupe.

temperature#

La fonction temperature renvoie la température du moteur ou du groupe de moteurs.

La température du moteur indique son niveau de chaleur. Une température plus élevée signifie que le moteur ou le groupe de moteurs chauffe pendant son fonctionnement. Pour un fonctionnement optimal, le moteur doit maintenir sa température en dessous de 55°C

Si le moteur ou le groupe de moteurs surchauffe, il réduira son courant maximal pour se protéger. À 70°C, un moteur s’arrêtera de fonctionner jusqu’à son refroidissement.

Cela peut servir à vérifier si le moteur ou le groupe de moteurs chauffe excessivement lors de mouvements répétés, de longs fonctionnements ou lorsqu’il exerce une pression contre un objet.

Available Functions

1 — Renvoie la température du moteur ou du groupe de moteurs en pourcentage de la température de fonctionnement maximale.

double temperature(
  percentUnits units = percent );

2 — Renvoie la température du moteur ou du groupe de moteurs en unités de température physique.

double temperature(
  temperatureUnits units );

Paramètres

Paramètre

Taper

Description

units

percentUnits

Unité utilisée pour représenter la température du moteur ou du groupe de moteurs en pourcentage :

  • percent percentUnits::pct (par défaut) — %

units

temperatureUnits

L’unité utilisée pour représenter la température du moteur ou du groupe de moteurs en degrés :

  • celsius — degrés Celsius
  • fahrenheit — degrés Fahrenheit

Valeurs de retour

Renvoie un double double représentant la température du moteur ou du groupe de moteurs dans les unités spécifiées.

Notes

  • La plage de température de fonctionnement du moteur est d’environ 20°C (68°F) à 70°C (158°F).

  • Lorsqu’elle est appelée sur un motor_group, cette fonction renvoie la température du premier moteur du groupe.

voltage#

voltage renvoie la tension électrique fournie au moteur ou au groupe de moteurs.

Available Functions
double voltage(
  voltageUnits units = volt );

Paramètres

Paramètre

Taper

Description

units

voltageUnits

Unité de tension :

  • volt (par défaut)
  • voltageUnits::mV — millivolts

Valeurs de retour

Renvoie un double représentant la tension électrique fournie au moteur ou au groupe de moteurs dans les unités spécifiées.

Notes

  • Lorsqu’elle est appelée sur un motor_group, cette fonction renvoie la tension électrique du premier moteur du groupe.

direction#

direction renvoie le sens de rotation du moteur ou du groupe de moteurs.

Available Functions
directionType direction();

Paramètres

Cette fonction ne prend aucun paramètre.

Valeurs de retour

Renvoie une direction de type directionType indiquant le sens de rotation actuel du moteur ou du groupe de moteurs :

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed indique si le moteur ou le groupe de moteurs est connecté au cerveau IQ (1ère génération).

Available Functions
bool installed();

Paramètres

Cette fonction ne prend aucun paramètre.

Valeurs de retour

Renvoie une valeur booléenne bool indiquant si le moteur ou le groupe de moteurs est connecté.

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count renvoie le nombre de moteurs dans un groupe de moteurs.

Available Functions
int32_t count();

Paramètres

Cette fonction ne prend aucun paramètre.

Valeurs de retour

Renvoie un int32_t représentant le nombre de moteurs dans le groupe de moteurs.