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 |
|---|---|---|
|
|
De Smart Port waarop de gyroscoopsensor is aangesloten, wordt weergegeven als |
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 Functionsvoid calibrate();
Deze functie accepteert geen parameters.
Return ValuesDeze functie retourneert geen waarde.
NotesKalibratie 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.
// 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 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#
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 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.
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 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 = 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 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 = 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 Functionsdouble rate(
rateUnits units = rateUnits::dps );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die de snelheid weergeeft:
|
Retourneert een double die de huidige veranderingssnelheid van de gyroscoopsensor in de opgegeven eenheden weergeeft, standaard ingesteld op rateUnits::dps.