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 |
|---|---|---|
|
|
De 3-draads poort waarop de gyroscoopsensor is aangesloten, wordt weergegeven als |
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 Functionsvoid calibrate(
int32_t value = 0 );
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De tijd in seconden die nodig is voor de kalibratie. De standaardwaarde is |
Deze functie retourneert geen waarde.
NotesDe functie
calibratemag alleen worden aangeroepen wanneer de sensor niet beweegt.
// 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 Functionsvoid setHeading(
double value,
rotationUnits units );
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De waarde die voor de nieuwe koptekst moet worden gebruikt. |
|
|
De eenheid die de richting aangeeft:
|
Deze functie retourneert geen waarde.
setRotation#
Hiermee wordt de rotatie van de gyroscoopsensor op een specifieke waarde ingesteld.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De waarde die gebruikt moet worden voor de nieuwe rotatiewaarde. |
|
|
De eenheid die de rotatiewaarde weergeeft:
|
Deze functie retourneert geen waarde.
heading#
Geeft de huidige richting van de gyroscoopsensor weer.
Available Functionsdouble heading(
rotationUnits units = degrees );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die de richting aangeeft:
|
Retourneert een double die de huidige richting van de gyroscoopsensor in de opgegeven eenheden weergeeft, standaard ingesteld op degrees.
// 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 Functionsdouble rotation(
rotationUnits units = degrees );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die de rotatiewaarde weergeeft:
|
Retourneert een double die de huidige rotatiewaarde van de gyroscoopsensor in de opgegeven eenheden weergeeft, standaard ingesteld op degrees.
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);