2017-03-13

mBlock教學 - 使用mBot主程式(上傳到Arduino)的注意事項

使用mBlock控制mBot的一大優點,就是mBlock可以將Scratch的積木指令轉換為Arduino的Sketch程式,這讓我們可以漸漸學習Sketch的撰寫方式。不過在使用這種『上傳到Arduino』時需要注意一些特別狀況。

首先當然必須使用『mBot主程式』的帽子命令。

在Scratch的指令中,有許多是跟角色舞台有關,例如『動作』『外觀』『聲音』『畫筆』『事件』『偵測』,這些指令無法在Sketch中執行,所以當你切換到『Arduino模式』之後,這些指令都無法。(包含『資料與指令』中的清單,以及『控制』中的部份指令)

當你切換到『Arduino模式』時,mBlock會自動將程式區的一些指令分類淡化,只有『機器人模組』、『控制』、『運算』以及『資料與指令』能夠選擇。


但是在Scratch編輯模式下,這些指令都能混用。


幸好mBlock具備偵錯功能,如果程式中有這些無法使用的指令,mBlock會跳出警告視窗,提醒我們必須刪除無關的指令。



另外一個狀況就是『不停重複』內有『不停重複』,mBlock也會提醒我們移除。


另一個狀況就是只允許唯一的mBot主程式。

由於在Scratch中,大家很常使用多個『當綠旗被點一下』的帽子命令,執行『假多工』。習慣成自然,初學者難免將這種非常方便的寫法應用在『mBot主程式』,如下圖:


雖然程式仍然能夠編譯上傳,但是並非同時執行,而是依照順序執行,順序與你拖動積木指令的先後有關,所以常常發生一些無法預期的情形。

建議只能使用一個『mBot主程式』帽子指令

最後還有一些注意事項:

上傳程式到mBot的注意事項
1.mBot主程式只能透過USB線上傳程式到Arduino
2.程式需要使用mBot主程式的帽子命令(事件)
3.程式只能使用:控制,運算,資料和指令(變數,新增積木指令),機器人模組等命令。mblock會自動檢查是否混用其他命令
4.變數名稱需要使用英文命名(勿使用中文或數字)
5.檔案名稱也盡量使用英文存檔。名稱長度不要有太多個字元。


只要遵守以上的規則,mBlock的Arduino模式很簡單就能上手。

祝大家玩得愉快,歡迎大家分享你的使用經驗。