回転センサー#

導入#

回転センサーは、シャフトの回転を測定します。シャフトが回転するロボット上のあらゆる場所で使用でき、そのシャフトがモーターに直接接続されていなくても構いません。

モーターには、自身の回転を追跡できるエンコーダーが内蔵されています。回転セ​​ンサーは、別のシャフトの回転を追跡できる外部エンコーダーのように機能します。

回転センサーは、シャフトの角度、位置、速度を返します。角度は、0~359.99度のシャフトの絶対位置です。プロジェクトの開始時やロボットの電源がオフになってもリセットされません。位置は、プロジェクト中にシャフトが正転または逆転した角度(回転数)を追跡し、必要に応じてリセットできます。

回転センサーは、1/8インチおよび1/4インチの標準的なVEXシャフトに対応しています。

VEX V5回転センサー。

このページでは、回転センサー名の例として rotation_sensor を使用しています。必要に応じて、ご自身で設定した名前に置き換えてください。

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

  • set_position — 回転センサーの現在位置を特定の値に設定します。

  • angle — シャフトの現在の角度を0度から359.99度の範囲で返します。

  • position — シャフトが回転した角度または回転数を返します。

  • velocity — シャフトの回転速度を返します。

  • reset_position — 回転センサーの現在の位置を 0 にリセットします。

  • set_reversed — 回転センサーの出力が反転するかどうかを設定します。

  • changed — 回転センサーの値が変化するたびに実行される関数を登録します。

コンストラクタ — 回転センサーを手動で初期化します。

  • Rotation — 回転センサーを作成します。

位置を設定する#

set_position は回転センサーの現在位置を値に設定します。

位置とは、プロジェクト中にシャフトが回転した距離のことです。位置を設定すると、シャフトを動かさずに現在の位置の値が変更されます。

Usage:
rotation_sensor.set_position(position, units)

パラメータ

説明

position

回転センサーに割り当てる位置値。整数または小数を指定できます。

units

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

# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)

角度#

angle は、シャフトの現在の角度を float 型で返します。

角度は、1回転以内のシャフトの絶対位置を0度から359.99度の範囲で表示します。プロジェクトの開始時やロボットの電源オフ時にリセットされることはありません。

Usage:
rotation_sensor.angle(units)

パラメータ

説明

units

オプション。角度の単位: DEGREES (デフォルト)または TURNS。

位置#

位置position がどれだけ回転したかを示します。

角度とは異なり、位置は359.99度を超えて増加したり、0度を下回ったりすることができます。位置は、プロジェクト中にシャフトがどれだけ前進または後退したかを追跡し、必要に応じてリセットできます。

Usage:
rotation_sensor.position(units)

パラメータ

説明

units

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

速度#

速度がvelocity 返されます。

Usage:
rotation_sensor.velocity(units)

パラメータ

説明

units

速度の単位: VelocityUnits.RPM (1分あたりの回転数) または VelocityUnits.DPS (1秒あたりの度数)。

リセット位置#

reset_position は、回転センサーの現在位置を 0 にリセットします。

Usage:
rotation_sensor.reset_position()

パラメータ

説明

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

逆順に設定#

set_reversed は、回転センサーの出力が反転するかどうかを設定します。

反転すると、正の値は負になり、負の値は正になります。この方法は、Rotation コンストラクタ を使用する際に、 reverse パラメータを True に設定するのと同様に機能します。

Usage:
rotation_sensor.set_reversed(value)

パラメータ

説明

value

回転センサーの出力を反転するかどうか: True または False。

変更しました#

changed 回転センサーの値が変化するたびに呼び出される関数を登録します。

Usage:
rotation_sensor.changed(callback, arg)

パラメータ

説明

callback

回転センサーの値が変化したときに実行される、事前に定義された 関数。

arg

オプション。コールバック関数に渡す引数を含むタプル。詳細については、パラメーター付き関数の使用を参照してください。

def my_function():
  brain.screen.print("Rotated!")

# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)

コンストラクタ#

コンストラクタは、VEXcode以外で回転センサーを設定する場合など、回転 Rotation オブジェクトを手動で作成するために使用されます。

Rotation#

Rotation は回転センサーオブジェクトを作成します。

Usage:
Rotation(smartport)

パラメータ

説明

smartport

回転センサーが接続されているスマートポートは、 Ports.PORTxと表記され、 x はポート番号です。

reverse

オプション。回転センサーの出力を反転するかどうか: True または False (デフォルト)。

# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)