2015/09/10


本篇的主角是萊恩大兵的兩個兒子 Willie 和 Kenny. 萊恩大兵為他們兩個安排了 LEGO NXT 機器人的家教.

2015/8/29, 第十一課, 用光源感應器讓車車折返跑


第一段, 光源感應器的原理

兩兄弟已經學過聲音, 觸踫與超音波等三種感應器. 本週要學第四種~ 光源感應器.



先來介紹光源感應器的原理. 



太陽射出的光是透明無色的. 為什麼我們人眼中看見的世界裡有各種顏色呢? 那是因為, 太陽光照射在物體上, 一部份的光會被吸收, 一部份會被反射. 人眼所見的, 就是這些被反射的光 (紅橙黃綠藍靛紫). 

老師帶入三原色的概念. 光有亮度有顏色, 不同顏色的光混合在一起, 會變成其它的顏色.. 而每一種顏色的光, 都會對應到一個光數值. 

光源感應器會射出一道光到要偵測的物體上, 接收反射回來的光後, 計算出反射光的光數值. 



用說的沒感覺. 老師藉由 NXT 裡面的 View 程式, 接上光源感應器, 讓兩兄弟直接量測各種物體的光數值體驗一下.






//— 兩兄弟還沒有色階的概念, 也不懂計算機概論的 RGB 色彩模式. 光數值的粗略概念, 算是兩兄弟還能吸收的解釋. —// 

大致理解光源感應器的原理後, 老師公佈今天的實作題目~ 折返跑. 要做一台車, 利用光源感應器與黏貼在地板上的黑色膠帶, 讓車子在偵測到黑膠帶時, 自動轉 180 度改變前進方向.

第二段, 實作光源感應車

老師帶兩兄弟先做幾個實驗.

* 黑膠帶的光數值是多少? (14)
* 地板的光數值是多少? (44)
* 兩者的平均值又是多少? (26)


//— 地板的花色, 週遭的光影, 都會影響色值辨識結果 —//


為什麼要做這些實驗呢? 老師解釋..

* 車子一開始在地板上向前跑, 偵測到的光數值會是 44 左右.
* 當車子的偵測器踫到黑膠帶, 偵測到的光數值會漸漸降到 14 左右.
* 車子踫到黑膠帶, 就要 180 度折返. 然後偵測到的光數值又會漸漸增到 44 左右.

//— 解釋完, 程式也差不多(在心中)寫完了. —//  

老師提點了幾個注意事項, 要兩兄弟先實作出光源感應車. 

* 安裝光源感應器時, 得讓光源感應器的偵測區很貼近地面.
* 光源感應器的運作原理是偵測打在物體上反射回來的光, 入射角等於反射角, 所以, 光源感應器要裝的正才行. 不能歪歪斜斜地, 會造成誤判.
* 要換用不同的方式來做車子, 不能千篇一律, 都用同一種模式來做車子.






第三段, 寫程式, 測試與修改調整

老師把程式目標分兩階段.

第一階段的程式

(i) 車車一開始先往前跑 (用 Move 程式格, 出力多少/轉多久? 放進 Loop 程式格無限執行)



(ii) 車車偵測到黑膠帶時 (用 Wait 程式格, 設定為 Light Sensor, 大於或小於多少的光數值?), 即停下來 (用 Move 程式格, 動作為停止)



第二階段程式

(iii) 車車偵測到黑膠帶線後, 即迴轉180度後 (用 Move 程式格, 分別針對左右兩個輪子做轉動設定)




(iv) 車車繼續往前跑 (用 Move 與 Loop 程式格) 




//— 應該是老師的講解很精采, 兩兄弟竟沒遇到什麼困難, 便將程式完成. 看到車車能順利地在黑膠帶間折返跑, 自己都有點嚇一跳. —//  

//— 仔細看兩兄弟的程式碼, 其實是還有很多修改空間. 不過, 這階段, 就讓他們玩優先於學. —//  

Willie 的作品







Kenny 的作品









兩兄弟的作品合照



[萊恩大兵的其它文章]

LEGO NXT 機器人 學習記錄

學習記錄, LEGO NXT 機器人, (1) 聲控自走車 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (2) 簡易程式控制車 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (3) 第一隻程式與荷蘭風車 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (4) 雙馬達驅動車 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (5) 萬向輪與三輪車 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (6) 模仿動作的學習機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (7) 拉小提琴的音樂機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (8) 和聲音啟動車玩一二三木頭人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (9) 用觸踫感應器做賽馬比賽 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (10) 用超音波感應器玩鬼抓人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (11) 用光源感應器讓車車折返跑 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (12) 用光源感應器做直線遊園車 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (13) 用光源感應器做迴轉遊園車 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (14) 踫踫車, 感應器與程式格進階應用 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (15) 絕地逢生車, 感應器與程式格進階應用 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (16) 自動車庫門, 迴圈程式格進階應用 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (17) 摩天輪, 減速齒輪組進階應用 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (18) 直線競速車, 加速齒輪組進階應用 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (19) 倒車入庫 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (20) 伸縮毛毛蟲 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (21) 學習手臂 (LEGO, NXT)

0 意見:

張貼留言