Gyroskopický senzor#

Zavedení#

Třída gyro se používá s gyroskopickým senzorem k měření rotačního pohybu kolem jedné osy. Dokáže sledovat, kterým směrem se robot nachází a o kolik se robot otočil.

Konstruktor třídy#

gyro(
    int32_t index );

Destruktor tříd#

Zničí objekt gyro a uvolní související zdroje.

virtual ~gyro();

Parametry#

Parametr

Typ

Popis

index

int32_t

Inteligentní port, ke kterému je připojen gyroskopický senzor, zapsaný jako PORTx, kde x je číslo portu (například PORT1).

Příklad#

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

Členské funkce#

Třída gyro obsahuje následující členské funkce:

  • calibrate — Kalibruje gyroskopický senzor.

  • setHeading — Nastaví aktuální směr gyroskopu na novou hodnotu.

  • setRotation — Nastaví aktuální rotaci gyroskopického senzoru na novou hodnotu rotace.

  • heading — Vrátí směr, kterým je gyroskop natočen.

  • rotation — Vrátí, o kolik se gyroskopický senzor otočil.

  • rate — Vrátí rychlost otáčení gyroskopického senzoru.

Před voláním jakékoli členské funkce gyro musí být vytvořena instance gyro , jak je znázorněno níže:

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

Kalibruje gyroskopický senzor.

Available Functions
void calibrate();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Kalibrace pomáhá gyroskopickému senzoru správně měřit zatáčky. Během kalibrace držte senzor v klidu. Pokud se senzor během kalibrace pohybuje, hodnoty směru, rotace a rychlosti nemusí správně měřit zatáčky.

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

setHeading#

Nastaví aktuální směr gyroskopického senzoru na specifickou hodnotu.

Směr je směr, kterým je gyroskopický senzor natočen, měřený od 0 do 359,99 stupňů. Nastavením směru se změní aktuální referenční směr senzoru.

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

Parametry

Typ

Popis

value

double

Hodnota, která se má použít pro nový nadpis.

units

rotationUnits

Jednotka, která představuje směr:

  • degrees
  • turns

Return Values

Tato funkce nevrací hodnotu.

setRotation#

Nastaví aktuální rotaci gyroskopického senzoru na specifickou hodnotu.

Rotace udává, o kolik se gyroskopický senzor otočil. Na rozdíl od směru se rotace může zvýšit nad 359,99 stupňů nebo snížit pod 0 stupňů.

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

Parameters

Parametry

Typ

Popis

value

double

Hodnota, která se má použít pro novou hodnotu rotace.

units

rotationUnits

Jednotka, která představuje hodnotu rotace:

  • degrees
  • turns

Return Values

Tato funkce nevrací hodnotu.

heading#

Vrátí aktuální směr gyroskopického senzoru.

Směr je směr, kterým je gyroskopický senzor natočen, měřený od 0 do 359,99 stupňů. Pokud se senzor otočí za více než 359,99 stupňů, směr se vrátí zpět na 0 stupňů.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parametr

Typ

Popis

units

rotationUnits

Jednotka, která představuje směr:

  • degrees (výchozí)
  • turns

Return Values

Vrací hodnotu double představující aktuální směr gyroskopu v zadaných jednotkách, standardně degrees.

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

rotation#

Vrátí aktuální rotaci gyroskopického senzoru.

Rotace udává, o kolik se gyroskopický senzor otočil. Na rozdíl od směru se rotace může zvýšit nad 359,99 stupňů nebo snížit pod 0 stupňů. Například provedení dvou celých otoček doprava vrátí rotaci o 720 stupňů. Otočení o jednu celou otáčku doleva z 0 stupňů vrátí rotaci o -360 stupňů.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parametr

Typ

Popis

units

rotationUnits

Jednotka, která představuje hodnotu rotace:

  • degrees (výchozí)
  • turns

Return Values

Vrací hodnotu double představující aktuální hodnotu rotace gyroskopického senzoru v zadaných jednotkách, standardně degrees.

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

rate#

Vrací rychlost otáčení gyroskopického senzoru.

Rychlost otáčení udává, jak rychle se gyroskop otáčí. Hodnota může být kladná nebo záporná v závislosti na směru otáčení senzoru.

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

Parameters

Parametr

Typ

Popis

units

rateUnits

Jednotka, která představuje rychlost:

  • rateUnits::dps (výchozí) — stupně za sekundu
  • rateUnits::rpm — otáčky za minutu

Return Values

Vrací hodnotu double představující aktuální rychlost změny gyroskopického senzoru v zadaných jednotkách, standardně rateUnits::dps.