Gyroscoopsensor#

Invoering#

De gyro klasse wordt gebruikt om de richting en rotatiebeweging van de robot te meten, waardoor de oriëntatie in de loop van de tijd kan worden gevolgd.

Klasseconstructor#

gyro(
  triport::port &port);

Klasse-destructor#

Vernietigt het gyro object en geeft de bijbehorende grondstoffen vrij.

virtual ~gyro();

Parameters#

Parameter

Type

Beschrijving

port

triport::port &

De 3-draads poort waarop de gyroscoopsensor is aangesloten, wordt weergegeven als Brain.ThreeWirePort.X of ExpanderName.X, waarbij X de poortletter is (bijvoorbeeld Brain.ThreeWirePort.A of Expander1.A).

Voorbeeld#

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

Lidfuncties#

De klasse gyro omvat de volgende lidfuncties:

  • calibrate — Kalibreert de gyroscoop voor stabiele koersvolging.

  • setHeading — Stelt de koers van de gyroscoop in.

  • setRotation — Stelt de huidige rotatiewaarde van de gyroscoop in.

  • heading — Geeft de richting van de gyroscoop terug.

  • rotation — Geeft de rotatie van de gyroscoop terug.

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 A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

calibrate#

Kalibreert de gyroscoopsensor.

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Parameters

Type

Beschrijving

value

int32_t

De tijd in seconden die nodig is voor de kalibratie. De standaardwaarde is 0.

Return Values

Deze functie retourneert geen waarde.

Notes
  • De functie calibrate mag alleen worden aangeroepen wanneer de sensor niet beweegt.

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

setHeading#

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

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#

Hiermee wordt de rotatie van de gyroscoopsensor op een specifieke waarde ingesteld.

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.

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 = GyroA.heading();
Brain.Screen.print(value);

rotation#

Geeft de huidige rotatie van de gyroscoopsensor weer.

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 = GyroA.rotation();
Brain.Screen.print(value);