顏色#

介紹#

顏色感測器是一種光學感測器,它可以讓機器人檢測物體是否存在,識別特定顏色,並返回亮度、色調等視覺數據。

您也可以配置感測器內部指示燈的亮度。這些工具非常適合需要即時響應彩色物體、光照條件或感測器回饋的程式。

本頁面使用 color_1 作為範例顏色感測器名稱。您可以根據需要將其替換為您自己配置的名稱。

以下是所有方法的清單:

操作-使用顏色感應器偵測物體。

  • object_detected — 註冊一個在偵測到物件時要呼叫的函數。

變異器-修改顏色感測器上的指示燈。

  • set_light — 將顏色感測器的 LED 設定為開啟、關閉或設定的亮度等級。

  • set_light_power — 設定顏色感測器的 LED 的亮度。

獲取器 — 傳回帶有​​顏色感測器的物件資料。

  • is_near_object — 傳回物件是否在感測器的範圍內。

  • color — 傳回偵測到的顏色的十六進位代碼。

  • brightness — 傳回偵測到的亮度。

  • hue — 傳回偵測到的色調值。

  • installed — 返回顏色感測器是否已連接到大腦。

建構函數-手動初始化和配置顏色感測器。

行動#

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%。 4
  • LedStateType.OFF — 將 LED 亮度設定為 0%。 8
  • 或者,可以使用 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 尚未亮起,此方法也會將其開啟。

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 傳回偵測到的顏色的十六進位代碼,格式為「顏色」後面跟著兩個零和顏色的十六進位值。

例如,偵測紅色(#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 度之間的浮點數。

色相是一種用色輪上的數字來描述顏色的方法,如下圖所示。

一個圓形色輪,顯示完整的色調光譜,邊緣標有度數,從頂部的 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()

參數

描述

此方法沒有參數。

建構函數#

建構函數用於手動建立 ColorSensor 對象,這是在 VEXcode 之外配置 Color Sensor 所必需的。

ColorSensor#

ColorSensor 建立一個顏色感測器。

Usage:
color_1 = ColorSensor(smartport)

範圍

描述

smartport

顏色感測器所連接的智慧型端口,記為 PORTx,其中 x 是端口號。

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