Capteur de rotation#

Introduction#

La classe rotation est utilisée pour contrôler et accéder aux données d’un capteur de rotation EXP.

Le capteur de rotation mesure la rotation d’un arbre. Il peut être utilisé partout sur un robot où un arbre est en rotation, même si cet arbre n’est pas directement relié à un moteur.

Un moteur possède un codeur intégré qui suit sa propre rotation. Le capteur de rotation fonctionne comme un codeur externe et suit la rotation d’un arbre séparé.

Le capteur de rotation fournit l’angle, la position et la vitesse de l’arbre. L’angle correspond à la position absolue de l’arbre, comprise entre 0 et 359,99 degrés. Il n’est pas réinitialisé au démarrage d’un projet ni à la mise hors tension du robot. La position enregistre le nombre de degrés ou de tours effectués par l’arbre dans les deux sens pendant un projet et peut être réinitialisée si nécessaire.

Le capteur de rotation est compatible avec les arbres VEX standard de 1/8 pouce et 1/4 pouce.

Constructeurs de classes#

rotation(
    int32_t index,
    bool    reverse = false );

Destructeur de classe#

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

virtual ~rotation();

Paramètres#

Paramètre

Taper

Description

index

int32_t

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

reverse

bool

Optionnel. Inversion du signal du capteur de rotation :

  • true — Inverse le sens des valeurs d’angle et de position.
  • false (par défaut) — Indique les valeurs d’angle et de position dans le sens normal.

Exemples#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

Fonctions des membres#

La classe rotation comprend les fonctions membres suivantes :

  • setPosition — Définit la position actuelle du capteur de rotation sur une valeur spécifique.

  • angle — Renvoie l’angle actuel de l’arbre de 0 à 359,99 degrés.

  • position — Renvoie la distance de rotation de l’arbre en degrés ou en tours.

  • velocity — Renvoie la vitesse de rotation de l’arbre.

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

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Définit la position actuelle du capteur de rotation sur une valeur spécifique.

La position correspond à la rotation de l’arbre au cours d’un projet. La modification de la position change la valeur de position actuelle sans déplacer l’arbre.

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

Parameters

Paramètre

Taper

Description

value

double

Valeur de position à attribuer au capteur de rotation. Il peut s’agir d’un entier ou d’un nombre décimal.

units

rotationUnits

Unité de position :

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

Return Values

Cette fonction ne renvoie aucune valeur.

angle#

Renvoie l’angle actuel de l’arbre.

La fonction Angle indique la position absolue de l’arbre sur une rotation complète, de 0 à 359,99 degrés. Elle ne se réinitialise pas au démarrage d’un projet ni à la mise hors tension du robot.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Paramètre

Taper

Description

units

rotationUnits

Optionnel. Unité d’angle :

  • deg / degrees (par défaut) — degrés
  • turns / rev — tours

Return Values

Renvoie un double double représentant l’angle actuel de l’arbre dans les unités spécifiées.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Indique la distance de rotation de l’arbre.

Contrairement à l’angle, la position peut dépasser 359,99 degrés ou être inférieure à 0 degré. Elle indique la rotation de l’arbre dans le sens avant ou arrière pendant un projet et peut être réinitialisée au besoin.

Available Functions
double position( rotationUnits units );

Parameters

Paramètre

Taper

Description

units

rotationUnits

Unité de position :

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

Return Values

Renvoie un double représentant la distance de rotation de l’arbre dans les unités spécifiées.

velocity#

Indique la vitesse de rotation de l’arbre.

Available Functions
double velocity( velocityUnits units );

Parameters

Paramètre

Taper

Description

units

velocityUnits

Unité de vitesse :

  • rpm — tours par minute
  • dps — degrés par seconde

Return Values

Renvoie un double représentant la vitesse de rotation de l’arbre dans les unités spécifiées.