Nexus:bit 使用手冊
台灣程式教育協進會
v0.1
台灣程式教育協進會
• 台北推廣中心
– 營業時間:週一、二、四、五 9:00-21:00
– 週三、六、日 9:00-18:00
– 地址:臺北市中正區重慶南路一段143號4樓
– 電話:02-2316-7734
– 聯絡信箱:service@beyond-coding.org.tw
– 官網:http://www.beyond-coding.org.tw
– FB:台灣程式教育協進會
Nexus:bit擴充板
目次
1. 認識Nexus:bit擴充板 (頁5)
2. 下載MakeCode擴展套件 (頁20)
3. Nexus:bit基本功能 (頁28)
4. Nexus:bit進階功能 (頁56)
5. PCA9685伺服馬達控制 (頁84)
認識 NEXUS:BIT 擴充板
1
什麼是Nexus:bit擴充板?
• Nexus:bit是設計給BBC micro:bit開發板使用
的強大擴充板,使micro:bit原本就十分豐富
的功能更上一層。
• Nexus:bit適合用於
– 打造機器人、自走車等動力裝置
– 製作創客電子實驗
– 當成掌上型遊戲機
• Nexus:bit內建了各種功能:
– 18650型可充電鋰電池
– 迷你搖桿板
– 蜂鳴器(單音小喇叭)
– 彩色LED
– 震動馬達
– 麥克風(音量偵測)
– 伺服馬達/直流馬達接頭
– 其他
Nexus:bit擴充板功能
搖桿/超音波模組接頭
(P1, P2, P5, P11)
RGB LED
(PCA9685 13~15)
麥克風(P12)
蜂鳴器(P0)
蜂鳴器開關
震動馬達(P8)
麥克風靈敏度調整
I2C腳位
micro:bit
全擴展腳位
PCA9685
伺服馬達腳位
(1~12)
18650 鋰電池
USB
充電接頭
電源/
充電指示燈
電源開關
5V/3.3V輸出
5V輸入
直流馬達腳位
(P13~16)
獨立伺服馬達
腳位(P12)
SPI腳位
Nexus:bit vs Thunder:bit
• Nexus:bit和協會稍早推出的Thunder:bit擴充
板有何不同?
– Nexus:bit是Thunder:bit的改良版,尺寸更小、伺服馬達
腳位更多、新增音量麥克風
– Thunder:bit具有較寬敞的接線空間,直流馬達接頭較易
使用,並可外接A、B按鈕
左:Thunder:bit
右:Nexus:bit
使用安全事項
• 請在遠離火源、水源的場所使用,並保持
雙手乾燥。
• 請勿讓水或導電材質碰觸擴充板底下的金
屬接點、電池接頭處,以免可能引發短路。
鋰電池
• 您的擴充板出貨時應已裝好電池,請勿隨
意拔起。
• 若出於特別因素需更換電池,以平頭起子
從負極方向或電池中央將之撬起,再依電
池槽指示方向安裝新電池(見下頁)。
• 切勿裝反電池和開啟電源
電池安裝方向
+
-
電源開關
• 不使用擴充板時請關閉電源。
• 長時間使用擴充板後,請記得充電(見後面
幾頁說明)。
給鋰電池充電
• 將micro USB線接上充電接頭,便會對鋰電
池充電,並使擴充板進入外部供電模式。
• 建議使用5V 1~2A變壓器充電。使用電腦
USB槽充電會較慢。
• 充電時擴充板會亮紅燈(電源關閉時)或黃燈
(電源開啟時)。充飽電後紅燈會熄滅。
• 充飽電後請拔起充電線。
鋰電池續航力
• Nexus:bit內附的18650型鋰電池(容量
2600mAh)能撐多久?
– 就協會測試,同時驅動8顆伺服馬達,以半秒的
頻率連續轉動時,可運轉將近3.5小時。
電源/充電指示燈
充電時亮紅燈,充飽後紅燈熄滅
電源/充電指示燈
在充電時開啟電源,同時亮紅燈與綠燈 (=黃燈)
電源/充電指示燈
單純開啟電源時亮綠燈
安裝micro:bit
• 在Nexus:bit上插拔micro:bit之前,建議先關
閉擴充板電源。
• 在燒錄程式到micro:bit上之前,記得先開啟
擴充板電源。
前方
下載 MAKECODE 擴展套件
2
什麼是MakeCode編輯器?
• MakeCode是微軟開發的圖形化JavaScript積
木程式編輯器,為micro:bit最常搭配的程式
撰寫工具。
• MakeCode編輯器:https://makecode.microbit.org/
• 此編輯器也允許開發者設計自訂的積木。
我們以下將介紹如何使用協會的Nexus:bit擴
展套件來使用擴充板。
下載擴展套件
• 打開MakeCode編輯器,到工具區的進階->
擴展…然後在搜尋欄輸入nexusbit、
nexusbot或TCEA,再加入找到的套件。
在MakeCode新增專案
改變語系為繁體中文
選擇進階->擴展
輸入nexusbit並加入套件
搜尋時可能因網路問題而得稍等片刻。
你也可直接貼上以下網址並按搜尋:
https://github.com/alankrantas/pxt-Nexusbit
套件下載完成
NEXUS:BIT 基本功能
3
micro:bit腳位是什麼?
• 腳位(pin)是開發板用來發訊號控制外部元件
或接收訊號的管道,可想成是電子訊號開
關。
• Nexus:bit大多功能都連接到micro:bit的特定
腳位,因此使用者其實可透過MakeCode編
輯器的原始積木控制之,但擴展套件大幅
簡化了這過程。
蜂鳴器(腳位P0)
蜂鳴器(腳位P0)
• 此積木可透過蜂鳴器播放特定頻率的聲音
(頻率為0代表無聲音)。持續時間設為0代表
不停止。
蜂鳴器(腳位P0)
• 也可以使用MakeCode內建的「音效」積木!
蜂鳴器開關
• 若想使用P0腳位讀取類比信號,但不想讓
蜂鳴器產生聲音,可將蜂鳴器後方的跳線
帽(蜂鳴器開關)拔起。
• 請妥善保管跳線帽,以免遺失!
跳線帽
蜂鳴器開關
拔起跳線帽即會切斷蜂鳴器
搖桿(P1/P2/A與B鍵)
• 擴充板前方的插頭可安裝搭配的小型搖桿
板:
安裝搖桿板
請確定接頭有正確插好
搖桿方向
X軸(左右) = P1 Y軸(前後) = P2
A與B鍵與micro:bit本身的A/B鍵功能相同(P5, P11)
前
後
左 右
搖桿注意事項
• 使用搖桿板時,建議把食指墊在搖桿板兩
側底下邊緣,並避免過度用力壓搖桿。
• 避免用潮濕手指觸摸搖桿板下方的金屬焊
接點,以免搖桿訊號不正常。
• 若程式有使用到搖桿,請在開啟電源前裝
好搖桿。
搖桿(P1/P2/A與B鍵)
• 判斷搖桿是否被推往特定方向(前/後/左/右/
置中,傳回true/false):
調整搖桿靈敏度
• 搖桿判斷方向時的靈敏度也可調整: (靈敏
度高時,搖桿只需推少許就能判斷到方向,
靈敏度低則相反)
讀取搖桿類比值
• 搖桿的兩軸實際上會傳回0~1023的類比信
號,代表軸的轉動位置。我們也可直接讀
取這個值:
震動馬達(P8)
• 使用震動馬達時,強度可設為0~1023 (0代
表關閉)。持續時間設為0代表不停止。
– 注意:Nexus:bit的震動馬達相當有力,因此若非必要,
不建議使用全速(1023)。
• 此接頭能連接1個伺服馬達,讓使用者透過
以下的積木控制角度:
獨立伺服馬達接頭(P12)
獨立伺服馬達接頭(P12)
S 訊號線
+ 電源線
- 接地線
獨立伺服馬達接頭(P12)
• 你也可使用MakeCode編輯器的原有伺服馬
達積木。當你只想快速測試伺服馬達、不
想特地下載擴展套件時,這就會很有用處。
麥克風(P12)
• Nexus:bit的麥克風為音量計,只能判斷音量
大小,無法判斷聲音差異。
• 音量大到觸發麥克風時,積木會傳回true,
反之為false。
麥克風(P12)
調整麥克風強度
用平頭起子旋轉該旋鈕,即可改變麥克風的
收音敏感度。(順時針 = 更敏感)
P12訊號指示燈
當麥克風收到聲音,或者micro:bit在控制伺服馬達時,
該LED就會點亮。你可藉此判斷麥克風的接收效果。
使用麥克風的注意事項
• 由於獨立伺服馬達接頭(輸出)和麥克風(輸入)
共用micro:bit的P12腳位,混用兩者將造成
兩者無法正常運作。(例如,麥克風收到聲
音時導致馬達抖動。)
• 請在同一個程式內只使用其中一種功能,
或改用第5節的PCA9685伺服馬達積木。
彩色LED
• Nexus:bit上的彩色LED (RGB LED)實際上連到
板子上的PCA9685晶片(見第5節)。但擴展套
件內的積木可直接設定顏色,使用者不必
了解如何控制PCA9685晶片。
• 若沒有特別設定,開啟電源後預設亮白光。
彩色LED
彩色LED
• 我們可選擇八種預設顏色並指定亮度(0~100,
100為最亮):
• 我們也可指定自訂的彩色LED顏色,或直接
產生隨機顏色:
NEXUS:BIT 進階功能
4
設定擴充板類型
• 此擴充套件可適用於Thunder:bit擴充板,但
得指定板子型號。 (若不設定,預設型號即
為Nexus:bit。)
設定擴充板類型
• 由於Thunder:bit的PCA9685伺服馬達腳位較
少,且彩色LED在PCA9685的腳位與
Nexus:bit不同,故務必使用前頁的積木設定
之。
• 當選擇擴充板為Thunder:bit時,麥克風功能
無法使用(永遠傳回false)。
外接超音波模組
• Nexus:bit的搖桿接頭可外接一個HC-
SR04/HC-SR04P超音波測距模組,用於機器
人、自走車的避障功能,或偵測是否有物
體靠近。
• HC-SR04是坊間最常見的超音波模組,可靠
偵測距離約1~2公尺。
HC-SR04超音波模組
HC-SR04 (原版) ->
電源:5V
<- HC-SR04P (新版)
電源:3.3~5V
HC-SR04 vs HC-SR04P?
• 這兩款功能相同,接腳也相同,差異只在
外觀、接腳焊接方向及可用電壓。兩款都
可在Nexus:bit與Thunder:bit上使用。
• NexusBot機器人必須使用P版 (見NexusBot組
裝手冊)。
HC-SR04P超音波模組
Vcc (電源, 3.3~5V)
Trig (觸發超音波)
Echo (接收超音波回應)
Gnd (接地)
安裝HC-SR04P
Vcc->5V
Trig->P5
Echo->P11
Gnd->G
正中央的四個腳位
前方
安裝HC-SR04P
偵測距離
• 我們可讀取HC-SR04傳回的偵測距離(公分):
※判讀距離可能和實際距離有些微出入,但仍能反映物體的遠近。
且物體若有移動,可能導致判讀距離波動、或者偶爾傳回0。
偵測距離
• 我們也可直接判斷物體距離是否大於或小
於特定距離(傳回true/false):
※這個積木會把傳回0的結果過濾掉
超音波模組注意事項
• 使用搖桿接頭來安裝HC-SR04/HC-SR04P超音
波模組時,模組會占用P5/P11腳位,也就是
原本保留給micro:bit A、B鈕使用的腳位。
因此透過搖桿接頭使用超音波模組時,
micro:bit的A、B鈕相關積木將無法正常使用。
直流馬達(P13/14, P15/16)
• P13-16腳位連到2個直流馬達專用接頭,可
讓馬達正轉或反轉、甚至以較慢的速率轉
動。
• 由於Nexus:bit的直流馬達接頭是針對
NexusBot小車的馬達設計,因此A1/A2和
B1/B2標示方向相反,如此一來馬達轉動方
向才會一致。
直流馬達(P13/14, P15/16)
(P15) B2 A1 (P13)
(P16) B1 A2 (P14)
伺服馬達形直流馬達
詳情請參閱協會的NexusBot組裝手冊
一般直流馬達
• 若要使用一般直流馬達,馬達線需接上母
頭(可自行製作杜邦頭)。
控制直流馬達
• 你能控制馬達的轉動方向與轉速(-100~100):
數字絕對值越大,
轉速越快。
0代表停止。
雙直流馬達小車
• 擴展套件也內建了可控制一般二輪直流馬
達小車的積木(如下頁),可輕易讓自走車前
進、後退、左轉、右轉及停止。
– NexusBot小車的控制方式稍微有些不同,請參閱
NexusBot組裝手冊。
雙直流馬達小車範例
• 一般黃色減速直流馬達版本
此類自走車組裝與接線請參閱協會的遙控車組裝手冊。
基本上,馬達靠近地面那端要接P13或P15腳位。
步進馬達
• 此積木可控制5V步進馬達:
這積木每呼叫一次會讓步進馬達轉動一步。
以28BYJ-48-5V步進馬達為例,執行512次會讓
馬達旋轉整整一圈。
由於「重複無限次」迴圈有微小延遲,可用
綠色迴圈積木來讓轉動速度達到最快。
步進馬達
本簡報不含28BYJ-48-5V步進馬達及ULN2003控制板
使用教學。
雙步進馬達小車
• 擴展套件也允許使
用者同時控制兩顆
步進馬達,例如使
用步進馬達打造的
兩輪小車。
– 如果用到跟micro:bit
LED螢幕共用的腳位,
建議關閉LED螢幕。
I2C/SPI腳位
• I2C (積體電路匯流排)與SPI (序列周邊介面)
腳位允許我們連接各種外部電子元件,例
如市面上設計給Arduino及樹莓派開發板使
用的模組。
• 這讓使用者可開發更進階的創客(Maker)應
用。
I2C腳位
SCL = P19, SDA = P20
I2C外部設備範例
連接0.96吋OLED螢幕模組的範例。
在連接I2C裝置前,請自行查閱裝置的接線與使用方式。
SPI腳位
SPI預設腳位:
P13 = SCK, P14 = MISO, P15 = MOSI, P16 = CE
SPI外部設備範例
連接4個8x8 LED矩陣模組的範例。
在連接SPI裝置前,請自行查閱裝置的接線與使用方式。
變更SPI腳位
• 由於直流馬達接頭也使用P13~P16腳位,若
要同時使用直流馬達與SPI設備,請重新指
定SPI腳位。
PCA9685 伺服馬達控制
5
什麼是PCA9685?
• PCA9685是可用於控制多重伺服馬達的晶片。
Nexus:bit (以及Thunder:bit)都內建了這個晶
片。
• 拜PCA9685之賜,micro:bit才能控制諸如機
械手臂(4顆馬達)或機器人(8顆以上馬達)之
類的動力裝置。
• Nexus:bit最多可透過PCA9685控制12顆伺服
馬達。
PCA9685伺服馬達腳位
S 訊號線
+ 電源線
- 接地線
S1 = 1號馬達, S2 = 2號…以此類推到
S12 = 12號馬達。
Nexus:bit的伺服馬達控制庫
• Nexus:bit的擴展套件打造了強大的伺服馬達
控制積木:
– 會記錄馬達的轉動位置,並阻止馬達轉到0~180
度以外的角度,好避免馬達卡死或過熱損壞
– 可透過直接角度或相對角度模式控制
– 可同時替多重馬達設定角度
– 可讓馬達逐次(平順)轉動
設定直接角度
• 和MakeCode編輯器內建的伺服馬達積木類
似,可將馬達轉至0~180度或最小/最大角度。
• 馬達編號1~12 (Nexus:bit)或1~4 (Thunder:bit)
※設定擴充板為Thunder:bit時,替編號5~12的馬達設定角度
不會有任何效果。
設定相對角度
• 我們也可設定伺服馬達的相對角度(相對於
預設角度的變量)。
– 所有馬達的預設角度為90度,故轉動-90度即到0度,轉
動90度(或+90度)則到180度。
相對角度模式的優點
• 使用者無須設定實際角度,只要給予相對
轉動量(正負幾度)即可。
• 如此一來,只要修正預設角度就能校正馬
達,但不必修正程式內的其他馬達角度。
• 建議在「當啟動時」使用「所有伺服馬達
轉至預設角度」,好確保每次程式啟動時
馬達都能正確歸位、並和程式變數同步。
調整預設角度與可轉角度
• 我們可設定每個伺服馬達的預設角度以及
可轉角度:
預設角度必須在最小和最大角度之間。
如果最大角度小於最小角度,那麼最
大角度會被指定為與最小角度相同。
如果預設角度落在最小與最大角度外,
那麼就會被設為最小或最大角度。
• 範例:把伺服馬達1的預設角度設為80,最
小角度30,最大角度150,然後讓它輪流轉
到相對位置-60與60度。
– 80 – 60 = 20,但20度小於最小角度30,因此擴展套件只
會讓馬達轉到30度。
– 80 + 60 = 140,小於最大角度150,因此會轉到140度。
• 擴展套件內所有積木都會遵守使用者設定
的最小與最大角度。伺服馬達無論如何都
不會轉到超過這個範圍。
逐次轉動
• 「逐次轉動」會讓伺服馬達一次只轉一點,
看似是在平順轉動。這能讓動力裝置表現
出更細膩的運動效果。
• 逐次轉動積木每呼叫一次只會轉一點,故
必須搭配迴圈來重複呼叫,以實現連續轉
動。
逐次轉動範例1
• 下面藉由按住micro:bit A或B鍵的方式讓馬
達緩緩轉向0或180度。由於積木會自動檢
查角度,故轉到最小或最大角度就不會再
轉。
逐次轉動範例2
• 透過檢查馬達位置(是否已轉至特定角度)來
決定是否要逐次轉動馬達:
• 使用馬達位置檢查積木的場合:
– 若你希望馬達轉到定點後,就不要再重複設定
角度;
– 若你希望在得知馬達轉到定點後,讓程式做些
特定的事;
– 若你希望加入其他判斷式,好在需要時中斷馬
達逐次轉動。
馬達逐次轉向度數
• 在設定伺服馬達角度的積木中,「逐次轉
動度數」即為逐次轉動時,每轉一次會改
變的角度量(預設5度)。
• 若伺服馬達1預設角度為90度,一開始轉到
預設角度,逐次轉動量5度,當它逐次轉向
120度時,馬達角度依次為95、100、105、
110、115、120,一共轉動6次。
• 逐次轉動角度的大小,以及逐次轉動之間
的停頓時間,會決定逐次轉動的速度與平
順度。
• 馬達最終一定會轉到目標角度並停止轉動。
同時轉動多重馬達
• 擴展套件也擁有能同時轉動多顆伺服馬達
的積木,包括直接與相對角度模式。
• 下面我們只介紹相對模式,因為這會是控
制機器人等動力裝置最方便的方式。
同時轉動多重馬達
• 我們可藉由輸入數字陣列的方式,同時轉
動多顆馬達。下面的範例為一次轉動四顆
馬達(逐次轉動,直到所有馬達轉到定位,
程式才會繼續執行下一步) 。
1 2 3 4 馬達編號
可從「陣列」工具箱拖拉
一個變數出來,然後借用
陣列積木。
沒有設定的馬達(在此例
為馬達編號5~12)會被忽略
。
同時轉動多重馬達
設定8個馬達
的逐次轉動角度。
如果輸入的陣列
項目超過上限 (
Nexus:bit = 12,
Thunder:bit = 4),
積木就不會有任
何作用。
設計動力裝置的連續動作
這是4顆馬達的連續動作
(編號1~4),一次動作2顆。
這其實是雙足機器人走路
的腳部動作。
• 在同時設定多顆馬達的角度時,若你希望
讓某些馬達維持目前位置不動,就得在陣
列對應項目填入積木「無」(null)。新角度
被設為「無」的馬達會被程式忽略。
設計動力裝置的連續動作2
• 以下程式效果和上頁相同,但可視使用者
需求加入額外邏輯判斷:
逐次移動馬達的注意事項
• 由於馬達的逐次移動需要計算,若同時逐
次移動的馬達數量超過4、5顆,整體馬達
移動速度就會變慢、甚至產生抖動。
THE END
感謝您購買與使用本協會產品!

Nexus:bit 擴充板 for BBC micro:bit 使用手冊 v0.1