Gyrosensor#
Einführung#
Die Gyro-Klasse gyro wird mit einem Gyrosensor verwendet, um Drehbewegungen um eine einzelne Achse zu messen. Sie kann die Blickrichtung des Roboters und den Drehwinkel erfassen.
Klassenkonstruktor#
gyro(
int32_t index );
Klassendestruktor#
Destroys the gyro object and releases associated resources.
virtual ~gyro();
Parameter#
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Smart Port, an den der Gyrosensor angeschlossen ist, wird als |
Beispiel#
// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);
Mitgliedsfunktionen#
Die Klasse gyro umfasst die folgenden Memberfunktionen:
calibrate— Kalibriert den Gyrosensor.setHeading— Setzt den aktuellen Kurs des Gyrosensors auf einen neuen Kurswert.setRotation— Setzt die aktuelle Rotation des Gyrosensors auf einen neuen Rotationswert.heading— Gibt die Richtung zurück, in die der Gyrosensor zeigt.rotation— Gibt zurück, wie weit sich der Gyrosensor gedreht hat.rate— Gibt die Rotationsgeschwindigkeit des Gyrosensors 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 1
gyro Gyro1 = gyro(PORT1);
calibrate#
Kalibriert den Gyrosensor.
Available Functionsvoid calibrate();
Diese Funktion akzeptiert keine Parameter.
Return ValuesDiese Funktion gibt keinen Wert zurück.
NotesDie Kalibrierung hilft dem Gyrosensor, Drehungen korrekt zu messen. Halten Sie den Sensor während der Kalibrierung ruhig. Bewegt sich der Sensor während der Kalibrierung, werden Kurs, Rotation und Drehrate möglicherweise nicht korrekt gemessen.
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();
setHeading#
Stellt die aktuelle Ausrichtung des Gyrosensors auf einen bestimmten Wert ein.
Die Ausrichtung des Gyrosensors wird als Kurs bezeichnet und von 0 bis 359,99 Grad gemessen. Durch Einstellen des Kurses ändert sich die aktuelle Richtungsreferenz des Sensors.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Wert, der für die neue Überschrift verwendet werden soll. |
|
|
Die Einheit, die die Richtung angibt:
|
Diese Funktion gibt keinen Wert zurück.
setRotation#
Stellt die aktuelle Drehung des Gyrosensors auf einen bestimmten Wert ein.
Die Rotation gibt an, um welchen Winkel sich der Gyrosensor gedreht hat. Im Gegensatz zur Kursrichtung kann die Rotation über 359,99 Grad steigen oder unter 0 Grad fallen.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Wert, der für den neuen Rotationswert verwendet werden soll. |
|
|
Die Einheit, die den Rotationswert darstellt:
|
Diese Funktion gibt keinen Wert zurück.
heading#
Gibt die aktuelle Ausrichtung des Gyrosensors zurück.
Die Richtung, in die der Gyrosensor zeigt, wird von 0 bis 359,99 Grad gemessen. Dreht sich der Sensor über 359,99 Grad hinaus, springt die Richtung wieder auf 0 Grad zurück.
Available Functionsdouble heading(
rotationUnits units = degrees );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Einheit, die den Kurs darstellt:
|
Gibt einen double zurück, der die aktuelle Ausrichtung des Gyrosensors in den angegebenen Einheiten darstellt, standardmäßig degrees.
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);
rotation#
Gibt die aktuelle Drehung des Gyrosensors zurück.
Die Rotation gibt an, um welchen Winkel sich der Gyrosensor gedreht hat. Im Gegensatz zur Kursrichtung kann die Rotation über 359,99 Grad steigen oder unter 0 Grad fallen. Beispielsweise entspricht eine Drehung um zwei volle Umdrehungen nach rechts einer Rotation von 720 Grad. Eine Drehung um eine volle Umdrehung nach links von 0 Grad entspricht einer Rotation von -360 Grad.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Einheit, die den Rotationswert darstellt:
|
Gibt einen double zurück, der den aktuellen Rotationswert des Gyrosensors in den angegebenen Einheiten darstellt, standardmäßig degrees.
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);
rate#
Gibt die Drehrate des Gyrosensors zurück.
Die Drehgeschwindigkeit gibt an, wie schnell sich der Gyrosensor dreht. Der Wert kann positiv oder negativ sein, je nachdem, in welche Richtung sich der Sensor dreht.
Available Functionsdouble rate(
rateUnits units = rateUnits::dps );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Einheit, die die Rate darstellt:
|
Gibt einen double zurück, der die aktuelle Änderungsrate des Gyrosensors in den angegebenen Einheiten darstellt, standardmäßig rateUnits::dps.