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 3-żyłowy, do którego podłączony jest czujnik żyroskopowy, zapisany jako |
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 Functionsvoid calibrate(
int32_t value = 0 );
Parametry |
Typ |
Opis |
|---|---|---|
|
|
Czas kalibracji w sekundach. Wartość domyślna to |
Ta funkcja nie zwraca wartości.
NotesOpcję
calibratepowinna być wywoływana tylko wtedy, gdy czujnik się nie porusza.
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
Ustawia nagłówek czujnika żyroskopowego na określoną wartość.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Parametry |
Typ |
Opis |
|---|---|---|
|
|
Wartość, która ma zostać użyta w nowym nagłówku. |
|
|
Jednostka reprezentująca kierunek:
|
Ta funkcja nie zwraca wartości.
setRotation#
Ustawia obrót czujnika żyroskopowego na określoną wartość.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Parametry |
Typ |
Opis |
|---|---|---|
|
|
Wartość, która ma zostać użyta jako nowa wartość obrotu. |
|
|
Jednostka reprezentująca wartość obrotu:
|
Ta funkcja nie zwraca wartości.
heading#
Zwraca aktualny kierunek czujnika żyroskopowego.
Available Functionsdouble heading(
rotationUnits units = degrees );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Jednostka reprezentująca kierunek:
|
Zwraca wartość double reprezentującą aktualny kierunek czujnika żyroskopowego w określonych jednostkach, domyślnie degrees.
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
Zwraca aktualny obrót czujnika żyroskopowego.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Jednostka reprezentująca wartość obrotu:
|
Zwraca wartość double reprezentującą bieżącą wartość obrotu czujnika żyroskopowego w określonych jednostkach, domyślnie degrees.
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);