AM2320を使用しようとするとi2cでエラーが発生する



  • 温湿度センサーのAM2320を繋いで値を取得しようとしています。
    しかしDeveloper’s Consoleのプログラムにそのコードを写して実行すると下記のエラーが発生します。

    Uncaught Error: No More i2c Available.
    Object
    message:"Uncaught Error: No More i2c Available."
    url:"https://unpkg.com/obniz@2.3.0/obniz.js"
    line:7791
    colmun:5
    error:Error
    

    実行しようとしているコードは下記の通りです。(obniz idは置き換えています)

    <html>
    <head>
      <script src="https://unpkg.com/obniz@2.3.0/obniz.js" crossorigin="anonymous"></script>
    </head>
    <body>
    
    <div id="obniz-debug"></div>
    <script>
    
    var obniz = new Obniz("XXXX-XXXX");
    var sensor = obniz.wired("AM2320", { vcc: 3, sda: 2, gnd: 1, scl: 0 });
      
    </script>
    </body>
    </html>
    

    JS Parts LibraryのAM2320のページの通りに接続して、そちらのページのTest Runを使うと値が取得でき正常に動作していますので接続などはできているのだと思われます。


  • administrators

    @Ryuichiro-Toyoshi さん

    お問い合わせありがとうございます。
    obniz.wiredはobnizとの接続が完了後のみ呼ぶことができます。

    obniz.onconnectを使用して、そちらの関数内で使用ください

    var obniz = new Obniz("XXXX-XXXX");
    obniz.onconnect = async function(){
      var sensor = obniz.wired("AM2320", { vcc: 3, sda: 2, gnd: 1, scl: 0 });
    }
    


  • ありがとうございます。解決しました。