Gyrosensor#

Introduktion#

Gyro gyro används med en gyrosensor för att mäta rotationsrörelser runt en enda axel. Den kan spåra vilken riktning roboten är vänd i och hur långt roboten har vridit.

Klasskonstruktor#

gyro(
    int32_t index );

Klassförstörare#

Förstör gyro objektet och frigör tillhörande resurser.

virtual ~gyro();

Parametrar#

Parameter

Typ

Beskrivning

index

int32_t

Den smarta porten som gyrosensorn är ansluten till, skriven som PORTx, där x är portnumret (till exempel PORT1).

Exempel#

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

Medlemsfunktioner#

Gyroklassen gyro inkluderar följande medlemsfunktioner:

  • calibrate — Kalibrerar gyrosensorn.

  • setHeading — Ställer in gyrosensorns aktuella kurs till ett nytt kursvärde.

  • setRotation — Ställer in gyrosensorns aktuella rotation till ett nytt rotationsvärde.

  • heading — Returnerar riktningen som gyrosensorn är vänd mot.

  • rotation — Returnerar hur långt gyrosensorn har vridit sig.

  • rate — Returnerar hur snabbt gyrosensorn roterar.

Innan några gyro medlemsfunktioner anropas måste en gyro instans skapas, som visas nedan:

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

Kalibrerar gyrosensorn.

Available Functions
void calibrate();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Kalibrering hjälper gyrosensorn att mäta svängar korrekt. Håll sensorn stilla under kalibreringen. Om sensorn rör sig under kalibreringen kan kurs-, rotations- och hastighetsvärdena inte mäta svängar korrekt.

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

setHeading#

Ställer in gyrosensorns aktuella kurs till ett specifikt värde.

En kurs är den riktning gyrosensorn är vänd mot, mätt från 0 till 359,99 grader. Genom att ställa in kursen ändras sensorns aktuella riktningsreferens.

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

Parametrar

Typ

Beskrivning

value

double

Värdet som ska användas för den nya rubriken.

units

rotationUnits

Enheten som representerar kursen:

  • degrees
  • turns

Return Values

Den här funktionen returnerar inget värde.

setRotation#

Ställer in gyrosensorns aktuella rotation till ett specifikt värde.

Rotation är hur mycket gyrosensorn har vridit sig. Till skillnad från kurs kan rotationen öka över 359,99 grader eller minska under 0 grader.

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

Parameters

Parametrar

Typ

Beskrivning

value

double

Värdet som ska användas för det nya rotationsvärdet.

units

rotationUnits

Enheten som representerar rotationsvärdet:

  • degrees
  • turns

Return Values

Den här funktionen returnerar inget värde.

heading#

Returnerar gyrosensorns aktuella kurs.

En kurs är den riktning gyrosensorn är vänd mot, mätt från 0 till 359,99 grader. Om sensorn vrider sig förbi 359,99 grader, återgår kursen till 0 grader.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parameter

Typ

Beskrivning

units

rotationUnits

Enheten som representerar kursen:

  • degrees (standard)
  • turns

Return Values

Returnerar double som representerar gyrosensorns aktuella riktning i de angivna enheterna, med standardvärdet degrees.

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

rotation#

Returnerar gyrosensorns aktuella rotation.

Rotation är hur mycket gyrosensorn har vridit sig. Till skillnad från kurs kan rotationen öka över 359,99 grader eller minska under 0 grader. Om man till exempel gör två hela varv åt höger returneras en rotation på 720 grader. Om man vrider ett helt varv åt vänster från 0 grader returneras en rotation på -360 grader.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parameter

Typ

Beskrivning

units

rotationUnits

Enheten som representerar rotationsvärdet:

  • degrees (standard)
  • turns

Return Values

Returnerar double som representerar gyrosensorns aktuella rotationsvärde i de angivna enheterna, med standardvärdet degrees.

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

rate#

Returnerar gyrosensorns rotationshastighet.

Rotationshastigheten är hur snabbt gyrosensorn roterar. Värdet kan vara positivt eller negativt beroende på i vilken riktning sensorn roterar.

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

Parameters

Parameter

Typ

Beskrivning

units

rateUnits

Enheten som representerar hastigheten:

  • rateUnits::dps (standard) — grader per sekund
  • rateUnits::rpm — rotationer per minut

Return Values

Returnerar double som representerar den aktuella förändringshastigheten för gyrosensorn i de angivna enheterna, med standardvärdet rateUnits::dps.