M5Stack I/Oエクステンダーユニット

概要

日本未発売?シリーズです。8ポートのI/O拡張ユニットです。I2C接続でINPUTもしくはOUTPUTの指定が可能です。

いまは在庫切れでして、このままEOLになる可能性?もあります、、、

PCA9554PW

内部で利用されているチップです。

おそらく上記がデータシートです。ちょっとマイナーなチップでしてArduinoで標準的なライブラリがありません。

商品

コネクタが赤なのでI2Cですね。そしてEXT.IOと名前のブレがあるのがM5Stackの特徴です。

裏側にピンの配置が書いてあります。こっちはEXTEND I/Oになっていますね。

ピンは一般的なヘッダピンでした。

スケッチ例

#include <TCA9534.h>  // http://librarymanager/All#TCA9534 https://github.com/hideakitai/TCA9534

TCA9534 ioex;
const uint8_t IOEX_ADDR = 0x27;

void setup()
{
  Serial.begin(115200);
  delay(2000);

  Wire.begin(32, 33);

  ioex.attach(Wire);
  ioex.setDeviceAddress(IOEX_ADDR);
  ioex.config(TCA9534::Config::IN);
  //ioex.polarity(TCA9534::Polarity::INVERSE);

  Serial.print("config  : ");
  Serial.println(ioex.config(), HEX);
  Serial.print("polarity: ");
  Serial.println(ioex.polarity(), HEX);
}

void loop()
{
  for (int i = 0; i < 8; i++) {
    uint8_t raw = ioex.input(i);
    Serial.print(raw != 0);
  }
  Serial.println();
  delay(1000);
}

PCA9554PWのライブラリはありませんので、互換性がありそうなライブラリを探したところ、TCA9534が使えそうでした。

ピンごとにINPUTかOUTPUTを設定して、状態の設定と取得が可能です。使い方はシンプルですね。

まとめ

個人的には近い内にEOLになるのではと思っています。同じようなユニットとしてPbHubがあるので、あちらの方がGroveコネクタになっているので使いやすいとは思います。

コメントする

メールアドレスが公開されることはありません。

管理者承認後にページに追加されます。公開されたくない相談はその旨本文に記載するかTwitterなどでDM投げてください。またスパム対策として、日本語が含まれない投稿は無視されますのでご注意ください。