M5StackでPCA9685を使う方法がわかりません



  • こんにちは(^_^)

    M5StackにobnizOSをインストールしてHobbyライセンスで色々実験して楽しんでいるのですが、わからないことがあるので教えてください。

    Document>JS Parts Library>PCA9685 のページで

    var driver = obniz.wired("PCA9685", {scl:22, sda:21});
    var pwm0 = driver.getPWM(0);
    pwm0.freq(50);
    pwm0.duty(12);

    をtest runすると正常にサーボが動作するのですが、開発者コンソールで

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>obnizOS on M5Stack</title>
    <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
    <script src="https://unpkg.com/obniz@2.4.0/obniz.js"></script>
    <script src="https://unpkg.com/m5stackjs/m5stack.js"></script>
    </head>
    <!DOCTYPE html>
    <html>
    <body>
    <div id="obniz-debug"></div>
    <script>
    var obniz = new M5Stack(“xxxx-xxxx”);
    obniz.onconnect = async function () {
    var driver = obniz.wired("PCA9685", {scl:22, sda:21});
    var pwm0 = driver.getPWM(0);
    pwm0.freq(50);
    pwm0.duty(12);
    };
    </script>
    </body>
    </html>

    を実行すると下記エラーが出ます。

    Error: No More i2c Available.
    Object{message:No More i2c Available., url:https://unpkg.com/obniz@2.4.0/obniz.js, line:7864, colmun:11}

    どこを修正すればよろしいでしょうか?

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


  • administrators

    @JK さん

    I2Cが最大数使われていてこれ以上使えないエラーが出ています。
    obnizOS for ESP32ではI2Cが1本まで使えますが、
    m5stack.jsが内部で使用しているため、新しく使おうとするとエラーになってしまいます。

    これはobniz.wiredの書き方で、共通のi2cを使う設定ができますので、そちらで試していただけないでしょうか。

    obniz.wired("PCA9685", {i2c:obniz.m5i2c});
    


  • @kido 動きました!
    ありがとうございました。


 

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