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命令(最右邊)
下面是一些簡單的使用範例程式:
- 簡單的顏色判斷顯示
2. 利用RGB命令,顯示物體表面RGB三原色的反射光值。
記錄RGB三原色的數值,就能依據這些數值,判斷物體表面的顏色。
建議測量時,需要調整積木的位置,以得到數字變化的最大及最小數值。
3. 使用區間命令判別RGB數值是否位於上面最大及最小的記錄範圍。
測試結果如下圖,相片有點暗,不過確實能夠辨識橘色。當然測試調整區間數值也是很重要的,需要多加嘗試。
利用陣列記錄這些區間數值,就能完整判斷各種顏色。大家不妨試試看顏色感應器的RGB讀取數值功能!
沒有留言:
張貼留言
探奇歡迎大家留言討論!謝謝分享你的意見。