利用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. 可以自動在不同環境光源下自動學習記錄嗎?
沒有留言:
張貼留言
探奇歡迎大家留言討論!謝謝分享你的意見。