Ž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 |
|---|---|---|
|
|
Viedports, kuram ir pievienots žiroskopiskais sensors, kas pierakstīts kā |
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 Functionsvoid calibrate();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesŠī funkcija neatgriež vērtību.
NotesKalibrēš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.
// 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 Functionsvoid setHeading(
double value,
rotationUnits units );
Parametri |
Tips |
Apraksts |
|---|---|---|
|
|
Vērtība, kas jāizmanto jaunajam virsrakstam. |
|
|
Vienība, kas attēlo virzienu:
|
Šī 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 Functionsvoid setRotation(
double value,
rotationUnits units );
Parametri |
Tips |
Apraksts |
|---|---|---|
|
|
Vērtība, kas jāizmanto jaunajai rotācijas vērtībai. |
|
|
Vienība, kas attēlo rotācijas vērtību:
|
Šī 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 Functionsdouble heading(
rotationUnits units = degrees );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Vienība, kas attēlo virzienu:
|
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.
// 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 Functionsdouble rotation(
rotationUnits units = degrees );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Vienība, kas attēlo rotācijas vērtību:
|
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.
// 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 Functionsdouble rate(
rateUnits units = rateUnits::dps );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Mērvienība, kas attēlo ātrumu:
|
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.