輸入積木
輸入積木可以接收來自 micro:bit 感測器的事件或偵測到的數據,包含按鈕是否按下、是否晃動、引腳的狀態、溫度或光線...等,並透過 micro:bit 本身的 LED、蜂鳴器或外接的電子零件,進行對應的動作。
輸入積木有幾個分類:當按鈕按下、按鈕是否被按下、當引腳按下、引腳是否被按下、當姿勢發生、姿勢是否發生、方位感測、加速度感測、溫度感測、光線感測。
當按鈕按下
「當按鈕按下」積木表示當按下按鈕 A、B 或 AB 一起按下時,要進行什麼樣的動作。
如果使用 A+B 一起按下,micro:bit 模擬器會出現一個虛擬的「A+B」按鈕,方便模擬器進行操作。
下圖的例子,將「按鈕按下」積木搭配「顯示文字」積木,完成後,按下 micro:bit 的按鈕 A,LED 就會顯示 A 的文字,按下 B 則會顯示 B 的文字。
按鈕是否被按下
「按鈕是否被按下」積木是一個邏輯判斷積木 ( Boolean blocks ),負責告訴程式邏輯判斷後的結果,如果判斷結果是「按下」就顯示 true,是「放開」就顯示 false。
下圖的例子,使用「重複無限次」、「如果...那麼...否則」,判斷按下按鈕 A 的時候,顯示文字 A,放開按鈕 A 的時候,清空畫面。
當引腳按下
「當引腳按下」積木表示當按下引腳 ( pin 腳 ) 0、1 或 2 時,要進行什麼樣的動作。
micro:bit 的 0、1、2 引腳是 GPIO 腳位,可以運用在輸出 ( output ) 和輸入 ( input ) 的情境,這三個腳位也能使用的是數位轉換器讀取類比訊號,讀取的數值為 0~1023。
這塊積木對於「引腳按下」的定義,只要該引腳讀取的數值「不是 0」,就表示引腳按下,如果使用了這塊積木,在 micro:bit 的模擬器中,就能用滑鼠在腳位 0 的上方,調整並模擬輸入的數值。
下圖的例子,用滑鼠點擊腳位 0,可以看到腳位數值變化,同時 LED 也會發生反應。
引腳是否被按下
「引腳是否被按下」積木是一個邏輯判斷積木 ( Boolean blocks ),負責告訴程式邏輯判斷後的結果,如果判斷結果是「按下」就顯示 true,是「放開」就顯示 false。
下圖的例子,使用「重複無限次」、「如果...那麼...否則」,判斷按下引腳 0 的時候,顯示數字 0,放開引腳 0 的時候,清空畫面。
當姿勢發生
「當姿勢發生」積木表示開發版偵測到特定姿勢 ( 晃動、左側偏低、右側偏低...等 ) 時,要進行什麼樣的動作。
如果選擇「晃動」,micro:bit 模擬器會出現一個虛擬的「SHAKE」按鈕,方便模擬器進行操作。
使用這塊積木後,micro:bit 模擬器會出現類似 3D 的效果,可用滑鼠在上面移動,模擬晃動、左偏、右偏等動作,下圖的例子,偵測到 micro:bit 左偏時,出現往西 ( 左 ) 的箭頭,往右偏時,出現往東 ( 右 ) 的箭頭。
姿勢是否發生
「姿勢是否發生」積木是一個邏輯判斷積木 ( Boolean blocks ),負責告訴程式邏輯判斷後的結果,如果判斷結果「發生某個姿勢」就顯示 true,如果是「某個姿勢沒發生或是發生其他姿勢」就顯示 false。
下圖的例子,使用「重複無限次」、「如果...那麼...否則」,判斷如果 micro:bit 往左偏的時候,出現往西 ( 左 ) 的箭頭,如果是其他動作,就清空畫面。
加速度感測
「加速度感測」積木使用後,可以感測 micro:bit 在 x 方向 ( 左右 )、y 方向 ( 前後 )、z 方向 ( 上下 ) 或整個空間裡加速度的強度。( 加速度的單位是 milli-g,千分之一 G 力 )
如果是實體開發板,可以拿起來上下左右搖動,如果是模擬器,用滑鼠在 micro:bit 上面移動就能看到加速度數值變化。
方位感測
「方位感測」積木使用後,可以透過 0~359 度來表現北 ( 0、359 )、東 ( 90 )、南 ( 180 )、西 ( 270 ) 四個方位,如果是實體開發板,可以拿起來水平旋轉,如果是模擬器,用滑鼠旋轉 micro:bit 上方的 logo,模擬方位變化。
溫度感測
「溫度感測」積木使用後,可以取得目前晶片所偵測到的溫度,溫度單位是 °C。如果是模擬器,使用積木之後, micro:bit 上方會出現一個溫度調整的拉霸,用滑鼠調整拉霸,就能模擬溫度變化。
光線感測
「光線感測」積木使用後,可以取得目前位置的光照程度,數值範圍是 0~255,0 最暗,255 最亮,如果使用實體開發板,啟動之後第一次偵測的數值為 0,如果是模擬器,使用積木之後, micro:bit 上方會出現一個光線亮度調整的拉霸,用滑鼠調整拉霸,就能模擬亮度變化。
micor:bit 的光線感測器在 LED 正中間,實際測試可以用手遮住或放開 LED 查看效果。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~