Arduino第十二課(離線執行)
宜蘭縣竹林國小 陳金助老師

程式寫完之後,還可以轉換成Arduino程式語言,直接上傳到Arduino控制板,離線執行程式。

如果想要將程式上傳到Arduino控制板,讓程式不需和電腦連線也能直接在Arduino控制板上執行,則需要再安裝Arduino IDE,請直接上官網(https://www.arduino.cc/en/Main/Software )下載安裝。

注意:

如果要上傳到Arduino控制板,離線執行程式,所有定義的變數、指令都只能用英文,不可以用中文。

跟鍵盤、螢幕有關的指令都不能用。

—————————-

將第一個指令[當綠旗被點一下]改成[Arduino主程式]

在[Arduino主程式]積木上,按滑鼠右鍵,然後在點[upload to arduino]

可以看到畫面變成三個區塊,最右邊是程式區,可以看到轉換後的程式碼。

按程式區上的[上傳到Arduino]就可以將程式上傳到Arduino控制板上。

接著程式先進行編譯,然後上傳。

如果沒有問題的話,會顯示上傳完成..100%,按[結束]

完成後,就可以將USB線拔除。

直接在DCin電源輸入處插上外接電源(建議7V~12V),就可以執行程式。

常見問題:

跟鍵盤、螢幕有關的指令都不能用,請移除。

按程式區上的[上傳到Arduino]後,程式進行編譯,接著就沒有反應,沒有顯示上傳完成…..

可能是程式無法進行轉換,可以直接在中間的區塊進行修改,將可能的問題簡化,再上傳一次。

簡化後可以完成,表示mblock的轉換程式無法完成太複雜的指令轉換,您可以直接在Arduino IDE 上修改原始程式後再上傳。

註:林老師的書中有提到[資料型態]也會影響轉換,這個有點複雜,初級班就跳過了。

——————————

注意:

[mblock]和[ Arduino IDE]兩個程式不可以同時使用,會有一邊抓不到Arduino控制板。 

這裡使用的版本是:v2.2.1.08.14.001

據說:新的mblcok v3.0 在win7系統上,使用離線上傳到arduino 時會發生無法上傳的情況。

解決方案如下:(感謝廖翊強老師提供)

將 C:Users當前用戶名AppDataRoaming將這個文件刪除com.makeblock.Scratch,然後重啟軟件

這個問題是目前,mblock 會發生的錯誤,不止是在win7 的版本上,如果有上傳不了的,都直接刪掉這個資料夾就可以,如果你的電腦上看不到[AppData]這個資料夾,請打開檔案總管將隱藏的項目打開就可以看到這個資料夾路徑 。

—————————————–

相關連結:

Arduino初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771

Arduino課程準備
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599681

Arduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599732

Arduino第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599733

Arduino第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600369

Arduino第四課(LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600422

Arduino第五課(pwm)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600854

Arduino第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600855

Arduino第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602388

Arduino第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602288

Arduino第九課(可變電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602290

Arduino第十課(光敏電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602291

Arduino第十一課(伺服馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605139

Arduino第十二課(離線執行)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605798

文章來源:Arduino第十二課(離線執行) 由 roc 發表。