🦁
M5Stack BasicとCore2用ポート拡張モジュールでIOを使う
1. 概要
フローセンサ3つ(デジタル入力でパルスの数を計測)を使用することになったのでM5Stackを使ってみました。
理由は、
- センサからの入力があるかが確認しやすい
- コネクタで抜き差ししやすい
からです。
M5Stack Basic(LCDがあるので値を確認しやすい)にCore2用ポート拡張モジュール(Grove用ケーブルで接続できる)を使ってGROVEコネクタで接続できるようにしました。
初めてM5Stackを使うので使えるIOなどが分からずちょっと詰まったのでメモ。
2. 機材
GROVEケーブルは信号線が白と黄色2本ありますが、フローセンサ1つにケーブル1本をつなげたいので黄色1本のみを使用する想定です。
3. GROVEポートの確認
M5Stack BasicにはPORT-Aがあり、拡張モジュールをつけるとB、C、D、Eが使えるようになる
Port名 | 白 | 黄 | 赤 | 黒 |
---|---|---|---|---|
PORT-A(RED) | G22(I2C) | G21(I2C) | 5V | GND |
PORT-B(BLACK) | G36 | G26 | 5V | GND |
PORT-C(BLUE) | G13 | G14(LCD CS) | 5V | GND |
PORT-D(LIME GREEN) | G34, G22, G3 | G35, G21, G1 | 5V | GND |
PORT-E(YELLOW) | G27(LCD R/S), G2, G0 | G19(SD MISO), G25(Speaker), G2 | 5V | GND |
- D, EはDIPスイッチで切替可能
とはいえ、いろいろなピンと共用されているので、そのまま使おうとしても使えないことが多かった。
4. 各種機能の無効化
上記のドキュメントを参考に、LCD以外のSDカード、I2CをOFFにした。
M5.begin(true, false, false, false); /// void begin(bool LCDEnable=true, bool SDEnable=true, bool SerialEnable=true,bool I2CEnable=false);
これでPORT-Aが使えるようになり、PORT-Bももともと使えたので問題なく、PORT-CはLCDに使っているので使えず、PORT-DはG35で使用可能でした。
ただPORT-EについてはG19もG2も何故か使えず。G25は使えたけどスピーカーから入力値の大きさに応じた音が出るので使わずです、、。
結局PORT-A(G21)、PORT-B(G26)、PORT-D(G35)の3ポートを使用しました。
PORT-Eについてはよく分からず。なにか分かれば更新します。
Discussion