回転センサー#
導入#
rotation クラスは、EXP回転センサーからのデータを制御し、アクセスするために使用されます。
回転センサーは、シャフトの回転を測定します。シャフトが回転するロボット上のあらゆる場所で使用でき、そのシャフトがモーターに直接接続されていなくても構いません。
モーターには、自身の回転を追跡できるエンコーダーが内蔵されています。回転センサーは、別のシャフトの回転を追跡できる外部エンコーダーのように機能します。
回転センサーは、シャフトの角度、位置、速度を返します。角度は、0~359.99度のシャフトの絶対位置です。プロジェクトの開始時やロボットの電源がオフになってもリセットされません。位置は、プロジェクト中にシャフトが正転または逆転した角度(回転数)を追跡し、必要に応じてリセットできます。
回転センサーは、1/8インチおよび1/4インチの標準的なVEXシャフトに対応しています。
クラスコンストラクタ#
rotation(
int32_t index,
bool reverse = false );
クラスデストラクタ#
回転 rotation オブジェクトを破棄し、関連するリソースを解放します。
virtual ~rotation();
パラメータ#
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
回転センサーが接続されているスマートポートは、 |
|
|
オプション。回転センサーの出力を反転するかどうか:
|
例#
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
メンバーの機能#
rotation クラスには、以下のメンバ関数が含まれています。
setPosition— 回転センサーの現在位置を特定の値に設定します。angle— シャフトの現在の角度を0度から359.99度の範囲で返します。position— シャフトが回転した角度または回転数を返します。velocity— シャフトの回転速度を返します。
rotation メンバー関数を呼び出す前に、以下に示すように rotation インスタンスを作成する必要があります。
/* This constructor is required when using VS Code.
Rotation Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
setPosition#
回転センサーの現在位置を特定の値に設定します。
位置とは、プロジェクト中にシャフトが回転した距離のことです。位置を設定すると、シャフトを動かさずに現在の位置の値が変更されます。
Available Functionsvoid setPosition(
double value,
rotationUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
回転センサーに割り当てる位置値。整数または小数を指定できます。 |
|
|
The position unit:
|
この関数は値を返しません。
angle#
シャフトの現在の角度を返します。
角度は、1回転以内のシャフトの絶対位置を0度から359.99度の範囲で表示します。プロジェクトの開始時やロボットの電源オフ時にリセットされることはありません。
Available Functionsdouble angle( rotationUnits units = degrees );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
オプション。角度の単位:
|
指定された単位で、シャフトの現在の角度を表す double を返します。
// Get the current angle of the shaft
double angle = Rotation1.angle(degrees);
// Print the current angle of the shaft to the
// Brain's screen.
Brain.Screen.print(angle);
position#
シャフトがどれだけ回転したかを返します。
角度とは異なり、位置は359.99度を超えて増加したり、0度を下回ったりすることができます。位置は、プロジェクト中にシャフトがどれだけ前進または後退したかを追跡し、必要に応じてリセットできます。
Available Functionsdouble position( rotationUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
The position unit:
|
指定された単位でシャフトがどれだけ回転したかを表す、 double 倍精度浮動小数点数を返します。
velocity#
シャフトの回転速度を返します。
Available Functionsdouble velocity( velocityUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
速度の単位:
|
指定された単位で、シャフトの回転速度を表す double を返します。