はじめに
M5Stackで複数のセンサを一緒に使いたい!
PaHUB(M5Stack用Port A I2C拡張ハブユニット)を使いたい!センサとの通信はI2C!
それを、UIFlowで実現したい!
そう思った時に、少し困ったので、使い方をまとめておきます。
UIFlowでも、やったことがある人は当たり前かもしれないですが、ちょっとネット上にも情報が少ないような気がしたので、メモがてら。
👇今回使用するPaHUB(M5Stack用Port A I2C拡張ハブユニット)
ひとつのI2C HY2.0-4Pインターフェースを最大6チャンネルのI2Cに拡張/接続できる拡張ハブです。
まずは確認する公式ドキュメントなのですが
👇まずは、公式ドキュメントを確認します
UnitによってUIFlowのサンプルがあるものとないものがあるような気もしますが、PaHUBに関しては以下のようなサンプルが準備されています。
サンプルを参考にUIFlowで複数のUnitを使っていきたいのですが、分からない(笑)
ぱっと見で複雑に感じたのですが、詳しく見ても自分には更に分かりませんでした。
これでは、とても簡単にセンサを扱えていたのに、これは良くないなと思い、
簡単に使えるようにちゃんと準備されていた
公式ドキュメントでは分からなかったのですが、実は簡単に使用することができました!
PaHUBの追加
その他のUnitと同様に追加することができます。現時点では、『port』とI2Cの『Address』を設定できます。PaHUBは、デフォルトでは、「0x70」なので、このまま使用できます。
その他のUnitを追加
今回は、よく使われそうな環境センサ(ENV Unit)を例に話を進めます。
『port』の選択に、『PAHUB』が準備されているので、こちらを選択します。
『port』で、『PAHUB』を選択すると、次に、『PAHUB』のどのチャンネルを使用するかを選択できるようになります。PaHUBは、全部で6チャンネル用意されていますが、こちらでどのチャンネルにこのUnitを接続するのかを設定することが出来ます。
上記のような手順でUnitを追加していくことで、あとは普通にUnitを追加した場合を同じようなブロックで制御できます。とても簡単に使えて助かりました。ただ、ネットを調べるとあまりこの辺りの情報が少なくて、ハマりポイントの1つかと思います。
その他の注意事項
M5Stack用温湿度気圧センサユニット Ver.3(ENV Ⅲ)はI2Cアドレスが被っているので注意!
内部で使用している気圧センサQMP6988のI2Cアドレスが、[0x70]なので、PaHUBを被ってしまい、そのままでは使用することができません。その場合は、PaHUBの基板でPaHUBのI2Cアドレスを変更できるので、こちらを変更することが可能です。
まとめ
複数のセンサを一緒に使いたい場合は多くあると思うのですが、これもUIFlowで簡単に使用できるようになるので、更に試せることが多くなると思います!是非、参考に!