2015/09/19


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

2015/9/5, 第十二課, 用光源感應器做直線遊園車

第一段, 車車會沿黑線走的原理

上週應用光源感應器讓車車折返跑, 兩兄弟很有成就感, 從他們的表情就能充分感受. 本週再接再厲, 要應用光源感應器做一台更厲害的車子.

老師公佈題目~ 模擬迪士尼樂園的遊園車, 做一台會沿著地上膠帶走的自動車.



要怎麼做呢? 老師解釋.. 基本上就是車子在走的時候, 要能自我修正, 一直去找黑色膠帶.




老師分析給兩兄弟聽:
(i) (把車子放在膠帶右側, 斜斜的有個夾角) 首先, 讓車子一直向前走, 直到偵測到黑色膠帶時, 車子向右轉.
(ii) 車子繼續向前走, 當偵測到淺色的地板時, 車子向左轉.
(iii) 重複進行 (i) 和 (ii).

這樣就能讓車子沿著黑線走? 兩兄弟的表情很困惑..


(先偷看最後的成果, 車子真的是右轉左轉地沿著膠帶在走)



第二段, 實作光源感應車


基本上, 實作光源感應車要注意的地方, 仍是那幾點:
- 安裝光源感測器不能離地太遠, 而且要水平的.
- 車體要堅固穩定.




在兩兄弟已有不少實作車子的經驗值下, 老師仍花了很多時間去示範把車做穩固或更有效率的技巧 (例如: 馬達固定, 注意槽位預留等). 這其實是有深意的~ LEGO NXT 機器人的課程重點是在程式開發. 寫程式通常不是一次的工, 會需要很多的測試, 修改與調整. 因此, 兩兄弟得縮短實作車子的時間 (但不能減損品質), 多留時間在程式(測試, 修改與調整) 上面.

看的多就模仿的多, 今回兩兄弟實作出來的車車, 比較多是重現(或模仿)老師示範的技巧.


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


老師先前的解說, 已差不多把程式演算法講完了.




動手寫程式前, 先去量出黑(20), 白(60), 與灰(40)值.



程式的目標分兩階段:

第一段的程式
(i) 車車一直向前走 (Move 程式格, 出力多少/轉多久?), 偵測到黑膠帶 (Wait 程式格, 設定為 Light Sensor, 是大於還是小於多少的光數值?) 時, 向右轉 (Move 程式格, 哪個輪胎要轉? 出力多少/轉多久?).





第二段的程式
(ii) 車車繼續向前走 (Move 程式格, 出力多少/轉多久?)偵測到淺色的地板 (Wait 程式格, 設定為 Light Sensor, 是大於還是小於多少的光數值?) 時, 向左轉 (Move 程式格, 哪個輪胎要轉? 出力多少/轉多久?).
(iii) 反複進行 (i) 和 (ii) (Loop 程式格).




Willie 問了個很妙的問題~ 這車要怎麼停? 答.. 不用停. 就一直無限執行.





這次的課程是第一次有很多 [測試, 修改與調整程式] 的循環. 包括:
- 輪胎轉動速度 (太慢令人不耐, 太快光源感應器來不及反應).
- 大於或小於光數值弄錯, 產生不如預期的作動.
- 沒仔細檢查程式, 將光源感應器插錯孔位, 以致於沒反應.

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 意見:

張貼留言