標籤:

【圖形化學習 Arduino】(一)基礎概念

Arduinon可謂是創客界最知名的平台了,被譽為「創客七種武器」之長生劍。在各大論壇、博客、企業網站上也存在著大量的 Arduino 教程,帶領新手入門。本系列將從另外一個角度——圖形化——來講解 Arduino,降低門檻,讓沒有接觸過編程的朋友也可以輕鬆學會 Arduino。

本系列教程所使用的軟體主要是:mBlock。下載地址:mBlock

數年前,MIT 媒體實驗室開發了一款圖形化編程軟體,名為 Scratch,廣受好評。然而 Scratch 只能在電腦里編程,不能和硬體交互,對於創客而言,這是一大缺陷。針對這一點,Makeblock 團隊對nScratch 做了一系列的優化和整改(遵從開源協議),讓它完美兼容了 Arduino 等硬體平台,優化後的軟體名為 mBlock。

mBlockn界面中,學習 Arduino 最常用的區域有:①積木區 ②腳本區

還有一個隱藏區域:Arduino 代碼區,mBlock 可以將圖形化的程序實時轉換為 Arduino 代碼,供使用者參考和學習。下圖顯示了一個簡單程序的圖形化表示和代碼,通過相互對比,再嘗試修改,可以很輕鬆地學習 Arduino 編程,不再為語法細節而困擾

案例:

接下來我們來看一個簡單案例,如何使用 mBlock 來學習 Arduino。

首先,在 mBlock 下載 mBlock 並安裝。然後,拿到一塊 Arduino 板,筆者使用的是 Leonardo,如果你手頭有其他nArduino 的開發板,也是可以的。

打開 mBlock 後,用 USB 線將 Arduino 板連接到電腦上。在菜單中,請選擇和自己手上的開發板對應的型號。

點擊 mBlock 的「連接」菜單,將看到一個串口號(不是 COM1 或 COM2),請單擊串口號完成串口的連接。完成連接後,串口號前將出現一個打勾的符號。如果不確定哪一個串口號是正確的,可以打開系統的「設備管理器」來查看。

隨後,點擊菜單中的「更新固件」。

這裡需要解釋一下「固件」的概念。mBlock 連接 Arduino 硬體後,有兩種工作模式。第一種,保持 Arduino 和電腦的串口連接,此時可以隨時用 mBlock 控制硬體,也可以用 mBlock 監測硬體的狀態,這種模式叫做「在線模式(Online)」;第二種,用nmBlock 編寫好程序後,將程序燒錄到 Arduino 開發板上,燒錄之後,Arduino 可以脫離 mBlock 獨立運行,這種模式叫做「離線模式(Offline)」。

對於第一次使用,如果要讓 Arduino 以在線模式工作,必須在 Arduino 開發板上安裝一個固件。從離線模式切換為在線模式前,也需要重新安裝固件。

接下來,我們嘗試用 mBlock 編寫一個簡單的程序:讓 Arduino 的板載 LED 以兩秒的周期閃爍。從指令區拖動指令到右邊的程序區,如果想在程序區刪除某些指令,將它拖動到指令區即可。如果在指令區找不到 Arduino 指令,請在「擴展」菜單中查看是否勾選了 Arduino。

板載 LED 對應的管腳號為 13,所以拖動出以下的程序。腳本區右下角的放大鏡可以對腳本進行縮放。

雙擊程序塊,就可以觀察到板載 LED 開始閃爍了。這時候板上的 RX 和 TX 對應的 LED 也會開始閃爍,這是因為 mBlock 正在給 Arduino 開發板發送命令,同時 Arduino 也在給 mBlock 反饋信息。再次雙擊程序塊,可以讓程序停止運行。

以上是在線模式,如果要切換到離線模式,非常簡單:右擊「Arduino Program」模塊,選擇「upload to arduino」。

這時將會在右側出現一個代碼窗口,顯示圖形化程序對應的 Arduino 代碼。當你改變左側的圖形化程序時,代碼也將實時同步。再次點擊「Upload to Arduino」按鈕後,將會把代碼上傳(又叫燒錄)到 Arduino 開發板中。燒錄完成後,即使斷開 mBlock 與 Arduino 的連接,程序依然可以正常運行。

提示:如果想再次切換為在線模式,需要再次安裝固件。


推薦閱讀:

Python 與嵌入式系統系列 - Arduino選型
電氣小混混的環境盒子——持續更新
【圖形化學習 Arduino】(五)串口調試四神器
arduino控制舵機所需電源,以及廉價的 flex sensor?
當樂高遇見Arduino:樂高喊你吃飯啦~

TAG:Arduino |