obniz.oncloseでのサーボモータを初期角度にしたい



  • obnizにサーボモータを接続しています
    ゴミ箱の蓋の開け閉めを想定し、以下のような動作を実装したいです

    1. 初期は0度
    2. ボタンを押すと90度
    3. 終了時は0度に戻る

    「3」を実装するため、oncloseでservo.angle(0)としていますが、サーボモータの応答の遅延のせいか、0度に戻りません。
    obnizのプログラムの工夫などで、0度に戻す方法はございますでしょうか?


  • administrators

    @Mamoru-Kashiwagi さん

    oncloseはobnizとの接続が切れた直"後"に呼ばれますので、そこでobnizに対する指示(サーボモーターの角度変更)を行うことはできません。

    たとえば、Closeボタンを作り、そこが押されたときに終了処理(サーボモーターを0度にする)を行い、obnizとの接続を切る というのはいかがでしょうか。

    サプルプログラム

    <!-- HTML Example -->
    <html>
      <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
        <script src="https://unpkg.com/obniz@2.0.3/obniz.js"></script>
      </head>
      <body>
    
        <div id="obniz-debug"></div>
        <button id="close">close</button>
    
        <script>
          var obniz = new Obniz("obniz_id");
          obniz.onconnect = async function () {
            var servo = obniz.wired("ServoMotor", {gnd:0, vcc:1, signal:2});
            servo.angle(90); 
    
            $("#close").on("click",async function(){
              servo.angle(0);
              await obniz.wait(100);//応答待ち
              obniz.close();
            })
          };
        </script>
      </body>
    </html>
    

 

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