Žiroskopiskais sensors#

Ievads#

gyro klase tiek izmantota kopā ar žiroskopisko sensoru, lai mērītu rotācijas kustību ap vienu asi. Tā var izsekot, kurā virzienā robots ir vērsts un cik tālu robots ir pagriezies.

Klases konstruktors#

gyro(
    int32_t index );

Klases iznīcinātājs#

Iznīcina gyro objektu un atbrīvo saistītos resursus.

virtual ~gyro();

Parametri#

Parametrs

Tips

Apraksts

index

int32_t

Viedports, kuram ir pievienots žiroskopiskais sensors, kas pierakstīts kā PORTx, kur x ir porta numurs (piemēram, PORT1).

Piemērs#

// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);

Dalībnieku funkcijas#

gyro klasē ir iekļautas šādas dalībfunkcijas:

  • calibrate — Kalibrē žiroskopisko sensoru.

  • setHeading — Iestata žiroskopiskā sensora pašreizējo virzienu uz jaunu virziena vērtību.

  • setRotation — Iestata žiroskopiskā sensora pašreizējo rotāciju uz jaunu rotācijas vērtību.

  • heading — Atgriež virzienu, kurā ir vērsts žiroskopiskais sensors.

  • rotation — Atgriež, cik tālu ir pagriezies žiroskopiskais sensors.

  • rate — Atgriež žiroskopiskā sensora griešanās ātrumu.

Pirms jebkuru gyro dalībfunkciju izsaukšanas ir jāizveido gyro instance, kā parādīts zemāk:

/* 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#

Kalibrē žiroskopisko sensoru.

Available Functions
void calibrate();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Kalibrēšana palīdz žiroskopiskajam sensoram pareizi izmērīt pagriezienus. Kalibrēšanas laikā sensoram jābūt nekustīgam. Ja sensors kalibrēšanas laikā kustas, virziena, rotācijas un ātruma vērtības var neprecīzi izmērīt pagriezienus.

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

Iestata žiroskopiskā sensora pašreizējo virzienu uz noteiktu vērtību.

Virziens ir virziens, kurā atrodas žiroskopiskais sensors, mērot no 0 līdz 359,99 grādiem. Virziena iestatīšana maina sensora pašreizējo virziena atsauci.

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

Parametri

Tips

Apraksts

value

double

Vērtība, kas jāizmanto jaunajam virsrakstam.

units

rotationUnits

Vienība, kas attēlo virzienu:

  • degrees
  • turns

Return Values

Šī funkcija neatgriež vērtību.

setRotation#

Iestata žiroskopiskā sensora pašreizējo rotāciju uz noteiktu vērtību.

Rotācija ir žiroskopiskā sensora pagrieziena lielums. Atšķirībā no virziena, rotācija var palielināties virs 359,99 grādiem vai samazināties zem 0 grādiem.

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

Parameters

Parametri

Tips

Apraksts

value

double

Vērtība, kas jāizmanto jaunajai rotācijas vērtībai.

units

rotationUnits

Vienība, kas attēlo rotācijas vērtību:

  • degrees
  • turns

Return Values

Šī funkcija neatgriež vērtību.

heading#

Atgriež žiroskopiskā sensora pašreizējo virzienu.

Virziens ir virziens, kurā atrodas žiroskopiskais sensors, mērot no 0 līdz 359,99 grādiem. Ja sensors pagriežas vairāk nekā 359,99 grādi, kurss atgriežas pie 0 grādiem.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parametrs

Tips

Apraksts

units

rotationUnits

Vienība, kas attēlo virzienu:

  • degrees (pēc noklusējuma)
  • turns

Return Values

Atgriež double kas apzīmē žiroskopiskā sensora pašreizējo virzienu norādītajās mērvienībās, noklusējuma vērtība ir degrees.

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

rotation#

Atgriež žiroskopiskā sensora pašreizējo rotāciju.

Rotācija norāda, cik daudz ir pagriezies žiroskopiskais sensors. Atšķirībā no virziena, rotācija var palielināties virs 359,99 grādiem vai samazināties zem 0 grādiem. Piemēram, veicot divus pilnus pagriezienus pa labi, tiek panākta 720 grādu rotācija. Veicot vienu pilnu pagriezienu pa kreisi no 0 grādiem, tiek panākta -360 grādu rotācija.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parametrs

Tips

Apraksts

units

rotationUnits

Vienība, kas attēlo rotācijas vērtību:

  • degrees (pēc noklusējuma)
  • turns

Return Values

Atgriež double kas apzīmē žiroskopiskā sensora pašreizējo rotācijas vērtību norādītajās mērvienībās, noklusējuma vērtība ir degrees.

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

rate#

Atgriež žiroskopiskā sensora griešanās ātrumu.

Griešanās ātrums ir žiroskopiskā sensora griešanās ātrums. Vērtība var būt pozitīva vai negatīva atkarībā no sensora griešanās virziena.

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

Parametrs

Tips

Apraksts

units

rateUnits

Mērvienība, kas attēlo ātrumu:

  • rateUnits::dps (pēc noklusējuma) — grādi sekundē
  • rateUnits::rpm — apgriezieni minūtē

Return Values

Atgriež double kas apzīmē žiroskopiskā sensora pašreizējo izmaiņu ātrumu norādītajās vienībās, noklusējuma vērtība ir rateUnits::dps.