Gyrosensor#

Einführung#

Die Gyro-Klasse gyro dient zur Messung der Richtung und der Drehbewegung des Roboters und ermöglicht so die Verfolgung der Orientierung über die Zeit.

Klassenkonstruktor#

gyro(
  triport::port &port);

Klassendestruktor#

Destroys the gyro object and releases associated resources.

virtual ~gyro();

Parameter#

Parameter

Typ

Beschreibung

port

triport::port &

Der 3-Draht-Anschluss, an den der Gyrosensor angeschlossen ist, wird als Brain.ThreeWirePort.X oder ExpanderName.Xgeschrieben, wobei X der Portbuchstabe ist (zum Beispiel Brain.ThreeWirePort.A oder Expander1.A).

Beispiel#

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

Mitgliedsfunktionen#

Die Klasse gyro umfasst die folgenden Memberfunktionen:

  • calibrate — Kalibriert das Gyroskop für eine stabile Kursverfolgung.

  • setHeading — Legt die Ausrichtung des Gyroskops fest.

  • setRotation — Legt den aktuellen Rotationswert des Gyroskops fest.

  • heading — Gibt die Richtung des Kreisels zurück.

  • rotation — Gibt die Rotation des Gyroskops zurück.

Bevor Funktionen des Typs gyro aufgerufen werden können, muss eine Instanz des Typs gyro erstellt werden, wie unten dargestellt:

/* 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#

Kalibriert den Gyrosensor.

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Parameter

Typ

Beschreibung

value

int32_t

Die für die Kalibrierung aufzuwendende Zeit in Sekunden. Standardwert: 0.

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • calibrate sollte nur aufgerufen werden, wenn sich der Sensor nicht bewegt.

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

setHeading#

Legt die Ausrichtung des Gyrosensors auf einen bestimmten Wert fest.

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

Parameter

Typ

Beschreibung

value

double

Der Wert, der für die neue Überschrift verwendet werden soll.

units

rotationUnits

Die Einheit, die die Richtung angibt:

  • degrees
  • turns
Return Values

Diese Funktion gibt keinen Wert zurück.

setRotation#

Stellt die Drehung des Gyrosensors auf einen bestimmten Wert ein.

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

Parameters

Parameter

Typ

Beschreibung

value

double

Der Wert, der für den neuen Rotationswert verwendet werden soll.

units

rotationUnits

Die Einheit, die den Rotationswert darstellt:

  • degrees
  • turns
Return Values

Diese Funktion gibt keinen Wert zurück.

heading#

Gibt die aktuelle Ausrichtung des Gyrosensors zurück.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parameter

Typ

Beschreibung

units

rotationUnits

Die Einheit, die den Kurs darstellt:

  • degrees (Standard)
  • turns
Return Values

Gibt einen double zurück, der die aktuelle Ausrichtung des Gyrosensors in den angegebenen Einheiten darstellt, standardmäßig degrees.

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

rotation#

Gibt die aktuelle Drehung des Gyrosensors zurück.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parameter

Typ

Beschreibung

units

rotationUnits

Die Einheit, die den Rotationswert darstellt:

  • degrees (Standard)
  • turns
Return Values

Gibt einen double zurück, der den aktuellen Rotationswert des Gyrosensors in den angegebenen Einheiten darstellt, standardmäßig degrees.

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