# https://microbit.org/ (官網首頁)
# https://zh.wikipedia.org/wiki/Micro_Bit
BBC micro:bit 大小如信用卡, 正面正中央有 25 顆排成 5*5 矩陣的 LED, 內建的隱藏式光度感測器也是位於 LED 矩陣區域. 左右各有一個標示為 A 與 B 的使用者按鈕輸入, 正下方的銅板接點標示了 0, 1, 2 的三個數位/類比 GPIO 輸出入粗接點以及中間的細接點, 可以用鱷魚夾將粗接點引出 :
正面
Micro:bit 開發板的背面焊接了主要的零組件, 左上角的大晶片是 nRF51822 微處理器, 上方的條狀銅箔是舖在電路板上的 2.4 GHz 射頻天線 (藍芽與 Radio 通訊用), 正上方有一個用來供電與上傳韌體的 Micro USB 插槽, 其右方一個重置 (Reset) 按鈕, 以及一個 2.0 mm 的電池插槽母座, 正下方則是 GPIO 的銅箔接點 (或稱邊緣接點 edge connector, 俗稱金手指) :
背面
# 現貨 micro:bit IO 擴展板 DFRobot 原廠
# micro:bit專用 金手指轉接擴展板
# MICRO:BIT開發板插槽
# Micro:bit 擴展板 Breakout轉接板(直針)
# T型黑色Micro:bit擴展板 (主板轉接麵包板Breakout)
也可以購買連接器自行焊接, 參考 :
# 《iCshop1》micro:bit 立式連接座 轉接板●368020101624●microbit 轉接座 連接器
# 《iCshop1》micro:bit 臥式連接座 轉接板●368020101625●microbit 轉接座 連接器
# 小巨人全球商店-熱銷MICRO:BIT開發板插槽 microbit主板立式插槽
BBC micro:bit 開發板包含兩顆處理器晶片, 主處理器為 Nordic 公司的超低功耗無線 nRF51 系列 SoC 晶片 nRF51822, 係基於 ARM Cortex-M0 架構所開發之 32 位元單核處理器, 內建 16KB RAM 與 256KB Flash 記憶體並以 16 MHz 時脈運行, 專門用於無線嵌入式系統與消費性電子產品, 兼具高效能 (與 ARM7 相當) 與低成本特性, 使用建議之電池組可工作達數月之久. 此外還支援 2.4GHz 低功率藍芽 (LBE) 無線通訊協定 (但在 MicroPython 環境因為受到記憶體限制沒有開啟, 僅無線模組 radio 可用). 參考 :
# microbit MB80-US
# https://zh.wikipedia.org/wiki/NRF51
第二顆晶片為負責與電腦通訊之 USB 晶片NXP/Freescale KL26Z, 係基於 ARM Cortex-M0+ 架構之 48 MHz處理器, 支援 USB2.0 OTG, 提供與電腦透過 USB 介面傳輸資料之功能.
BBC micro:bit 內建如下感測器 (sensor) 與致動器 (actuator) :
- 5*5 LED 矩陣 (致動器, 輸出)
- 類比/數位 GPIO 0~2 (致動器 + 觸控板)
- 溫度感測器 (內建於 CPU 內)
- 光度感測器 (隱藏式設計, 位於 LED 矩陣區域)
- 加速度感測器 (NXP/Freescale MMA8653)
- 電子羅盤 (磁場/旋轉/方位感測器, NXP/Freescale MAG3110)
# https://microbit.org/get-started/user-guide/features-in-depth/
Micro:bit 開發板有兩種供電方式 :
- Micro USB 插槽 :
可用筆電 USB 或 5V 輸出變壓器供電, 也可以用行動電源供電, 但因為 micro:bit 消耗電流很小, 很多大容量行動電源會在供電一會兒之後切斷輸出, 以及有些行動電源輸出電壓高於 5V 可能對 micro:bit 造成損傷, 官方不建議使用行動電源. - JST PH2.0 電池插槽 :
可用兩節 1.5V AAA 電池組經由 JST PH2.0 插槽供電.
BBC micro:bit 的開發語言有三種 :
- Javascrip Block
- Javascript
- MicroPython
其次是使用 Javascript Editor 直接編寫 Javascript 程式碼來控制 micro:bit, 它提供了更豐富的功能, 例如可撰寫副程式或函數等. 其實 Javascript Editor 與 Javascript Blocks 基本上可說是文字版與圖形版的差異, 兩者是可互相切換的, 但部分功能只能單向, 亦即 Javascript Editor 有的 Javascript Block 不一定有; 反之則一定有. 不管是用 Javascript 或 Javascrip Block 編寫程式, 上傳
至 micro:bit 時都會被編譯成機器碼執行, 這是與一般瀏覽器中的 Javascript 以解譯器逐行執行不同之處.
第三種開發語言是 MicroPython, 這是 Python 3 在嵌入式設備上的再實作版 (re-implementation), 標準函式庫僅實作用得到的重要部分, 並根據所使用 CPU 新增特定模組. 使用 MicroPython 開發的好處是, 它具有 REPL 介面可與 Python 執行環境進行互動式操作, 就像在 PC 上使用 Python Shell 一樣. MicroPython 也有線上編輯器, 參考 :
# https://python.microbit.org/v/2.0
以 MicroPython 控制 micro:bit 的教學文件參考 :
# https://microbit-micropython.readthedocs.io/en/latest/
# https://microbit.org/get-started/user-guide/python/
# https://nkust.gitbook.io/micro-bit/shi-shi-yong-micropython
目前市面上以 MicroPython 為開發工具的書有如下幾本 :
# BBC micro:bit程式設計入門:MicroPython快速上手指南 (這本市圖有)
Source : 博客來
# Programming With MicroPython: Embedded Programming with Microcontrollers and Python
Source : 天瓏
# Beginning BBC micro:bit: A Practical Introduction to micro:bit Development
Source : 天瓏
# Getting Started With the micro:bit: Coding and Making With the BBC’s Open Development Board
Source : 博客來
如果使用圖形化介面開發 micro:bit 應用的話, 可參考下面這個整理得非常完整的網站 :
# 阿玉micro:bit研究區
作者黃文玉老師應該是小狐狸們小學時的電腦老師, 去年出版了一本 micro:bit 的新書 :
# 輕課程 用micro:bit學程式設計結合KAISE擴展板創意專題實作:使用Microsoft MakeCode
Source : 博客來
在眾多普受歡迎的物聯網開發板中, 來自英國的就有兩個 : 低階的 micro:bit 與高階 (具有 Linux 作業系統) 的 Raspberry Pi, 而處理器核心都來自 ARM, 也是一家英國公司, 英國人的新創能力值得敬佩. 與來自義大利的 8 位元 Arduino 比起來, 我覺得 32 位元 ARM 核心且內建多個重要感測器的 micro:bit 更適合作為青少年物聯網教學之用, 從圖形介面入手進階到 MicroPython 程式撰寫, 最後晉級到樹莓派, 都是 Python 系列.
沒有留言:
張貼留言