Gyroscoopsensor#

Invoering#

De gyro klasse wordt gebruikt met een gyroscoopsensor om rotatiebewegingen rond één as te meten. Hiermee kan worden bijgehouden in welke richting de robot kijkt en hoe ver de robot is gedraaid.

Klasseconstructor#

gyro(
    int32_t index );

Klasse-destructor#

Vernietigt het gyro object en geeft de bijbehorende grondstoffen vrij.

virtual ~gyro();

Parameters#

Parameter

Type

Beschrijving

index

int32_t

De Smart Port waarop de gyroscoopsensor is aangesloten, wordt weergegeven als PORTx, waarbij x het poortnummer is (bijvoorbeeld PORT1).

Voorbeeld#

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

Lidfuncties#

De klasse gyro omvat de volgende lidfuncties:

  • calibrate — Kalibreert de gyroscoopsensor.

  • setHeading — Stelt de huidige koers van de gyroscoopsensor in op een nieuwe koerswaarde.

  • setRotation — Stelt de huidige rotatie van de gyroscoopsensor in op een nieuwe rotatiewaarde.

  • heading — Geeft de richting aan waarin de gyroscoopsensor wijst.

  • rotation — Geeft aan hoeveel de gyroscoopsensor is gedraaid.

  • rate — Geeft aan hoe snel de gyroscoopsensor roteert.

Voordat er lidfuncties van gyro kunnen worden aangeroepen, moet er een instantie gyro worden aangemaakt, zoals hieronder wordt weergegeven:

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

Kalibreert de gyroscoopsensor.

Available Functions
void calibrate();

Parameters

Deze functie accepteert geen parameters.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Kalibratie zorgt ervoor dat de gyroscoopsensor bochten correct meet. Houd de sensor stil tijdens de kalibratie. Als de sensor beweegt tijdens de kalibratie, kunnen de waarden voor koers, rotatie en snelheid bochten mogelijk niet correct meten.

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

setHeading#

Stelt de huidige richting van de gyroscoopsensor in op een specifieke waarde.

De koers is de richting waarin de gyroscoopsensor wijst, gemeten van 0 tot 359,99 graden. Door de koers in te stellen, verandert de huidige richtingreferentie van de sensor.

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

Parameters

Type

Beschrijving

value

double

De waarde die voor de nieuwe koptekst moet worden gebruikt.

units

rotationUnits

De eenheid die de richting aangeeft:

  • degrees
  • turns

Return Values

Deze functie retourneert geen waarde.

setRotation#

Stelt de huidige rotatie van de gyroscoopsensor in op een specifieke waarde.

Rotatie geeft aan hoeveel de gyroscoopsensor is gedraaid. In tegenstelling tot de koers, kan de rotatie groter worden dan 359,99 graden of kleiner dan 0 graden.

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

Parameters

Parameters

Type

Beschrijving

value

double

De waarde die gebruikt moet worden voor de nieuwe rotatiewaarde.

units

rotationUnits

De eenheid die de rotatiewaarde weergeeft:

  • degrees
  • turns

Return Values

Deze functie retourneert geen waarde.

heading#

Geeft de huidige richting van de gyroscoopsensor weer.

De koers is de richting waarin de gyroscoopsensor wijst, gemeten van 0 tot 359,99 graden. Als de sensor verder draait dan 359,99 graden, springt de koers terug naar 0 graden.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parameter

Type

Beschrijving

units

rotationUnits

De eenheid die de richting aangeeft:

  • degrees (standaard)
  • turns

Return Values

Retourneert een double die de huidige richting van de gyroscoopsensor in de opgegeven eenheden weergeeft, standaard ingesteld op degrees.

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

rotation#

Geeft de huidige rotatie van de gyroscoopsensor weer.

Rotatie geeft aan hoeveel de gyroscoopsensor is gedraaid. In tegenstelling tot de koers kan de rotatie groter worden dan 359,99 graden of kleiner dan 0 graden. Twee volledige draaien naar rechts resulteren bijvoorbeeld in een rotatie van 720 graden. Een volledige draai naar links vanaf 0 graden resulteert in een rotatie van -360 graden.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parameter

Type

Beschrijving

units

rotationUnits

De eenheid die de rotatiewaarde weergeeft:

  • degrees (standaard)
  • turns

Return Values

Retourneert een double die de huidige rotatiewaarde van de gyroscoopsensor in de opgegeven eenheden weergeeft, standaard ingesteld op degrees.

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

rate#

Geeft de draaisnelheid van de gyroscoopsensor weer.

De draaisnelheid geeft aan hoe snel de gyroscoopsensor roteert. De waarde kan positief of negatief zijn, afhankelijk van de draairichting van de sensor.

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

Parameters

Parameter

Type

Beschrijving

units

rateUnits

De eenheid die de snelheid weergeeft:

  • rateUnits::dps (standaard) — graden per seconde
  • rateUnits::rpm — rotaties per minuut

Return Values

Retourneert een double die de huidige veranderingssnelheid van de gyroscoopsensor in de opgegeven eenheden weergeeft, standaard ingesteld op rateUnits::dps.