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

port

triport::port &

3vodičový port, ke kterému je připojen gyroskopický senzor, zapsaný jako Brain.ThreeWirePort.X nebo ExpanderName.X, kde X je písmeno portu (například Brain.ThreeWirePort.A nebo Expander1.A).

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 Functions
void calibrate(
  int32_t value = 0 );

Parameters

Parametry

Typ

Popis

value

int32_t

Čas v sekundách, který je třeba strávit kalibrací. Výchozí hodnota je 0.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Funkce calibrate by měla být volána pouze tehdy, když se senzor nepohybuje.

Examples
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);

setHeading#

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

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í rotaci gyroskopického senzoru na specifickou hodnotu.

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.

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 = GyroA.heading();
Brain.Screen.print(value);

rotation#

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

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 = GyroA.rotation();
Brain.Screen.print(value);