ぴっぴちゃんで、I2Cのお勉強 🐰✨️ #M5Stack初心者 #スタックチャン #電子工作

最初は、センサーモジュールが全く反応せずに途方に暮れた。普通、I2Cでデバイスにアクセスするには、各デバイス用に作られたライブラリーを使うらしい。
でも、それだと勉強にならないので、ネットで調べたら、『I2C Scanner』を動かすと、I2Cバスに接続されているデバイスの一覧が取得出来るらしい。直接接続するために、Wire.h をインクルードして、Wire 経由でアクセスする形になっていた。
M5Stack Core2 の場合、I2Cポートが2つあるらしい。『Core2 for AWS のスペック表』を見ると、
① 内部バスはデータが GPIO21クロックは GPIO22
② 外部バスは PortA のデータが GPIO32 クロックは GPIO33
となっていた。
① に接続された内蔵デバイスの一覧を取得するには、setup( ) 内に Wire.begin(21,22) と書いて、loop() に一覧を取得するコードを、先の I2C Scanner からコピペして、実行する。
② に接続されたデバイス一覧を取得するには、setup( ) 内に Wire.begin(32,33) と書いて、一覧を取得する。
実験する場合、まずは、① が見れる様にがんばる。それが出来たら、② も出来たも同然。② で一覧が取れないときは、配線やデバイスがおかしいと判断出来る、はず。
追記:
後で分かったんだけど、Wire を使うと、どこかで delay( ) が使われているっぽい。なんか、そのタスクが止まってしまっている。使えねぇ、,,