エンコーダー#

導入#

光学式シャフトエンコーダは、シャフトの回転位置と回転速度を測定します。内蔵の光学センサーを使用してシャフトの回転距離と回転速度を検出するため、ホイールの回転、アームの位置、その他の機構の追跡に役立ちます。

VEX光学式シャフトエンコーダー。

このページでは、例として encoder_a という光学式シャフトエンコーダ名を使用しています。必要に応じて、ご自身の設定名に置き換えてください。

利用可能なメソッドの一覧は以下のとおりです。

  • set_position – エンコーダの現在位置を特定の値に設定します。

  • reset_position – エンコーダの現在の位置を 0 に設定します。

  • position – エンコーダが回転した距離を返します。

  • velocity – エンコーダの現在の回転速度を返します。

コンストラクター – 光学式シャフトエンコーダを手動で初期化および構成します。

  • Encoder – 光学シャフトエンコーダを作成します。

位置を設定する#

set_position はエンコーダの現在位置を指定された値に設定します。これは、モーターやその他の機構を回転させることなく、トラッキング位置を手動で設定するために使用できます。

Usage:
encoder_a.set_position(position, units)

パラメータ

説明

position

エンコーダの位置を数値で設定します。

units

オプション。位置を設定する単位: DEGREES (デフォルト)または TURNS。

# Set the encoder's position to 3 turns
encoder_a.set_position(3, TURNS)

リセット位置#

reset_position はエンコーダの現在位置を 0 に設定します。

Usage:
encoder_a.reset_position()

パラメータ

説明

このメソッドにはパラメータがありません。

位置#

位置position に接続されたシャフトがどれだけ回転したかを返します。

Usage:
encoder_a.position(units)

パラメータ

説明

units

オプション。位置を返す単位: DEGREES (デフォルト) は integer を返します。 TURNS 小数 float を返します。

速度#

velocity エンコーダの回転速度を小数 float として返します。

Usage:
encoder_a.velocity(units)

パラメータ

説明

units

オプション。速度を返す単位: RPM (デフォルト)、1 分あたりの回転数、または VelocityUnits.DPS秒あたりの度数。

コンストラクタ#

コンストラクタは、VEXcode の外部で光学シャフトエンコーダを構成するために必要な、 Encoder オブジェクトを手動で作成するために使用されます。

Encoder#

Encoder creates an Optical Shaft Encoder.

Usage:
Encoder(port)

パラメータ

説明

port

光軸エンコーダが接続されている2つの3線式ポートのうちの1つ目:

  • EXP Brain上 – Ports.PORTx ここで、xはポート番号です。
  • 3線式エキスパンダー上 – expander.a ここで、 expander はエキスパンダーインスタンスの名前です。

# Create an Optical Shaft Encoder in Port A and B
encoder_a = Encoder(brain.three_wire_port.a)