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 |
|---|---|---|
|
|
Inteligentní port, ke kterému je připojen gyroskopický senzor, zapsaný jako |
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 Functionsvoid calibrate();
Tato funkce nepřijímá žádné parametry.
Return ValuesTato funkce nevrací hodnotu.
NotesKalibrace 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.
// 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 Functionsvoid setHeading(
double value,
rotationUnits units );
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Hodnota, která se má použít pro nový nadpis. |
|
|
Jednotka, která představuje směr:
|
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 Functionsvoid setRotation(
double value,
rotationUnits units );
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Hodnota, která se má použít pro novou hodnotu rotace. |
|
|
Jednotka, která představuje hodnotu rotace:
|
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 Functionsdouble heading(
rotationUnits units = degrees );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Jednotka, která představuje směr:
|
Vrací hodnotu double představující aktuální směr gyroskopu v zadaných jednotkách, standardně degrees.
// 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 Functionsdouble rotation(
rotationUnits units = degrees );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Jednotka, která představuje hodnotu rotace:
|
Vrací hodnotu double představující aktuální hodnotu rotace gyroskopického senzoru v zadaných jednotkách, standardně degrees.
// 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 Functionsdouble rate(
rateUnits units = rateUnits::dps );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Jednotka, která představuje rychlost:
|
Vrací hodnotu double představující aktuální rychlost změny gyroskopického senzoru v zadaných jednotkách, standardně rateUnits::dps.