Gyroskopický senzor#
Zavedení#
Třída gyro se používá k měření směru a rotačního pohybu robota, což umožňuje sledování orientace v čase.
Konstruktor třídy#
gyro(
triport::port &port);
Destruktor tříd#
Zničí objekt gyro a uvolní související zdroje.
virtual ~gyro();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
3vodičový port, ke kterému je připojen gyroskopický senzor, zapsaný jako |
Příklad#
// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
Členské funkce#
Třída gyro obsahuje následující členské funkce:
calibrate— Kalibruje gyroskop pro stabilní sledování kurzu.setHeading— Nastaví směr gyroskopu.setRotation— Nastaví aktuální hodnotu rotace gyra.heading— Vrátí směr gyroskopu.rotation— Vrátí rotaci gyroskopu.
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 A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
calibrate#
Kalibruje gyroskopický senzor.
Available Functionsvoid calibrate(
int32_t value = 0 );
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Čas v sekundách, který je třeba strávit kalibrací. Výchozí hodnota je |
Tato funkce nevrací hodnotu.
NotesFunkce
calibrateby měla být volána pouze tehdy, když se senzor nepohybuje.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
Nastaví směr gyroskopického senzoru na specifickou hodnotu.
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í rotaci gyroskopického senzoru na specifickou hodnotu.
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.
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 = GyroA.heading();
Brain.Screen.print(value);
rotation#
Vrátí aktuální rotaci gyroskopického senzoru.
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 = GyroA.rotation();
Brain.Screen.print(value);