介紹
Elecfreaks Smart Coding Kit是一套以micro:bit鈕扣電池擴充板為基礎開發的穿戴式裝置,透過簡單的安裝方法輕鬆DIY micro:bit智慧手錶。
Smart Coding Kit是第一代Power Bit Watch Kit的更新版,重大突破有:- 無需使用壓克力後罩,簡化安裝。
- 取消3針端口,風格精簡。
- 新增蜂鳴器開關,功能升級。
組裝圖- 將兩顆3V 2025電池安裝到電池座。
- 用螺絲將micro:bit固定到鈕扣電池擴充板上。
- 將Wear:bit擴充板字樣朝向自己,並用較長端的錶帶穿過Wear:bit擴充版上的錶帶孔,即可將穿戴裝置安裝完成。(請留意錶帶有正反面,反面朝向自己)
(此為錶帶正面圖)
- 組裝完成!
零件清單
- 1 x micro:bit
- 1 xPower:位
- 1 x尼龍錶帶
- 1 x微型USB線
- 5 x M3x5內部十字螺絲
- 1 x MINI螺絲起子
- 1 x micro:bit指南
智慧手錶
介紹
智慧手錶按鈕面板是小巧的迷你擴充板。
可為micro:bit供電,且裝有蜂鳴器,可與錶帶和micro:bit搭配使用,重大突破有:- 無需使用壓克力後罩即可簡化安裝。
- 取消3針端口,保持簡單風格。
- 通過添加蜂鳴器開關來升級功能。
特性- 由兩顆3V CR2025鋰電池供電。
- 裝有蜂鳴器,由P0端口控制。
- 裝有蜂鳴器開關。
- 可與錶帶和micro:bit搭配使用。
參數
- 名稱:智慧手錶
- 版本:V1.0
- 工作電壓:2.7〜3.3V
- 蜂鳴器:支援
- 尺寸:49.1x51.6mm
- 淨重:12.7g
主要模組介紹
電源開關
兩組CR2025電池座
- 由2025鈕扣電池(3V鋰錳鈕扣電池)供電,安裝方法簡單。
蜂鳴器和開關
- 蜂鳴器由P0端口控制,可播放音樂,也有開關控制蜂鳴器的電源。
快速上手
硬體連接
- 電源打開時,鈕扣電池會為micro:bit和Wear:bit供電,電源關閉則不供電。
- 如果將蜂鳴器開關滑至左側,蜂鳴器會開始運作;滑至右側,則蜂鳴器停止運作。
編程平台
結果
micro:bit上顯示閃爍的心形圖案。
應用01:連接Scratch-Windows
目標
將Scratch與Smart Coding Kit連接。
材料- 1 x Smart Coding Kit
- 1 x 電腦(支援藍牙)
系統版本(Windows 10版本1709 +)(macOS 10.13+)
藍牙版本(Bluetooth 4.0)
背景
什麼是Scratch?
Scratch是由麻省理工學院的Lifelong Kindergarten Group開發的一套圖形編碼工具,適合青少年操作。
軟體連接步驟
步驟一
- 將micro:bit連接到電腦,將準備好的micro:bit韌體傳送到micro:bit。
- 獨立為micro:bit供電,micro:bit上顯示的字符是藍牙的識別碼。
步驟二
- 打開Scratch Link,可在狀態欄上看到圖標。
- 打開Scratch編碼軟體,點選左下方的+ ,接著選擇micro:bit專案。
完成
- 如果連接成功,黃色驚嘆號會變為綠色勾號。
- 現在可以使用Scratch編寫micro:bit了!
常見問題
無法連接Scratch
- 可用的操作系統版本列在此頁面的上方。
- 只能連接一個Scratch視窗到micro:bit。如果您在其他瀏覽器中也開了Scratch,請關閉所有瀏覽器後重試。
- 如果您的micro:bit有連接到其它電腦,請斷開與另一台電腦或您的電腦的連接,然後重試。
- 您可能在操作micro:bit背面USB連接器和電源連接器的時後按了「重置」按鈕,請確保手腳遠離它!
相關檔案
應用02:行動骰子機目的使用Smart Coding Kit製作可穿戴的行動骰子機。
材料
程式設計- 以基本(Basic)中的當啟動時(on start)及顯示圖示(show icon)來為骰子機啟動時設計一個可愛的圖示。
- 從輸入(Input)中選擇搖晃(on shake),並利用變數(Variables)建立一個名為dice(骰子)的變數,接著利用數學(Math)的隨機取數(pick random)隨機取1至6之間的數值。
- 在重複執行(forever)中插入邏輯(Logic)程式積木,利用如果_那麼_否則(if then else)來判斷當隨機取數為1,則以基本(Basic)中的顯示指示燈(show leds)顯示1點;如果隨機取數為2,則顯示兩個點,依此類推。
程式連結
結果
每次搖動micro:bit時,都會隨機出現不同點數的骰子。
應用03:溫度警報器
目的使用Smart Coding Kit設計一個可穿戴的溫度計,並且具有高溫警報功能。
材料
程式設計- 以基本(Basic)中的當啟動時(on start)及顯示圖示(show icon)來為micro:bit啟動時設計一個可愛的圖示。
- 在重複執行(forever)中插入基本(Basic)的顯示數字(show number)來幫助隨時顯示目前的溫度,啟動溫度感測器需使用輸入(Input)中的溫度感測值(temperture)。接著利用邏輯(Logic)程式積木,利用如果_那麼(if then)來判斷當溫度大於或等於30度時,則以音樂(Music)中的播放旋律(start melody)來發出提示警報聲。
程式連結
結果micro:bit會持續檢測溫度,而且當溫度大於或等於30度,就會發出警報提醒目前是高溫狀態。
常見問題
問:為什麼有時候溫度低於30度,但檢測到的值卻偏高?
答:長時間通電後,晶片會明顯變熱,導致檢測到的溫度是micro:bit晶片的溫度,而不是環境溫度。
應用04:行動計數器
目的將Smart Coding Kit設計成穿戴式計數器。
材料程式設計- 以基本(Basic)中的當啟動時(on start)及顯示圖示(show icon)來為micro:bit啟動時設計一個可愛的圖示。插入變數(Variables)的將變數設為0(set~to 0),讓計數器從0開始計算。
- 在重複執行(forever)中插入基本(Basic)的顯示數字(show number)來幫助隨時顯示目前的計數狀況。接著利用變數(Variables)建立一個名為number(數字)的變數,用來存取計數的數值。
- 利用輸入(Input)中的當按下A鍵(on button A pressed),插入變數(Variables)的改變變數為增加1(change~by 1),其功能是當每次按下A鍵時,變數就會增加1。當按下B鍵(on button B pressed),插入變數(Variables)的改變變數為減少1(change~by -1),其功能是當每次按下B鍵時,變數就會減少1。當按下A+B鍵(on button A pressed),插入變數(Variables)的將變數設為0(set~to 0),其功能是當每次按下A+B鍵時,變數就會被設定為0,方便我們從新計數。
程式連結
結果透過A鍵、B鍵和A+B鍵來達到計數器的操作,並且micro:bit隨時都會顯示目前的計數結果。
應用05:計步器
目的使用Smart Coding Kit製作穿戴式計步器。
材料程式設計- 以基本(Basic)中的當啟動時(on start)及顯示圖示(show icon)來為micro:bit啟動時設計一個可愛的圖示。
- 從輸入(Input)中選擇搖晃(on shake),並利用變數(Variables)建立一個名為steps(步數)的變數,插入變數(Variables)的改變變數為增加1(change~by 1),因此當我們搖晃micro:bit時,步數就會增加。利用基本(Basic)的顯示數字(show number)來幫助隨時顯示目前的步數。
- 利用輸入(Input)中的當按下A鍵(on button A pressed),插入變數(Variables)的將變數設為0(set~to 0),其功能是當每次按下A鍵時,變數就會被設定為0,方便我們從新計步。利用基本(Basic)的顯示數字(show number)來幫助隨時顯示目前的步數。
程式連結
結果當micro:bit檢測到搖晃時,每次檢測到的顯示數字會自動加1,而當按下A鈕,計步器的數值將設置為0,方便重新計步。
應用06:指南針
目的使用Smart Coding Kit製作行動指南針。
材料程式設計- 在重複執行(forever)中利用變數(Variables)建立一個名為指南針(compass)的變數,用來存取micro:bit讀取到的方位感測值。啟動指南針需使用輸入(Input)中的方位感測值(compass heading)。接著利用邏輯(Logic)程式積木,利用如果_那麼_否則如果(if then else if)來判斷當方位感測值,依據下圖提供的方位角數值來對照設計if判斷條件內的數值。
- 如果變數compass<45或> 315,則利用基本(Basic)中的顯示文字(show string)顯示「N」;如果變數compass <135,則顯示「E」;如果變數compass <225,則顯示「S」;非前述條件的狀況,則顯示「W」。
程式連結
結果目前的方位會顯示在micro:bit上。
應用07:無線通訊
目的使用兩個Smart Coding Kit傳送與接收訊號。
材料程式設計
傳送端
- 以基本(Basic)中的當啟動時(on start)及顯示圖示(show icon)來為micro:bit啟動時設計一個可愛的圖示。利用廣播(Radio)中的廣播群組設為(radio set group)來設定群組Id,不同的micro:bit需設定相同的廣播群組Id,彼此才能傳遞資訊。
- 利用輸入(Input)中的當按下A鍵(on button A pressed),插入廣播(Radio)中的廣播發送數字(radio send number)來設定廣播數字1給接收端的micro:bit;當按下B鍵(on button B pressed),插入廣播(Radio)中的廣播發送數字(radio send number)來設定廣播數字2給接收端的micro:bit。
接收端
- 以基本(Basic)中的當啟動時(on start)及顯示圖示(show icon)來為micro:bit啟動時設計一個可愛的圖示。利用廣播(Radio)中的廣播群組設為(radio set group)來設定群組Id,不同的micro:bit需設定相同的廣播群組Id,彼此才能傳遞資訊。
- 利用廣播(Radio)中的當收到廣播數字(on radio received receivedNumber)來設計當收到傳送端的micro:bit廣播過來的數字時,利用邏輯(Logic)的如果_否則如果(if else if)來判斷當收到的數字為1,則以基本(Basic)中的顯示圖示(show icon)來顯示打勾符號;當收到的數字為2,則以顯示圖示(show icon)來顯示打X符號。
程式連結【傳送端】【接收端】
結果按下傳送端的A鍵時,接收端會顯示圖標√;按下傳送端的B鍵時,接收端會顯示圖標×。
應用08:行動音樂播放器
目的使用Smart Coding Kit播放音樂。
材料程式設計- 以基本(Basic)中的當啟動時(on start)及顯示圖示(show icon)來為micro:bit啟動時設計一個可愛的圖示。
- 利用輸入(Input)中的當按下A鍵(on button A pressed),插入音樂(Music)的播放旋律(start melody)並選擇內建的生日快樂歌;利用當按下B鍵(on button B pressed),插入音樂(Music)的演奏音階(play tone~for~beat),自行設計音樂效果。
程式連結
結果 按下A鍵時會播放「生日快樂」歌、按下B鍵時則播放您設計的音樂。
應用09:倒數計時
目的使用Smart Coding Kit製作倒數計時器。
材料程式設計- 以基本(Basic)中的當啟動時(on start)及顯示指示燈(show leds)來為micro:bit啟動時設計一個可愛的圖示,這邊以沙漏來象徵倒數計時的意涵。
- 利用輸入(Input)中的當按下A鍵(on button A pressed),利用變數(Variables)建立一個名為時間(time)的變數,用來存取倒數計時的時間。插入將變數設為~(set~to ~),讓倒數計時從9秒開始倒數。以基本(Basic)的顯示數字(show number)來幫助隨時顯示目前的倒數狀況。
- 當按下B鍵(on button B pressed),利用迴圈(Loops)的判斷條件為真就重複執行(while~do~)來設計當變數時間(time)大於0,就會執行迴圈中的改變變數為減少1(change~by -1),也就是秒數會減少1秒。以基本(Basic)的暫停(pause)來暫停,以設計出倒數計時的間隔秒數(如果希望此倒數計時能夠加快,則可將暫停(pause)的數值調小),搭配基本(Basic)的顯示數字(show number)來幫助隨時顯示目前的倒數狀況。當倒數到0秒時,則會執行顯示圖示(show icon)來表示已經完成倒數。
程式連結
結果在啟動時顯示一個沙漏圖案,象徵倒數。當按下A鍵時,數字9會顯示在micro:bit上(因為這是一個9秒的倒數計時器);按下B鍵時,開始倒數計時,並且micro:bit上會同步顯示倒數中的數字,直到倒數至0、顯示愛心圖案為止。
應用10:猜拳機
目的使用Smart Coding Kit製作行動猜拳遊戲機
材料程式設計
猜拳機A
- 在基本(Basic)中的當啟動時(on start)插入廣播(Radio)中的廣播群組設為(radio set group)來設定群組Id,不同的micro:bit需設定相同的廣播群組Id,彼此才能傳遞資訊。
- 利用輸入(Input)中的當按下A鍵(on button A pressed),利用變數(Variables)建立一個名為A(代表此猜拳機A)的變數,並以將變數設為~(set~to ~)來將變數A設為1。插入廣播(Radio)中的廣播發送數字(radio send number)來設定廣播變數A的數字給猜拳機B的micro:bit。利用顯示圖示(show icon)來顯示「剪刀」圖案,以利知道自己出的是剪刀石頭布的哪一項。
- 利用當按下B鍵(on button B pressed),以將變數設為~(set~to ~)來將變數A設為2。插入廣播(Radio)中的廣播發送數字(radio send number)來設定廣播變數A的數字給猜拳機B的micro:bit。利用顯示圖示(show icon)來顯示「剪刀」圖案,以利知道自己出的是剪刀石頭布的哪一項。
- 利用當按下A+B鍵(on button A+B pressed),以將變數設為~(set~to ~)來將變數A設為3。插入廣播(Radio)中的廣播發送數字(radio send number)來設定廣播變數A的數字給猜拳機B的micro:bit。利用顯示圖示(show icon)來顯示「剪刀」圖案,以利知道自己出的是剪刀石頭布的哪一項。
- 利用廣播(Radio)中的當收到廣播發送數字(on radio received receivedNumber),利用變數(Variables)建立一個名為B(代表猜拳機B)的變數,並插入將變數設為~(set~to ~)來將變數B設為從猜拳B接收到的廣播數字。
- 在重複執行(forever)中插入邏輯(Logic)程式積木,利用如果_那麼_否則如果(if then else if)來判斷變數A則變數B的數字(可以對照我們設計的邏輯,數字1=剪刀、數字2=石頭、數字3=布),猜拳獲勝者,會收到「笑臉」圖案;反之則會收到「哭臉」圖案。若兩方的猜拳結果相同,則會顯示類似「無言」的表情。
猜拳機B
程式連結【猜拳機A】
【猜拳機B】
結果
透過持有猜拳機A的一方和持有猜拳機B的一方,兩位依照按A鍵給出「剪刀」、按B鍵給出「石頭」或是同時按A+B鍵給出「布」的設計進行猜拳,猜拳獲勝者在micro:bit上會獲得笑臉,而失敗者則會獲得哭臉。