使用 VEX IQ(第一代)顏色感測器

顏色感測器使用反射光來偵測物體的顏色、色調值、灰階值、亮度和接近度。

VEX IQ 顏色感測器包含在 VEX IQ 超級套件中,也可以在此處購買


顏色感應器說明

VEX IQ 顏色感測器具有多種模式,使其能夠從環境中捕獲不同類型的信息。 它收集的資訊受到環境照明條件以及感測器與其正在讀取的物體或表面之間的距離的影響。


vex-彩虹-圓-graphic_2.jpeg


顏色感測器的工作原理

顏色感測器可以檢測顏色和接近度。

檢測顏色

在亮度模式下,顏色感測器用於偵測機器人環境中所有光線的強度。 當顏色感測器處於活動狀態時,到達顏色感測器的光線越多,發送到機器人大腦的百分比值就越高。

如果偵測到的亮度百分比較低或不可靠,可以開啟顏色感測器的燈或使用以下設定的光線進行遮蔽來提高燈的亮度百分比:

顏色感測器可以將其看到的顏色報告為顏色值或色調值。

顏色值。顏色感測器可以偵測到的顏色有 14 種。 塊圖像中缺少的顏色是紅色、綠色、藍色、白色和黃色。

色調值。色調值類似於顏色值,但是是數字。 色調值的範圍是 0 到 360,就像度數一樣。 上面列出的顏色值有其自己的等效色調值範圍。 

在檢測顏色和色調時,顏色感測器擁有適當的光量非常重要。 請務必在不同的光線水平下以及將燈設置在不同的水平下測試(也稱為校準)顏色感測器,以確定哪種設定是機器人顏色感測器最可靠的設定。

 
檢測接近度

顏色感測器包括紅外線感測器發射器。 紅外線發射器發出不可見光,然後偵測其反射。 如果大部分紅外光反射回感測器,它會告訴機器人大腦有一個物體很近。

顏色感測器的常見用途

顏色感測器用於許多技術應用,在這些應用中,顯示器或產品上具有特定顏色非常重要。

日常生活中的一些常見用途包括:

  • 顏色校準工具檢查數位螢幕是否顯示準確的顏色,然後根據需要調整顯示設定。 對於圖形藝術家和任何在數位螢幕上使用顏色的設計師來說,能夠準確地看到所顯示的正確顏色非常重要。 當顏色不準確時,會導致誤解和資源浪費。
  • 相機和攝影機使用顏色感應器根據所處的照明條件調整設置,以便透過最大化光線水平和增強原本暗淡的顏色來增強照片和影片。 這些感測器還允許攝影師專注於照片中的特定顏色。
  • 顏色感測器有時用於製造中,以便在將產品運送給客戶之前快速檢查產品是否具有正確的顏色。 例如,可以掃描成熟或可供食用時變色的水果和蔬菜,以確保它們的顏色適合送到市場。 


VEX IQ 機器人的一些常見用途包括:

  • 此感測器可用於偵測物體的顏色。

  • 此感測器可用於檢測和/或追蹤線路。

  • 此感測器可以偵測附近是否有物體。

競賽機器人上的顏色感測器

請記住,在檢測顏色和色調時,顏色感測器擁有適當的光量非常重要。 每次到達新的比賽場地時,請務必測試(也稱為校準)顏色感測器,因為不同的光線水平會影響顏色感測器的性能。 使用不同等級的燈組測試您的項目,以確定哪種設定是機器人顏色感測器最可靠的設定。 

顏色感測器收集的資訊對於對競技機器人進行編程以響應各種條件非常有用。 顏色感測器可以透過以下方式讓競賽機器人變得更好:

  • 它可以讓機器人偵測感測器附近物體的顏色。 如果您希望機器人對不同顏色的物體進行分類、駛向特定顏色的物體或在物體經過感測器時檢測物體的顏色,這非常有用。
  • 它可以讓機器人偵測有多少光被反射回感測器。 這使得您的機器人能夠行駛直到您到達表面上的一條線,甚至沿著一條線行駛。
  • 它讓機器人知道附近是否有物體或表面。 這有助於確定檢測到的顏色是否是來自附近物體的讀數,或者可能是來自遠處表面或光線的異常讀數。 

對顏色感測器進行區塊編碼

5dc33fd05c167.png

<Found an object> 塊是一個布林報告器區塊,用於報告條件為 true 或 false。 布爾塊(例如 <Found an object> 塊)適合與其他塊的六邊形(六邊形)輸入的塊內部。

