ジャイロセンサー#
導入#
gyro クラスは、ロボットの進行方向と回転運動を測定するために使用され、時間の経過に伴う姿勢の追跡を可能にします。
クラスコンストラクタ#
gyro(
triport::port &port);
クラスデストラクタ#
gyro オブジェクトを破棄し、関連するリソースを解放します。
virtual ~gyro();
パラメータ#
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
ジャイロセンサーが接続されている3線式ポートは、 |
例#
// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);
メンバーの機能#
gyro クラスには、以下のメンバ関数が含まれています。
calibrate— 安定した方位追跡のためにジャイロを較正します。setHeading— ジャイロの方向を設定します。setRotation— ジャイロの現在の回転値を設定します。heading— ジャイロの方向を返します。rotation— ジャイロの回転を返します。
gyro メンバ関数を呼び出す前に、以下に示すように gyro インスタンスを作成する必要があります。
/* 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#
ジャイロセンサーを校正します。
Available Functionsvoid calibrate(
int32_t value = 0 );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
キャリブレーションに費やす時間(秒)。デフォルト値は |
この関数は値を返しません。
Notescalibrateは、センサーが動いていない場合にのみ呼び出す必要があります。
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
ジャイロセンサーの方向を特定の値に設定します。
Available Functionsvoid setHeading(
double value,
rotationUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
新しい見出しに使用する値。 |
|
|
方位を表す単位:
|
この関数は値を返しません。
setRotation#
ジャイロセンサーの回転角度を特定の値に設定します。
Available Functionsvoid setRotation(
double value,
rotationUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
新しい回転値に使用する値。 |
|
|
回転値を表す単位:
|
この関数は値を返しません。
heading#
ジャイロセンサーの現在の方位角を返します。
Available Functionsdouble heading(
rotationUnits units = degrees );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
方位を表す単位:
|
指定された単位でのジャイロセンサーの現在の方位を表す double を返します。デフォルト値は degreesです。
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
ジャイロセンサーの現在の回転角度を返します。
Available Functionsdouble rotation(
rotationUnits units = degrees );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
回転値を表す単位:
|
指定された単位でのジャイロセンサーの現在の回転値を表す double を返します。デフォルト値は degreesです。
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);