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 |
|---|---|---|
|
|
Le port intelligent auquel le capteur gyroscopique est connecté, écrit sous la forme |
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 Functionsvoid calibrate();
Cette fonction n’accepte aucun paramètre.
Return ValuesCette fonction ne renvoie aucune valeur.
NotesL’é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.
// 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 Functionsvoid setHeading(
double value,
rotationUnits units );
Paramètres |
Taper |
Description |
|---|---|---|
|
|
La valeur à utiliser pour le nouvel en-tête. |
|
|
L’unité qui représente le cap :
|
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 Functionsvoid setRotation(
double value,
rotationUnits units );
Paramètres |
Taper |
Description |
|---|---|---|
|
|
La valeur à utiliser pour la nouvelle valeur de rotation. |
|
|
L’unité qui représente la valeur de rotation :
|
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 Functionsdouble heading(
rotationUnits units = degrees );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
L’unité qui représente le cap :
|
Renvoie un double double représentant le cap actuel du capteur gyroscopique dans les unités spécifiées, par défaut degrees.
// 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 Functionsdouble rotation(
rotationUnits units = degrees );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
L’unité représentant la valeur de rotation :
|
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.
// 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 Functionsdouble rate(
rateUnits units = rateUnits::dps );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
L’unité représentant la vitesse :
|
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.