利用mBot主機板 mCore 上面的光線感應器與RGB LED燈,可以用來偵測顏色。 (以前好像有一位老師曾經做過類似的事,這次我要自己做一次^^) 請看拍不清楚的影片示範: 將三種顏色的樂高積木放在光線感應器上方,按下板載按鈕,mBot進行偵測,亮出偵測結果的燈號,同時角色北極熊在螢幕上說出相對應的顏色。目前可以辨識『紅色』『藍色』『黃色』及『無顏色』。 原理很簡單,人的眼睛有紅藍綠三種感光細胞,積木會反射眼睛所看到的色光(所以我們才會看到這個顏色),例如: 黃色:反射大部分的紅色及綠色色光 紅色:反射大部分紅色色光 藍色:反射大部分藍色色光 所以我們依序做下面的動作 1. 先點亮LED的紅光,記錄光線感應器的數值, 2. 接著點亮LED的綠光,記錄光線感應器的數值, 3. 最後點亮LED的藍光,記錄光線感應器的數值。 多做幾次,找出不同顏色積木的光線感應器數值,如下表: 黃色:R 620-721, G 305-326, B 99-121 藍色:R 103-114, G 164-169, B 320-366 綠色:R 477-587, G 76-103, B 82-92 新增另外一個角色 - 北極熊,根據三種LED燈光所反射的光線感應器數值,判斷為何種顏色的積木。 本次示範的s2b程式放在 mBot mBlock 教學問答 臉書社團歡迎大家下載使用。 後續挑戰: 1. 可以辨識更多顏色嗎? 2. 如何辨識近似的顏色?例如深紅與淺紅? 3. 機器人可以依據不同的顏色做出不同的對應動作嗎? 4. 資料需要利用簡單如果法則,還是查表法的方式判別? 5. 可以自動在不同環境光源下自動學習記錄嗎?