6. 第七至八課¶
6.1. 簡介¶
歡迎參加Micro:bit 智能小車課程!在本課程中,我們將探索Micro:bit並學習如何在編程中如何控制Micro:bit智能小車。
6.2. 教學目標¶
讓學生清楚掌握Micro:bit 智能小車的巡線行駛的原理及其功用,並了解如何透過設計編程令智能小車巡著黑線行駛及掉頭。
6.3. 巡線行駛¶
巡線模組位於車子的底部,並分為左右兩邊探測。
紅外巡線傳感器
巡線基本模組
讀取P13和P14的數位信號即能尋找黑色線
把數位信號讀取的引腳儲存到變數R或L
巡線模組運作時指示燈會亮起,當其中一方探測到黑色,指示燈會熄滅,數位信號會由1轉為0(輸出只能是“1”或“0”)
**(黑=0,白=1)**
情況1:小車在黑色線上
小車會續向沿著黑色線行駛
情況2:小車向左偏離黑色線
小車在感應到偏離後會向右校正位置
並重新沿著黑線行駛
情況3:小車向右偏離黑色線
小車在感應到偏離後會向左校正位置並
重新沿著黑線行駛
情況4:小車在黑線的盡頭感應不到黑色線
小車會倒後行駛直至尋找到黑色線
6.4. 練習一:設計程序令小車巡著黑色線行駛¶
提示:根據page 4的4種例子,把程式分為4個部分
6.8. 挑戰¶
在練習1中,我們需要分別檢查左邊及右邊感應器(L和R)的數位信號4次以達成巡線行駛。
嘗試再設計一個更加快捷、簡短、方便的程序達成類似效果,并且令車子在出界後不會後退,而是向最靠近黑線的方向轉彎重新返回線上。
提示:
建立變數
,想想如何在同時間儲存左右邊感應器的數位信號
建立變數
儲存出界時的信號,並決定出界後的轉彎方向
6.9. 答案¶
6.9.4. 練習四:¶
車子必須繞開障礙物,並由起點出發到終點。
這個程式用了函式,函式的意義在於令程式更簡潔,因為可以不用一直重複。例如下面分別有兩個函式(sensor, ultrasound) ,在sensor內可以呼叫ultrasound的函式。
左圖第一個紅框示範了如果車子遇到障礙物的話,會呼叫ultrasound函式來避開障礙物,否則就會開始循著黑色線走。
sensor的功能和練習三一樣,也會循著黑色線走,當沒有偵測到黑線的時候,會旋轉180度,直到找到黑線為止
ultrasound的功能也和第六課的練習七一樣,會繞開障礙物。特別的是,第二個紅框避免了繞開後沒有繼續循線的情況。