micro:bitの端子一覧

1 はじめに

micro:bitの端子を外部センサなどとの接続に使うとき,どの端子を使ってよいのかを示します。
micro:bitの端子は,カードエッジに見えていても,そのまま使うことができるものは限られています。

2 端子の一覧

micro:bitの端子一覧です。

https://tech.microbit.org/hardware/edgeconnector/#pins-and-signals より転載

注意 micro:bit v1とmicro:bit v2ではP9の扱いが異なります。v2ではP9は自由に使えるようになりました。

3 micro:bitの端子利用

micro:bitの端子利用では次の2つの注意が必要です。
(1)micro:bitがすでに利用中の端子は,使えません。
(2)それ以外端子は自由に使えるのですが,各端子は同時に2つの用途には使えません。
そのため,micro:bitを使ったシステムを作成するときには端子割り当てを慎重に考える必要があります。

4 micro:bitの端子(自由に使える端子)

端子割り当ての観点からは,端子は次の3つの種類に分類されます。
(1)自由に使える端子
(2)条件付きで使える端子
(3)micro:bit本体が使っているので使えない(使わないほうがよい)端子
具体的には次のようになります。

(1)自由に使える端子
 P1
 P2
 P8
 P9 ただしmicro:bit v2でのみ使用可能
 P12
 P16

(2)条件付きで使える端子
 P0 は電磁ブザー(スピーカ)駆動に使われています。音を鳴らさなければ使えます。

次の3つはSPI通信で使います。SPI通信を使わなければ使用可能です
 P13 SPIのCLK
 P14 SPIバスのMISO
 P15 SPIバスのMOSI

(3)使えない端子
次の2つはmicro:bit本体がボタン制御に使っているので使えません
 P5  ButtonA
 P11 ButtomB
どうしても他用途に使いたい場合は手続きが必要です。

次の2つはI2C通信で使われています。
I2C通信は加速度センサ・磁気センサ(方位センサ)で使用されています
そのため,I2Cを意図して使っていない場合でも,この2つの端子は使用してはいけません。
 P19 I2C SCL
 P20 I2C SDA

次の6つ(v2では5つ)の端子は,5x5のLEDスクリーンの制御に使われてるので使えない端子です。
 P3  LED SCREEN
 P4  LED SCREEN
 P6  LED SCREEN
 P7  LED SCREEN
 P9  LED SCREEN ただしmicro:bit v1のみ使用不可
 P10 LED SCREEN
どうしても他用途に使いたい場合は手続きが必要です。

また,アナログ入力が可能な端子は,P0,P1,P2,P3,P4,P10のみですが,使用可能なのはP0,P1,P2の3つのみです。
P0,P1,P2,P8,P12,P13,P14,P15,P16は内部に抵抗(pull down抵抗)12kΩが配置されています。

5 まとめ(自由に使える端子)

電磁ブザーから音を出さない,かつSPI通信を使わない条件で,micro:bit v2で自由に使ってよい端子は次の10端子になります。
P0, P1, P2, P8, P9, P12, P13, P14, P15, P16


補足

各端子はデジタル入出力が基本です。
(約3Vというのは3.3V程度です。)

デジタル出力
プログラム側   端子側
0を出力   → 約0Vが出力されます。
1を出力   → 約3Vが出力されます。

デジタル入力
端子側   プログラム側
約0Vを入力  →0を得ることができる
約3Vを入力  →1を得ることができる


アナログ入出力という表現は注意が必要です。

アナログ出力
アナログ出力という名前ですが,PWM信号を出力していますので,オシロスコープで信号を観察するとデジタル信号に見えます。
プログラム側で0~1023までの値(myvalue)を出力すると,端子側にはデューティー比(myvalue/1024×100)パーセントのPWM信号が出力されます。
(本来,アナログ出力というのは,プログラム側では0~1023を与えると(myvalue/1023×Vreference)ボルトの電圧が出力されるものです。Vreferenceは3Vなどの基準電圧です。この機能の実現にはDAコンバータが使われます。)

アナログ入力
これは本来の意味でのアナログ入力です。(ADコンバータが使われています。)
端子側に任意の電圧Varbitraryを入力すると,プログラム側では(Varbitrary/Vreference×1023)の値が得られます。
ここで。Vreferenceは3Vなどの基準電圧です。また,入力電圧は0<Varbitrary<Vreferenceの範囲である必要があります。
この機能が使える端子で利用可能なのははP0,P1,P2の3つのみです。