如果顏色感測器偵測到物體,則 <Found an object> 布爾塊報告「真」;如果感測器未偵測到物體,則報告「假」。 要了解有關布爾塊的更多信息,請訪問 幫助塊形狀和含義 文章。

 

Screen_Shot_2023-03-01_at_12.37.53_PM.png

在此範例中, <Found an object> 塊與 [等到] 塊一起用於檢測接近度,以使機器人向前行駛,直到檢測到物體。

Screen_Shot_2023-03-01_at_12.46.03_PM.png

<Color detects> 塊也是一個布林報告器區塊,用於報告條件為 true 或 false。 如果顏色感測器偵測到所選顏色則報告“真”,如果感測器偵測到任何其他顏色則報告“假”,則 <Color detects> 報告“真”。 要了解有關布爾塊的更多信息,請訪問 幫助塊形狀和含義 文章。

 

Screen_Shot_2023-03-01_at_12.42.15_PM.png

在此範例中, <Color detects> 塊與 [等待] 塊一起使用,使機器人向前行駛,直到顏色感測器偵測到綠色物體。 然後機器人將停止行駛。 上面的第一個影片對此進行了說明。

Screen_Shot_2023-03-01_at_12.49.57_PM.png

(亮度)塊報告顏色感測器偵測到的光量。 它是一個記者塊,用於其他具有圓形空間的塊內。

(亮度)區塊報告的範圍為 0% 到 100%。

 

Screen_Shot_2023-03-01_at_12.53.59_PM.png

在此範例中,(的亮度)區塊用於讓機器人偵測並遵循一條線,如上面的第二個影片所示。

Screen_Shot_2023-03-01_at_3.22.43_PM.png

(色調)塊報告顏色感測器檢測到的顏色的色調。 它是一個記者塊,用於其他具有圓形空間的塊內。

亮度) 區塊報告的範圍為 0 到 360。1

 

Screen_Shot_2023-03-01_at_3.40.56_PM.png

在此範例中,(色調)方塊用於讓機器人檢查與紅色相對應的一系列色調值,如果感測器偵測到這些值,則向右轉 90 度。 如果偵測到任何其他色調值,機器人將向左轉 90 度。

當環境光線條件可能不一致時,機器人需要檢測某些顏色時,(色調)塊可能會很有用。

用 Python 編寫顏色感測器程式碼

注意:要使用 Python 編寫 VEX IQ(第一代)保險桿開關,必須將其連接到 VEX IQ(第二代)大腦。 VEX IQ(第一代)Brain 不支援 Python。

Screen_Shot_2023-03-01_at_2.20.15_PM.png

The color.is_near_object command reports True when a Color sensor detects an object or surface close to the front of the sensor and False when a Color Sensor does not detect an object or surface close to the front of the感應器.

注意:指令中顯示的顏色感測器名稱與配置中給出的名稱相對應。 

Screen_Shot_2023-03-01_at_2.25.58_PM.png

在此範例中,具有 not 條件的While 循環與 color.is_near_object 指令一起使用,使機器人向前行駛,直到顏色感測器偵測到靠近前方的物體。感測器。

Screen_Shot_2023-03-01_at_2.30.22_PM.png

color.color 指令報告 顏色感測器目前偵測到的顏色。

Screen_Shot_2023-03-01_at_2.33.28_PM.png

在此範例中,具有 not 條件的While 循環與 color.color 指令一起使用,使機器人向前行駛,直到顏色感測器偵測到綠色物體。 然後機器人將停止行駛。 上面的第一個影片對此進行了說明。

Screen_Shot_2023-03-01_at_2.37.12_PM.png

color.brightness 指令報告顏色感測器偵測到的光量。 它報告的值範圍為 0% - 100%。

Screen_Shot_2023-03-01_at_3.18.39_PM.png

在此範例中, color.brightness 指令用於讓機器人偵測並遵循一條線,如上面的第二個影片所示。

Screen_Shot_2023-03-01_at_3.47.50_PM.png

color.hue 指令報告顏色感測器偵測到的顏色的色調。 它報告從 0 到 360 的色調值範圍

Screen_Shot_2023-03-01_at_4.05.24_PM.png

在此範例中, color.hue 指令用於讓機器人檢查與紅色相對應的一系列色調值,如果感測器偵測到這些值,則向右轉 90 度。 如果偵測到任何其他色調值,機器人將向左轉 90 度。

當環境光線條件可能不一致時,機器人需要偵測某些顏色時, color.hue 指令會很有用。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: