Capteur gyroscopique#

Introduction#

Le module gyro est utilisé avec un capteur gyroscopique pour mesurer les mouvements de rotation autour d’un axe unique. Il permet de déterminer la direction vers laquelle le robot est orienté et l’angle de rotation.

Constructeur de classe#

gyro(
    int32_t index );

Destructeur de classe#

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

virtual ~gyro();

Paramètres#

Paramètre

Taper

Description

index

int32_t

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

Exemple#

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

Fonctions des membres#

La classe gyro comprend les fonctions membres suivantes :

  • calibrate — Calibre le capteur gyroscopique.

  • setHeading — Définit le cap actuel du capteur gyroscopique sur une nouvelle valeur de cap.

  • setRotation — Définit la rotation actuelle du capteur gyroscopique sur une nouvelle valeur de rotation.

  • heading — Renvoie la direction vers laquelle le capteur gyroscopique est orienté.

  • rotation — Renvoie la distance de rotation du capteur gyroscopique.

  • rate — Renvoie la vitesse de rotation du capteur gyroscopique.

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

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

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

calibrate#

Calibre le capteur gyroscopique.

Available Functions
void calibrate();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • L’étalonnage permet au capteur gyroscopique de mesurer correctement les virages. Veillez à ce que le capteur reste immobile pendant l’étalonnage. Si le capteur bouge pendant cette opération, les valeurs de cap, de rotation et de vitesse angulaire risquent d’être inexactes.

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

Définit le cap actuel du capteur gyroscopique sur une valeur spécifique.

Le cap correspond à la direction vers laquelle est orienté le capteur gyroscopique, mesurée de 0 à 359,99 degrés. Le réglage du cap modifie la référence de direction actuelle du capteur.

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

Paramètres

Taper

Description

value

double

La valeur à utiliser pour le nouvel en-tête.

units

rotationUnits

L’unité qui représente le cap :

  • degrees
  • turns

Return Values

Cette fonction ne renvoie aucune valeur.

setRotation#

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

La rotation correspond à l’angle de rotation du capteur gyroscopique. Contrairement au cap, la rotation peut dépasser 359,99 degrés ou être inférieure à 0 degré.

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

Parameters

Paramètres

Taper

Description

value

double

La valeur à utiliser pour la nouvelle valeur de rotation.

units

rotationUnits

L’unité qui représente la valeur de rotation :

  • degrees
  • turns

Return Values

Cette fonction ne renvoie aucune valeur.

heading#

Renvoie le cap actuel du capteur gyroscopique.

Le cap correspond à la direction vers laquelle pointe le capteur gyroscopique, mesurée de 0 à 359,99 degrés. Si le capteur dépasse 359,99 degrés, le cap revient à 0 degré.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Paramètre

Taper

Description

units

rotationUnits

L’unité qui représente le cap :

  • degrees (par défaut)
  • turns

Return Values

Renvoie un double double représentant le cap actuel du capteur gyroscopique dans les unités spécifiées, par défaut degrees.

Examples
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);

rotation#

Renvoie la rotation actuelle du capteur gyroscopique.

La rotation correspond à l’angle de rotation du capteur gyroscopique. Contrairement au cap, la rotation peut dépasser 359,99 degrés ou être inférieure à 0 degré. Par exemple, deux tours complets vers la droite correspondent à une rotation de 720 degrés. Un tour complet vers la gauche à partir de 0 degré correspond à une rotation de -360 degrés.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Paramètre

Taper

Description

units

rotationUnits

L’unité représentant la valeur de rotation :

  • degrees (par défaut)
  • turns

Return Values

Renvoie un double double représentant la valeur de rotation actuelle du capteur gyroscopique dans les unités spécifiées, par défaut degrees.

Examples
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);

rate#

Renvoie la vitesse de rotation du capteur gyroscopique.

La vitesse de rotation correspond à la vitesse de rotation du capteur gyroscopique. Sa valeur peut être positive ou négative selon le sens de rotation du capteur.

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

Paramètre

Taper

Description

units

rateUnits

L’unité représentant la vitesse :

  • rateUnits::dps (par défaut) — degrés par seconde
  • rateUnits::rpm — rotations par minute

Return Values

Renvoie un double double représentant le taux de changement actuel du capteur gyroscopique dans les unités spécifiées, par défaut à rateUnits::dps.