物体センサー#
導入#
物体センサーは、反射された赤外線(IR)光を利用して物体が近くにあることを検出する赤外線(IR)近接センサーです。

このページでは、例として object_sensor というオブジェクトセンサー名を使用しています。必要に応じて、ご自身で設定した名前に置き換えてください。
利用可能なメソッドの一覧は以下のとおりです。
reflectivity– オブジェクトから反射される光の量をパーセントで表したintegerを返します。is_object_detected– オブジェクトセンサーがオブジェクトを検出しているかどうかを返します。set_threshold– オブジェクトが検出されたとみなされる前に必要な反射光の量を設定します。object_detected– オブジェクトセンサーが新しいオブジェクトを検出するたびに呼び出される関数を登録します。object_lost– オブジェクトセンサーが検出したオブジェクトを失ったときに呼び出される関数を登録します。changed– オブジェクトセンサーの値が変更されるたびに呼び出される関数を登録します。
コンストラクタ – オブジェクトセンサーを手動で初期化します。
ObjectDetector– オブジェクトセンサーを作成します。
反射率#
reflectivity 、オブジェクトから反射される光の量をパーセントで表す integer を返します。
注記:
反射率が0%ということは、対象物が非常に暗いことを意味します。
反射率が100%ということは、その物体が非常に明るいことを意味します。
Usage:
object_sensor.reflectivity()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
# Drive forward when the reflectivity is greater than 50%.
while True:
if object_sensor.reflectivity() > 50:
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
オブジェクトが検出されました#
is_object_detected オブジェクトセンサーがオブジェクトを検出しているかどうかを返します。
True– オブジェクトセンサーが物体を検出しています。False– オブジェクトセンサーがオブジェクトを検出していません。
Usage:
object_sensor.is_object_detected()
パラメータ |
説明 |
|---|---|
このメソッドにはパラメータがありません。 |
# Drive forward when the object sensor is detecting an object.
while True:
if object_sensor.is_object_detected():
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
しきい値を設定する#
set_threshold は、物体が検出されたとみなされるために必要な反射光の量をパーセントで設定します。
Usage:
object_sensor.set_threshold(value)
パラメータ |
説明 |
|---|---|
|
物体が検出されたとみなされるために必要な反射率の値(0~100)。 |
# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
if object_sensor.is_object_detected():
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
オブジェクトが検出されました#
object_detected オブジェクトセンサーが新しいオブジェクトを検出するたびに呼び出される関数を登録します。
Usage:
object_sensor.object_detected(callback, arg)
パラメータ |
説明 |
|---|---|
|
オブジェクトセンサーが新しいオブジェクトを検出したときに実行される、事前に定義された関数。 |
|
オプション。コールバック関数に渡す引数を含む |
def my_function():
brain.screen.print("Object detected.")
# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)
オブジェクトが失われた#
object_lost は、オブジェクトセンサーが検出されたオブジェクトを失ったときに呼び出される関数を登録します。
Usage:
object_sensor.object_lost(callback, arg)
パラメータ |
説明 |
|---|---|
|
オブジェクトセンサーが検出したオブジェクトを失ったときに実行される、事前に定義された関数。 |
|
オプション。コールバック関数に渡す引数を含む |
def my_function():
brain.screen.print("Object lost.")
# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)
変更しました#
changed オブジェクトセンサーの値が変更されるたびに呼び出される関数を登録します。
Usage:
object_sensor.changed(callback, arg)
パラメータ |
説明 |
|---|---|
|
オブジェクトセンサーの値が変更されたときに実行される、事前に定義された 関数。 |
|
オプション。コールバック関数に渡す引数を含む |
def my_function():
brain.screen.print("Reflectivity changed.")
# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)
建設業者#
コンストラクタは、オブジェクトセンサーの設定に必要な ObjectDetector を手動で作成するために使用されます。
ObjectDetector#
ObjectDetector はオブジェクトセンサーを作成します。
Usage:
ObjectDetector(port, reverse_det)
パラメータ |
説明 |
|---|---|
|
オブジェクトセンサーが接続されている3線式ポート:
|
|
オプション。検出ロジックを反転するかどうか:
|
# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)