Žiroskopiskais sensors#

Ievads#

gyro klase tiek izmantota, lai mērītu robota virzienu un rotācijas kustību, ļaujot izsekot orientācijai laika gaitā.

Klases konstruktors#

gyro(
  triport::port &port);

Klases iznīcinātājs#

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

virtual ~gyro();

Parametri#

Parametrs

Tips

Apraksts

port

triport::port &

3 vadu ports, kuram ir pievienots žiroskopiskais sensors, kas pierakstīts kā Brain.ThreeWirePort.X vai ExpanderName.X, kur X ir porta burts (piemēram, Brain.ThreeWirePort.A vai Expander1.A).

Piemērs#

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

Dalībnieku funkcijas#

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

  • calibrate — Kalibrē žiroskopu stabilai virziena izsekošanai.

  • setHeading — Iestata žiroskopa virzienu.

  • setRotation — Iestata žiroskopa pašreizējo rotācijas vērtību.

  • heading — Atgriež žiroskopa virzienu.

  • rotation — Atgriež žiroskopa rotāciju.

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

calibrate#

Kalibrē žiroskopisko sensoru.

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

Parametri

Tips

Apraksts

value

int32_t

Kalibrēšanai nepieciešamais laiks sekundēs. Noklusējuma vērtība ir 0.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • calibrate jāizsauc tikai tad, ja sensors nekustas.

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

setHeading#

Iestata žiroskopiskā sensora virzienu uz noteiktu vērtību.

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 rotāciju uz noteiktu vērtību.

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.

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 = GyroA.heading();
Brain.Screen.print(value);

rotation#

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

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 = GyroA.rotation();
Brain.Screen.print(value);