M5StickC ENV HatのDHT12が、I2C通信エラーで読めない



  • M5StickC ENV Hatを購入したので、Node.jsでDHT12の温度データを取得しようとしていますが、必ずI2C通信でエラーになってしまいます、
    原因の推定や確認ポイントなどアドバイスご教授いただければと
    思います。

    エラー
    message: 'i2c0: writing error. Communication Failed. Maybe, target is not connected.'
    i2Cでの通信ができていないようです。

    Node.jsコード
    const Obniz = require("obniz");
    const obniz = new Obniz("-");
    obniz.onconnect = async function () {
    var ret;
    const device = obniz.wired("DHT12",{vcc:0, gnd:1, scl:2, sda:3, address:0x5c});
    obniz.setVccGnd(0, 1, '5v');
    ret = await device.getAllDataWait();
    console.log(ret);
    }
    ※wired までは問題なく、getAllDataWaitがエラーになります。
    ※スレーブアドレスは、明示的に0x5cと入れています。
    ※3.3Vをつくるため、obnizから5V出力

    配線は、以下を参考に
    https://forum.obniz.io/post/159

    https://docs.m5stack.com/assets/img/product_pics/hat/env_hat/env_hat_04.jpg

    3v3 <-- vcc:0 (obnizの5V出力から抵抗分圧して3.3Vを入力)
    GND <-- gnd:1
    G26 <-- scl:2
    G0 <-- sda:3
    電圧は実行するたびに正しく3.3Vが印加されているのを確認すみ

    DHT12のライブラリに問題があるかと思い、
    Lessonsー>obniz js SDK の基礎 の「I2C: マスターとしてデータを読み書き」のようにI2C通信しても同じエラーでした。

    const myI2C = obniz.getFreeI2C();
    myI2C.start({mode:"master", vcc:0, gnd:1, scl:2, sda:3, clock:100000, address:0x5c});
    obniz.setVccGnd(0, 1, '5v');
    var ret = await myI2C.readWait(0x5c, 5);
    console.log(ret);
    ※やはりstart までは問題なく、readWaitの処理でエラーになっています。

    よろしくお願いします。


 

Recent Projects

  • @nak435 かしこまりました。よろしくお願いします。

    read more
  • @Yuki-Sato さん、

    外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    今週末に確認しますので、お待ちください。

    read more
  • @nak435 時間がかかってすいません、

    なんとか3.3vをgndにつないでFlick Largeを動かしたかったのですが、うまく動かすことができなかったです。
    3.3vをgndを繋がずに接続するというのはライブラリで推奨して伝えることは難しいと思ってます。

    Flick LargeでなくFlick Hatの方で、外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    よろしくお願い致します。

    read more
  • @nak435 ありがとうございます。
    接続は3.3vのgnd以外同じでした。
    エラーはそのせいかもしれませんが、しかし電気的にはgndを繋がない場合3.3vとしてうまく供給できないはずなのでそこが不思議です。

    教えていただいたプログラムの部分を修正して試してみたいと思います。
    また少し時間がかかりそうなのですが、早めに試したいと思います。

    引き続きよろしくお願い致します。

    read more