序列積木
micro:bit 的序列積木可以將感測器所接收到的數值,透過序列埠 ( USB 孔 ) 傳送到電腦上顯示,對於進階的開發或是除錯而言相當方便,例如旋轉的角度或環境光線的數值,不需要透過 5x5 的 LED,直接可以在電腦畫面中看到。
序列積木有幾個分類:序列寫入、序列讀取、序列當數據中收到、序列重新導向、序列緩衝區大小設定、序列寫入緩衝、序列讀取緩衝、序列傳輸速率設定。
如何使用序列積木
瀏覽器 MakeCode
只要能順利將程式上傳至 micro:bit,就不用安裝任何程式,當使用序列積木時,左側會出現「顯示系統監控」的按鈕,點選後就可以看到 micro:bit 寫入序列埠的內容。
Windows
如果是 Windows 10 以下的版本,需要安裝序列埠的驅動程式 ( 下載連結 ),驅動程式安裝完成後,micro:bit 連接上電腦時,會產生一個 COM port,此時可使用終端機「Tera Term」或「PuTTY」來設定,兩者設定方式大同小異,主要設定連結的 COM port 的傳輸速率 ( speed ) 為 115200。
Mac OS
將 micro:bit 和電腦連接,打開終端機,輸入「
ls /dev/cu.*
」列出所有連接電腦的設備,從中找到一個類似「/dev/cu.usbmodem1422
」的設備 ( 數字以自己的電腦為主 ) ,輸入「screen /dev/cu.usbmodem1422 115200
」就可以開啟序列埠的輸出畫面。( 如果要離開這個畫面,按下 Ctrl+A 或 Ctrl+D )Linux 設備和 Mac OS 類似,詳情請參考:MakeCode serial
序列寫入
「序列寫入」積木可以將 micro:bit 感測器所接收到的數值,經由序列埠傳送 ( 寫入 ) 到電腦,寫入的內容分成下列幾種:
項目 | 說明 | 換行 |
---|---|---|
一行文字 | 一段最後帶有「換行」符號的文字字串 | 有 |
值 | 物件格式,定義一個 key 的名稱並賦予一個數字的值 | 有 |
數字陣列 | 由數字和逗號組成的字串 | 有 |
數字 | 數字 | X |
文字 | 純文字 | X |
下圖的例子,按下 A 按鈕時發送數字 123,按下 B 按鈕時發送數字陣列 0,1,2,AB 按鈕同時按下時發送一行 hello 的文字。
執行後,按壓 A、B 按鈕,點選顯示系統監控,就會看到對應的數值。
注意,數字和文字因為是同一行,所以可能發生輸出合併在一起的結果 ( 例如連按兩次 123 會變成 123123 )。
另外一個例子,使用重複無限次積木,就能夠透過序列,讀取旋轉 micro:bit 的 pitch 和 roll 數值。
序列讀取
「序列讀取」積木可以讀取電腦回傳的序列埠內容,包含「一行字串」、「不斷讀取直到遇到特殊符號」、「讀取文字」三種。
下圖的例子,會在終端機輸入文字時 ( 終端機連線狀態下 ),透過 micro:bit 的 LED 顯示輸入的文字。
序列當數據中收到
「序列當數據中收到」積木可以設定一個「事件」,當收到的數據中遇到換行或特殊字元時,就會觸發該事件,執行事件內的程式。
序列重新導向
「序列重新導向」積木可以設定序列埠的接口使用是「引腳」還是「USB」,因為有時外接的感應器 ( 例如感應器擴充板、WiFi 擴充板...等 ),會使用引腳的接口傳送資料,所以必須重新設定序列埠。
序列緩衝區大小設定
「序列緩衝區大小設定」積木可以設定 tx 和 rx 的緩衝區大小,單位是 bytes。
序列寫入緩衝
「序列寫入緩衝」積木可以將數據字符放入現有的緩衝區。
序列讀取緩衝
「序列讀取緩衝」積木可以讀取緩衝區的數據,參數是要讀取的字符長度。
序列傳輸速率設定
「序列傳輸速率設定」積木可以設定序列埠的傳輸速率。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~