Czujnik żyroskopowy#

Wstęp#

Klasa żyroskopu gyro służy do pomiaru kierunku i ruchu obrotowego robota, umożliwiając śledzenie orientacji w czasie.

Konstruktor klasy#

gyro(
  triport::port &port);

Destruktor klasy#

Niszczy obiekt żyroskopu gyro i uwalnia powiązane zasoby.

virtual ~gyro();

Parametry#

Parametr

Typ

Opis

port

triport::port &

Port 3-żyłowy, do którego podłączony jest czujnik żyroskopowy, zapisany jako Brain.ThreeWirePort.X lub ExpanderName.X, gdzie X to litera portu (na przykład Brain.ThreeWirePort.A lub Expander1.A).

Przykład#

// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

Funkcje członkowskie#

Klasa gyro zawiera następujące funkcje członkowskie:

  • calibrate — Kalibruje żyroskop w celu stabilnego śledzenia kursu.

  • setHeading — Ustawia kierunek żyroskopu.

  • setRotation — Ustawia aktualną wartość obrotu żyroskopu.

  • heading — Zwraca nagłówek żyroskopu.

  • rotation — Zwraca obrót żyroskopu.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej gyro należy utworzyć instancję gyro , jak pokazano poniżej:

/* 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 czujnik żyroskopowy.

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Parametry

Typ

Opis

value

int32_t

Czas kalibracji w sekundach. Wartość domyślna to 0.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Opcję calibrate powinna być wywoływana tylko wtedy, gdy czujnik się nie porusza.

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

setHeading#

Ustawia nagłówek czujnika żyroskopowego na określoną wartość.

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

Parametry

Typ

Opis

value

double

Wartość, która ma zostać użyta w nowym nagłówku.

units

rotationUnits

Jednostka reprezentująca kierunek:

  • degrees
  • turns
Return Values

Ta funkcja nie zwraca wartości.

setRotation#

Ustawia obrót czujnika żyroskopowego na określoną wartość.

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

Parameters

Parametry

Typ

Opis

value

double

Wartość, która ma zostać użyta jako nowa wartość obrotu.

units

rotationUnits

Jednostka reprezentująca wartość obrotu:

  • degrees
  • turns
Return Values

Ta funkcja nie zwraca wartości.

heading#

Zwraca aktualny kierunek czujnika żyroskopowego.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parametr

Typ

Opis

units

rotationUnits

Jednostka reprezentująca kierunek:

  • degrees (domyślnie)
  • turns
Return Values

Zwraca wartość double reprezentującą aktualny kierunek czujnika żyroskopowego w określonych jednostkach, domyślnie degrees.

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

rotation#

Zwraca aktualny obrót czujnika żyroskopowego.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parametr

Typ

Opis

units

rotationUnits

Jednostka reprezentująca wartość obrotu:

  • degrees (domyślnie)
  • turns
Return Values

Zwraca wartość double reprezentującą bieżącą wartość obrotu czujnika żyroskopowego w określonych jednostkach, domyślnie degrees.

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