Capteur gyroscopique#

Introduction#

Le gyroscope gyro est utilisé pour mesurer le cap et le mouvement de rotation du robot, permettant ainsi le suivi de son orientation au fil du temps.

Constructeur de classe#

gyro(
  triport::port &port);

Destructeur de classe#

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

virtual ~gyro();

Paramètres#

Paramètre

Taper

Description

port

triport::port &

Le port à 3 fils auquel le capteur gyroscopique 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).

Exemple#

// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

Fonctions des membres#

La classe gyro comprend les fonctions membres suivantes :

  • calibrate — Calibre le gyroscope pour un suivi de cap stable.

  • setHeading — Définit le cap du gyroscope.

  • setRotation — Définit la valeur de rotation actuelle du gyroscope.

  • heading — Renvoie le cap du gyroscope.

  • rotation — Renvoie la rotation du gyroscope.

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 A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

calibrate#

Calibre le capteur gyroscopique.

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Paramètres

Taper

Description

value

int32_t

Durée d’étalonnage en secondes. Valeur par défaut : 0.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • La fonction calibrate ne doit être appelée que lorsque le capteur est immobile.

Examples
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);

setHeading#

Définit l’orientation du capteur gyroscopique sur une valeur spécifique.

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 du capteur gyroscopique sur une valeur spécifique.

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.

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 = GyroA.heading();
Brain.Screen.print(value);

rotation#

Renvoie la rotation actuelle du capteur gyroscopique.

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 = GyroA.rotation();
Brain.Screen.print(value);