概要
M5Stack Core2で利用できるGPIOを調べてみました。Grove端子とM-BUS端子になります。
M-BUS端子
ざっくりと、上記の区分になっています。通常は蓋がついているので、アクセスすることができません。CORE2と書いてあるところを外すと
蓋を外すのは、なるべく細いマイナスドライバーなどを左右から隙間にいれて、ゆっくりと上に持ち上げます。
取り外すと上記の状態になります。おそらく本体の六角ボルトをはずして、拡張するベースやモジュールが出てくる気がします。
さて、蓋の部分には左側にマイクと、右側に加速度センサーなどのIMUがついています。なので蓋を外すとマイクとIMUは利用できなくなりますので注意してください。
GPIO | 概要 |
GPIO0 | I2S未使用時は他用途で利用可能。プルアップされているので注意して使う |
GPIO1 | USB経由のシリアル通信で利用。USB接続していないときは他用途で利用可能 |
GPIO2 | I2S未使用時は他用途で利用可能 |
GPIO3 | USB経由のシリアル通信で利用。USB接続していないときは他用途で利用可能 |
GPIO13 | 自由に利用可能。DAC2に接続なので無線利用時はアナログが使えない |
GPIO14 | 自由に利用可能。DAC2に接続なので無線利用時はアナログが使えない |
GPIO18 | 内部SPIで利用中。CSを他の端子に割り当ててSPIデバイスを接続可能 |
GPIO19 | 自由に利用可能。アナログは利用できない |
GPIO21 | 内部のI2Cで利用。I2Cデバイスは接続可能 |
GPIO22 | 内部のI2Cで利用。I2Cデバイスは接続可能 |
GPIO23 | 内部SPIで利用中。CSを他の端子に割り当ててSPIデバイスを接続可 |
GPIO25 | 自由に利用可能。DAC2に接続なので無線利用時はアナログが使えない |
GPIO26 | 自由に利用可能。DAC2に接続なので無線利用時はアナログが使えない |
GPIO27 | 自由に利用可能。DAC2に接続なので無線利用時はアナログが使えない |
GPIO32 | Grove端子にも接続。I2C用となっているが他の用途にも利用可能 |
GPIO33 | Grove端子にも接続。I2C用となっているが他の用途にも利用可能 |
GPIO34 | マイク未使用時は他用途で利用可能 |
GPIO35 | 入力専用だが自由に利用可能。無線利用時でもアナログが使える |
GPIO36 | 入力専用だが自由に利用可能。無線利用時でもアナログが使える |
GPIO38 | 内部SPIで利用中。CSを他の端子に割り当ててSPIデバイスを接続可能 |
他用途で使われている端子は、なるべく使わない方がいいです。無理をすれば他の用途でも使えますが、スピーカー端子などはスピーカーを無効化してからじゃないと使えないなどの、使うためのおまじないが必要になります。
Grove端子
GPIO32と33が出ています。これはM5StickCなどと同じで、比較的自由に利用できる端子となります。無線利用時にもアナログが使えるなど使いやすい端子ですが、端子が赤いのでI2C用と定義されています。
これは従来のM5Stackシリーズとの互換性を重視したと思うのですが、従来は内蔵I2Cで利用している21と22がポートAにつながっていました。そしてポートBに汎用、ポートCがUART用と定義されていました。
M5Stack Core2は現状Groveポートが1つしかなく、拡張することができません。そのためI2C専用の21、22を本体ポートにつなげてしまうと利用できるユニットがI2Cに限定されてしまいます。そこでM5Stack Core2では汎用的に利用できる32と33をポートAに接続し、ライブラリの初期値はI2Cで初期化してありますが、アナログやUARTに自分で初期化しなおせば他の用途で利用することが可能になっています。
今後M-BUSに接続して、Grove端子を拡張するモジュールが出てくると思いますが、21と22の内蔵I2Cと、13と14のUART用端子を最低限搭載するのだと思われます。拡張してしまうとポートA相当が本体ではなく、拡張側の21と22になり、32と33はポートB相当の役割になります。
M5Stack BASICとの互換性
紅樹タカオさんの、ラズパイ好きの日記に詳しい比較がありました!
まとめ
私はM5StickC専門だったので、いまいちM5Stackがわかりません。徐々に調査しながら使い方を調べていきたいと思います。
コメント