色#

導入#

カラーセンサーは光学センサーであり、ロボットが物体の存在を検知したり、特定の色を認識したり、明るさや色相などの視覚データを返すことを可能にします。

センサー内部のライトの明るさも設定できます。これらのツールは、色付きの物体、照明条件、センサーからのフィードバックにリアルタイムで反応する必要のあるプログラムに最適です。

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

以下にすべてのメソッドの一覧を示します。

アクション — カラーセンサーで物体を検出する。

  • object_detected — オブジェクトが検出されたときに呼び出される関数を登録します。

ミューテーター — カラーセンサーのライトを変更します。

  • set_light — カラーセンサーのLEDをオン、オフ、または設定された明るさレベルに設定します。

  • set_light_power — カラーセンサーのLEDの明るさを設定します。

ゲッター — カラーセンサーを使用してオブジェクトデータを返します。

  • is_near_object — オブジェクトがセンサーの範囲内にあるかどうかを返します。

  • color — 検出された色の16進コードを返します。

  • brightness — 検出された明るさを返します。

  • hue — 検出された色相値を返します。

  • installed — カラーセンサーがブレインに接続されているかどうかを返します。

コンストラクター — カラーセンサーを手動で初期化および構成します。

  • ColorSensor — カラーセンサーを作成します。

行動#

object_detected#

object_detected カラーセンサーが物体を検出したときに呼び出される関数を登録します。

Usage:
color_1.object_detected(callback, args)

パラメータ

説明

callback

カラーセンサーが物体を検出したときに実行されるように事前に定義された関数。

args

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

変異誘発者#

set_light#

set_light は、カラーセンサーの LED をオン、オフ、または設定された明るさレベルに設定します。

Usage:
color_1.set_light(value, units)

パラメータ

説明

value

次のいずれかを使用して、LED をオンまたはオフにするかどうかを指定します。

  • LedStateType.ON — LED の明るさを 100% に設定します。
  • LedStateType.OFF — LED の明るさを 0% に設定します。
または、0 から 100 までのパーセントを使用して LED の明るさを設定することもできます。 0 の値は LED をオフにします。 0 より大きい値は、その明るさで LED をオンにします。

units

オプション。明るさの値を表す単位: PERCENT。

# Turn the LED on and off forever
while True:
    color_1.set_light(LedStateType.ON)
    wait(0.5, SECONDS)
    color_1.set_light(LedStateType.OFF)
    wait(0.5, SECONDS)

# Turn the LED on and off forever
while True:
    color_1.set_light(LedStateType.ON, 75)
    wait(0.5, SECONDS)
    color_1.set_light(0)
    wait(0.5, SECONDS)

set_light_power#

set_light_power は、カラーセンサーのLEDの明るさを設定します。LEDが点灯していない場合、このメソッドはLEDを点灯させます。

Usage:
color_1.set_light_power(value)

パラメータ

説明

value

LEDの明るさを0~100パーセントで表します。値が0の場合はLEDが消灯します。

# Turn the LED light on at different intensities
color_1.set_light_power(10)
wait(2, SECONDS)
color_1.set_light_power(100)

ゲッター#

is_near_object#

is_near_object は、カラーセンサーが物体から約 57 ミリメートル (2.25 インチ) 以内にあるかどうかを示すブール値を返します。検出は反射光に依存するため、暗い表面や反射しない表面は確実に検出されない場合があります。

  • True — 検出された物体は約 57 ミリメートル以内です。

  • False — 検出された物体は約 57 ミリメートル以内にありません。

Usage:
color_1.is_near_object()

パラメータ

説明

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

color#

color 、検出された色の 16 進コードを「Color」の後に 2 つのゼロと色の 16 進数値が続く形式の文字列として返します。

例えば、赤色(#FF0000)を検出すると、「Color 00FF0000」が返されます。

Usage:
color_1.color()

パラメータ

説明

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

# Display the currently detected hex value
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print(color_1.color())
    wait(0.5,SECONDS)

brightness#

brightness 検出された色の明るさを 0% から 100% までの整数で返します。

パーセンテージが高いほど、カラーセンサーがより多くの光を検知します。パーセンテージが低いほど、カラーセンサーが検知する光の量が少なくなります。

Usage:
color_1.brightness()

パラメータ

説明

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

# Display the currently detected brightness
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Brightness:")
    brain.screen.next_row()
    brain.screen.print(color_1.brightness())
    wait(0.5,SECONDS)

hue#

hue 、検出された色相値を 0 ~ 359.99 度の範囲の浮動小数点数として返します。

色相とは、下図に示すように、色相環上の数字を用いて色を表現する方法です。

円形のカラーホイールには、周囲に度数が表示され、上部の0°から360°まで30度刻みで増加する、色相の全スペクトルが表示されています。

Usage:
color_1.hue()

パラメータ

説明

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

# Display the currently detected hue 
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Hue: ")
    brain.screen.print(color_1.hue())
    wait(0.5,SECONDS)

installed#

installed 、カラーセンサーがブレインに接続されているかどうかを示すブール値を返します。

  • True — カラーセンサーは脳に接続されています。

  • False — カラーセンサーは脳に接続されていません。

Usage:
color_1.installed()

パラメータ

説明

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

建設業者#

コンストラクタは、VEXcode の外部でカラーセンサーを設定するために必要な ColorSensor オブジェクトを手動で作成するために使用されます。

ColorSensor#

ColorSensor はカラーセンサーを作成します。

Usage:
color_1 = ColorSensor(smartport)

パラメータ

説明

smartport

カラーセンサーが接続されているスマートポートは、PORTxと表記され、xはポート番号を表します。

# Create a Color Sensor object in Port 3
color_1 = ColorSensor(Ports.PORT3)