Giroskopo jutiklis#
Įvadas#
gyro klasė naudojama su giroskopiniu jutikliu, norint matuoti sukimosi judėjimą aplink vieną ašį. Ji gali sekti, kuria kryptimi robotas yra pasuktas ir kiek jis pasisuko.
Klasės konstruktorius#
gyro(
int32_t index );
Klasės destruktorius#
Sunaikina gyro objektą ir išlaisvina susijusius išteklius.
virtual ~gyro();
Parametrai#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Išmanusis prievadas, prie kurio prijungtas giroskopinis jutiklis, rašomas kaip |
Pavyzdys#
// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);
Narių funkcijos#
gyro klasė apima šias narines funkcijas:
calibrate– Kalibruoja giroskopinį jutiklį.setHeading– Nustato giroskopinio jutiklio dabartinę kryptį į naują krypties reikšmę.setRotation— Nustato giroskopinio jutiklio dabartinį sukimąsi į naują sukimosi reikšmę.heading– Grąžina giroskopo jutiklio kryptį.rotation— Grąžina, kiek pasisuko giroskopinis jutiklis.rate— Grąžina giroskopo jutiklio sukimosi greitį.
Prieš iškviečiant bet kokias gyro nario funkcijas, reikia sukurti gyro egzempliorių, kaip parodyta žemiau:
/* 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#
Kalibruoja giroskopinį jutiklį.
Available Functionsvoid calibrate();
Ši funkcija nepriima jokių parametrų.
Return ValuesŠi funkcija negrąžina reikšmės.
NotesKalibravimas padeda giroskopiniam jutikliui teisingai išmatuoti posūkius. Kalibravimo metu jutiklis turi būti nejudinamas. Jei kalibravimo metu jutiklis juda, krypties, sukimosi ir greičio vertės gali neteisingai išmatuoti posūkius.
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();
setHeading#
Nustato giroskopinio jutiklio dabartinę kryptį į konkrečią vertę.
Kryptis yra giroskopinio jutiklio kryptis, matuojama nuo 0 iki 359,99 laipsnių. Nustačius kryptį, pasikeičia dabartinė jutiklio krypties nuoroda.
Available Functionsvoid setHeading(
double value,
rotationUnits units );
Parametrai |
Tipas |
Aprašymas |
|---|---|---|
|
|
Reikšmė, kurią reikia naudoti naujai antraštei. |
|
|
Vienetas, rodantis kryptį:
|
Ši funkcija negrąžina reikšmės.
setRotation#
Nustato giroskopinio jutiklio dabartinį sukimąsi iki konkrečios vertės.
Sukimasis rodo, kiek pasisuko giroskopinis jutiklis. Skirtingai nuo krypties, sukimasis gali padidėti virš 359,99 laipsnio arba sumažėti žemiau 0 laipsnių.
Available Functionsvoid setRotation(
double value,
rotationUnits units );
Parametrai |
Tipas |
Aprašymas |
|---|---|---|
|
|
Reikšmė, kuri bus naudojama naujai sukimosi vertei. |
|
|
Vienetas, rodantis sukimosi vertę:
|
Ši funkcija negrąžina reikšmės.
heading#
Grąžina dabartinę giroskopo jutiklio kryptį.
Kryptis yra giroskopinio jutiklio pasukimo kryptis, matuojama nuo 0 iki 359,99 laipsnių. Jei jutiklis pasisuka daugiau nei 359,99 laipsnio, kryptis grįžta į 0 laipsnių.
Available Functionsdouble heading(
rotationUnits units = degrees );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Vienetas, rodantis kryptį:
|
Grąžina double nurodančius dabartinę giroskopinio jutiklio kryptį nurodytais vienetais, pagal numatytuosius nustatymus degrees.
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);
rotation#
Grąžina dabartinį giroskopo jutiklio sukimąsi.
Sukimasis rodo, kiek pasisuko giroskopinis jutiklis. Skirtingai nuo krypties, sukimasis gali padidėti virš 359,99 laipsnio arba sumažėti žemiau 0 laipsnių. Pavyzdžiui, padarius du pilnus apsisukimus į dešinę, grįžtama 720 laipsnių pasukimas. Pasukus vieną pilną apsisukimą į kairę nuo 0 laipsnių, grįžtama -360 laipsnių pasukimas.
Available Functionsdouble rotation(
rotationUnits units = degrees );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Vienetas, rodantis sukimosi reikšmę:
|
Grąžina double rodantį dabartinę giroskopinio jutiklio sukimosi reikšmę nurodytais vienetais, pagal numatytuosius nustatymus degrees.
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);
rate#
Grąžina giroskopinio jutiklio sukimosi greitį.
Sukimosi greitis yra giroskopinio jutiklio sukasi greitis. Reikšmė gali būti teigiama arba neigiama, priklausomai nuo jutiklio sukimosi krypties.
Available Functionsdouble rate(
rateUnits units = rateUnits::dps );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Vienetas, rodantis greitį:
|
Grąžina double nurodantį dabartinį giroskopinio jutiklio kitimo greitį nurodytais vienetais, pagal numatytuosius nustatymus nustatant rateUnits::dps.