Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

568 views

Published on

台灣程式教育協進會:
http://www.beyond-coding.org.tw
露天賣場:
http://class.ruten.com.tw/user/index00.php?s=ittraining
蝦皮商場:
https://shopee.tw/ittraining

Published in: Education
  • Be the first to comment

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

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

×