BlocklyDuino 基礎操作
Last updated
Last updated
BlocklyDuino 編輯器當中有兩個頁面,分別是「積木」和「Arduino」。
在積木頁面,可以拖拉積木的方式產生對應的程式邏輯。BlocklyDuino 編輯器會自動產生出對應的 Arduino 程式,並顯示在 Arduino 頁面當中
在 Arduino 頁面中的程式碼只是"純顯示", 讓開發者了解怎樣的積木產生了怎樣的 code, 無法在這頁面內修改程式
目前 BlocklyDuino 編輯器支持四種積木類型
程式語言積木: 包含最基礎的程式邏輯和資料型態 (Data type) 的處理
Arduino 基礎控制積木 : 包含 Arduino 的核心操作功能, 透過這些積木可以和 LinkIt 7697 開發板的硬體及部分周邊做溝通
聯網功能積木 : 連接 Wi-Fi, 藍芽 (BLE),以及連接 MCS/MCSLite 做雲端資收集和控制
其他擴充積木 : 提供各類型周邊的控制積木, 會隨時間陸續增加更多周邊的支持
最原始的畫布上, 會有 "初始化" 和"重複執行" 兩個積木, 對應到 Arduino 就是 setup() 和 loop() 這兩個函式
初始化 : 擺放於此的積木在開機後只會被執行 "一次"
重複執行 : 擺放於此的積木會被一直 "重複" 的執行
若將積木擺放到這兩個流程方塊之外, 編輯器可能會無法產生出正確的 Arduino 程式。
以下介紹幾個編輯積木常用的操作:
新增功能積木 : 從左邊積木區的拖拉出來到畫布。程式邏輯會照依照積木的順序,從上往下執行
新增參數積木 : 接上參數或變數,有些積木若型別不對會接不上去
刪除積木 : 將積木拖拉到左邊的積木區,或是拖拉到垃圾桶上
可變動積木 : 有些積木上有個星星,點選可以更改這積木的功能
複製積木 : 在積木上按滑鼠右鍵叫出選單,選擇 複製積木
暫存積木: 畫布上的所有積木都會自動產生 Arduino 的程式,有兩種方式可以將暫時沒用的積木留在畫布上但不要產生對應的 Arduino 程式碼。把積木拖拉到 暫存區 積木內 (可在程式流程內找到此積木),或是在積木上按滑鼠右鍵叫出選單,選擇 停用積木
編輯器上的其他功能說明如下:
新增 : 開啟一個新的畫布(只有"初始化" 和"重複執行", 之前的畫布上的積木都會被消失, 若需要保留請先儲存起來)
開啟 : 開啟一個之前儲存的專案, 選取的是一個資料夾來開啟
儲存 : 儲存一個編輯好的專案。 先選取要存放的位置, 再取個存放的名字, 會存放在這名字的資料夾內
設定 : 切換語言, 開啟自動儲存等功能
匯入 : 匯入一個 積木的 xml 描述內容 (畫布上的方塊都是用 xml 來描述的),新增積木到畫布上
匯出 : 匯出此畫布的積木成一個 xml 描述內容
另存新檔 : 將畫布上的內容另外儲存成另一個專案
BlocklyDuino v3 版本整合入編譯和序列埠監控等功能
Com Port 選擇 : 若有正確安裝 CP2102 驅動並連接上 LinkIt 7697,應可看到新增的 Com Port
編譯 + 上傳 : 可直接於 BlocklDuino 編譯和上傳,編譯和上傳狀態可以點開 "燒錄狀態" 看詳細的 Log
開啟序列埠監控視窗 : 開啟 Putty 來接收透過 UART 傳出的訊息,預設速度為 9600
開啟 Arduino IDE : 開啟 Arduino IDE (包含在此包 BlocklyDuino 內的),開啟前此檔案需先儲存過
開啟 Putty 畫面如下,若需要修改 baud rate,可點選視窗左上的 Putty 按鈕 -> Change Setting,在 Connection -> Serial 中修改
Q: 為何有時積木接上去時會彈開?
A: 若資料型態不正確時,可能會接不上去,現象就是方塊會彈開。如下圖的範例,要將一個整數接到字串上是接不上去的。 目前的 BlocklyDuino 對於型別檢查的實作還不夠嚴謹,有時會發生型別不對但接得上去,產生出來的 Arduino 程式就會編譯錯誤,之後會持續優化這一塊型別檢查的機制。