Giroskopo jutiklis#

Įvadas#

gyro klasė naudojama roboto judėjimo krypties ir sukamojo judesio matavimui, leidžiant sekti orientaciją laikui bėgant.

Klasės konstruktorius#

gyro(
  triport::port &port);

Klasės destruktorius#

Sunaikina gyro objektą ir išlaisvina susijusius išteklius.

virtual ~gyro();

Parametrai#

Parametras

Tipas

Aprašymas

port

triport::port &

3 laidų prievadas, prie kurio prijungtas giroskopinis jutiklis, užrašomas taip: Brain.ThreeWirePort.X arba ExpanderName.X, kur X yra prievado raidė (pavyzdžiui, Brain.ThreeWirePort.A arba Expander1.A).

Pavyzdys#

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

Narių funkcijos#

gyro klasė apima šias narines funkcijas:

  • calibrate – Kalibruoja giroskopą stabiliam krypties sekimui.

  • setHeading — Nustato giroskopo kryptį.

  • setRotation — Nustato dabartinę giroskopo sukimosi vertę.

  • heading — Grąžina giroskopo kryptį.

  • rotation — Grąžina giroskopo sukimąsi.

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 A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

calibrate#

Kalibruoja giroskopinį jutiklį.

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Parametrai

Tipas

Aprašymas

value

int32_t

Kalibravimo laikas sekundėmis. Numatytoji reikšmė yra 0.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • calibrate turėtų būti iškviečiamas tik tada, kai jutiklis nejuda.

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

setHeading#

Nustato giroskopinio jutiklio kryptį į konkrečią reikšmę.

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

Parametrai

Tipas

Aprašymas

value

double

Reikšmė, kurią reikia naudoti naujai antraštei.

units

rotationUnits

Vienetas, rodantis kryptį:

  • degrees
  • turns
Return Values

Ši funkcija negrąžina reikšmės.

setRotation#

Nustato giroskopinio jutiklio sukimąsi iki konkrečios vertės.

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

Parameters

Parametrai

Tipas

Aprašymas

value

double

Reikšmė, kuri bus naudojama naujai sukimosi vertei.

units

rotationUnits

Vienetas, rodantis sukimosi vertę:

  • degrees
  • turns
Return Values

Ši funkcija negrąžina reikšmės.

heading#

Grąžina dabartinę giroskopo jutiklio kryptį.

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

Parametras

Tipas

Aprašymas

units

rotationUnits

Vienetas, rodantis kryptį:

  • degrees (numatytasis)
  • turns
Return Values

Grąžina double nurodančius dabartinę giroskopinio jutiklio kryptį nurodytais vienetais, pagal numatytuosius nustatymus degrees.

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

rotation#

Grąžina dabartinį giroskopo jutiklio sukimąsi.

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

Parametras

Tipas

Aprašymas

units

rotationUnits

Vienetas, rodantis sukimosi reikšmę:

  • degrees (numatytasis)
  • turns
Return Values

Grąžina double rodantį dabartinę giroskopinio jutiklio sukimosi reikšmę nurodytais vienetais, pagal numatytuosius nustatymus degrees.

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