06.巡線偵測

0. 離線執行(講義41頁)

  • 將mBlock積木式程式轉換為Arduino控制碼,再上傳至mBot的mCore控制板,當mBot開機後,便 能直接執行上傳的程式碼,稱為「離線執行」(脫機模式),上傳程式的動作又稱為「燒錄」。
  • 經「燒錄」的程式,除非再進行新的「燒錄」動作,或是進行「更新軔體」、「恢復原廠設定」等動作覆寫,否則「已燒錄」的程式,會一直記錄在mCore控制板中的唯讀記憶體(ROM)中,不會因關機而消失。
  • 離線執行能有效減少「感應器作動」、「馬達控制」與「程式判斷」三者之間,因線路傳遞及控制架構限制,所造成的時間延遲問題。
  • 離線執行必需經由「USB傳輸線」進行,無法在「2.4G無線」模式下進行。
  • 上傳程式時,需注意下列程序:
  1. 移除與mBot機器人無關的積木指令,僅能使用「控制」、「運算」 、「變數」、「機器人模組」等指令
  2. 將程式的帽子啟始積木由「按下綠旗開始」,更換為「mBot主程式」
  3. 程式中僅能保有單一的「mBot主程式」積木存在
  4. 可在「mBot主程式」積木之後,再加入「等待<板載按鈕已按下>」的積木指令,作為mBot離線執行時的安全開關
  5. 確認已建立「序列埠連線」再進行上傳Arduino,上傳過程中不得移除USB線路或關閉mBot電源,避免燒錄失敗

1.巡線行進(初階)

  • 請利用巡線感應器的回傳結果,設計程式讓mBot能依黑線的軌跡,進行前進、左轉、右轉等動作。
  • 能將程式上傳至mBot中離線執行。

2.巡線燈號(中階)

  • 請利用巡線感應器的回傳結果,設計程式讓mBot能依黑線的軌跡,進行前進、左轉、右轉等動作。
  • 請加入板載LED指令,讓mBot在前進時亮綠燈、左轉亮左側藍燈、右轉亮右側藍燈。
  • 能將程式上傳至mBot中離線執行。

3.巡線偵測(高階)

  • 請利用巡線感應器的回傳結果,設計程式讓mBot能依黑線的軌跡,進行前進、左轉、右轉等動作。
  • 請加入超音波指令,當mBot偵測到前方10公分有障礙物會自動停車,移除障礙物後會繼續保持前進、左轉、右轉等動作
  • 請加入板載LED指令,讓mBot在前進時亮綠燈、左轉亮左側藍燈、右轉亮右側藍燈、停止亮紅燈。
  • 能將程式上傳至mBot中離線執行。

課堂作業

  1. 請練習編寫程式,結合超音波感應器的判斷動作,當mBot能依循黑線軌道前進,當遇到障礙物時能自動停車,並分別在前進、左轉、右轉及停車時發出對應的LED顏色。
  2. 作品檔名:「班級座號_巡線偵測.sb2」,將檔案上傳至Classroom作業單中繳交。