2018-09-03

LEGO EV3 Color Sensor 顏色感應器的 RGB 讀取功能


EV3樂高機器人具備一個顏色感應器 Color Sensor,這顆感應器能辨識7種顏色加上『沒有顏色』(請參考下面探奇工作室的上課講義)


從上面表格可以得知,有一些常見顏色無法正確判別,例如橘色與紫色。原因正是因為物體反射的色光三原色不同,橘色可能判斷為紅色或黃色。


使用這顆顏色感應器還需要注意安裝位置,與待測物體的表面高度距離,最好維持在0.5-1公分,太遠或太近都會造成誤判,外界光線也會影響判斷結果。

所以有些時候常常發生誤判,即使是藍色,紅色等單純的色光,也會發生判別錯誤的情形,令人頭痛。


(所以大部分參加比賽的人都會購買HiTechnic 的顏色感應器,似乎判別較為正確?)

不過還有一個辦法解決EV3原廠顏色感應器的辨別能力,就是RGB讀取功能。

首先請到下面的連結,下載EV3 block命令的安裝檔案



請先將檔案解壓縮備用。Zip檔案變成ev3b檔案。


接著進入EV3 軟體,先新增或開啟一個檔案,選擇 Tools


點擊 Block Import


出現下面的視窗


點擊 Browse,選擇剛剛解壓縮檔案的資料夾位置,單點擊ev3b檔案,然後開啟。


點擊『Import』


出現提醒視窗,告訴你需要重新執行EV3軟體,才會新增顏色感應器的命令。


按下OK後回到輸入視窗,下方狀態欄已經變為Import Successful


接著就是關閉視窗Close。點擊右上角的X,跳出EV3軟體,

會到桌面後再次啟動EV3 Lab 軟體。


黃色的輸入命令盤,就會多出這個RGB命令(最右邊)

下面是一些簡單的使用範例程式:

  1. 簡單的顏色判斷顯示



2. 利用RGB命令,顯示物體表面RGB三原色的反射光值。




記錄RGB三原色的數值,就能依據這些數值,判斷物體表面的顏色。

建議測量時,需要調整積木的位置,以得到數字變化的最大及最小數值。

3. 使用區間命令判別RGB數值是否位於上面最大及最小的記錄範圍。

測試結果如下圖,相片有點暗,不過確實能夠辨識橘色。當然測試調整區間數值也是很重要的,需要多加嘗試。




利用陣列記錄這些區間數值,就能完整判斷各種顏色。大家不妨試試看顏色感應器的RGB讀取數值功能!