顏色#
介紹#
顏色感測器是一種光學感測器,它可以讓機器人檢測物體是否存在,識別特定顏色,並返回亮度、色調等視覺數據。
您也可以配置感測器內部指示燈的亮度。這些工具非常適合需要即時響應彩色物體、光照條件或感測器回饋的程式。
本頁面使用 color_1 作為範例顏色感測器名稱。您可以根據需要將其替換為您自己配置的名稱。
以下是所有方法的清單:
操作-使用顏色感應器偵測物體。
object_detected— 註冊一個在偵測到物件時要呼叫的函數。
變異器-修改顏色感測器上的指示燈。
set_light— 將顏色感測器的 LED 設定為開啟、關閉或設定的亮度等級。set_light_power— 設定顏色感測器的 LED 的亮度。
獲取器 — 傳回帶有顏色感測器的物件資料。
is_near_object— 傳回物件是否在感測器的範圍內。color— 傳回偵測到的顏色的十六進位代碼。brightness— 傳回偵測到的亮度。hue— 傳回偵測到的色調值。installed— 返回顏色感測器是否已連接到大腦。
建構函數-手動初始化和配置顏色感測器。
ColorSensor— 建立一個顏色感測器。
行動#
object_detected#
object_detected 註冊一個當顏色感測器偵測到物件時要呼叫的函數。
Usage:
color_1.object_detected(callback, args)
參數 |
描述 |
|---|---|
|
先前定義的當顏色感測器偵測到物體時要執行的函數。 |
|
可選。包含要傳遞給回呼函數的參數的元組。有關更多信息,請參閱帶參數的函數。 |
突變體#
set_light#
set_light 將顏色感應器的 LED 設定為開啟、關閉或設定的亮度等級。
Usage:
color_1.set_light(value, units)
參數 |
描述 |
|---|---|
|
指定 LED 的開啟或關閉狀態,可使用下列選項之一:
|
|
可選。表示亮度值的單位: |
# 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 尚未亮起,此方法也會將其開啟。
Usage:
color_1.set_light_power(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 傳回偵測到的顏色的十六進位代碼,格式為「顏色」後面跟著兩個零和顏色的十六進位值。
例如,偵測紅色(#FF0000)將傳回「顏色 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 度之間的浮點數。
色相是一種用色輪上的數字來描述顏色的方法,如下圖所示。

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()
參數 |
描述 |
|---|---|
此方法沒有參數。 |
建構函數#
建構函數用於手動建立 ColorSensor 對象,這是在 VEXcode 之外配置 Color Sensor 所必需的。
ColorSensor#
ColorSensor 建立一個顏色感測器。
Usage:
color_1 = ColorSensor(smartport)
範圍 |
描述 |
|---|---|
|
顏色感測器所連接的智慧型端口,記為 PORTx,其中 x 是端口號。 |
# Create a Color Sensor object in Port 3
color_1 = ColorSensor(Ports.PORT3)