obnizのフォーラムは新しいシステムに移行しております。
新しいフォーラムはこちらになります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/159https://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の処理でエラーになっています。よろしくお願いします。