io:animationの使い方



  • ステッピングモーターを制御する簡単なプログラムを書こうとしています。
    io:animationを使って回転を制御するのですが、io:animationの使い方がわからない部分があります。

    プログラムの概要
    web画面に、"clockwise"、"counter"、"stop"という3つのボタンがあり、それらを押すと"時計回り"、"反時計回り"、"停止"という動作をする。

    プログラムの主要部は次の通り:
    var clockwiseAnimation = [ 時計回りのanimation定義 ];
    var counterAnimation = [ 反時計回りのanimation定義];

    obniz.io.animation("clockwise", "loop", clockwiseAnimation);
    obniz.io.animation("clockwise", "pause");

    obniz.io.animation("counter", "loop", counterAnimation);
    obniz.io.animation("counter", "pause");

    $('#clockwise').click(function () {
    console.log("clocwise");
    obniz.io.animation("counter", "pause");
    obniz.io.animation("clockwise", "resume");
    });

    $('#counter').click(function () {
    console.log("counter");
    obniz.io.animation("clockwise", "pause");
    obniz.io.animation("counter", "resume");
    });

    $('#stop').click(function () {
    console.log("stop");
    obniz.io.animation("clockwise", "pause");
    obniz.io.animation("counter", "pause");
    });

    質問

    1. 現在のプログラムでは、animationを定義するときに
      obniz.io.animation("clockwise", "loop", clockwiseAnimation);
      obniz.io.animation("clockwise", "pause");
      というように、"loop"直後に”pause"を行なっていますが、一瞬動きそうで気持ち悪いコードになっています。この部分は他の書き方ができるでしょうか。

    2. もし2つのanimationを同時にresumeしてしまった場合、何が起きるのでしょうか。
      obniz.io.animation("clockwise", "resume");
      obniz.io.animation("counter", "resume");


  • administrators

    @FUKUI-SHINGO 返信が遅くなってしまいすいません。

    質問1 について

    他の書き方がないので、アニメーション設定時にpauseの状態で設定できる機能を追加しようと思います。

    質問2について

    アニメーションが2つある場合は2つ同時に動きます。それぞれ同じIOを操作している場合、競合することがあります。



  • 回答いただきありがとうございます。
    pause状態でanimationを定義できるといいですね。

    ステッピングモーターを制御する場合、現在のanimation機構だと使いにくい部分がもう1つあります。

    ステッピングモーターを使う多くの場面では、モーターを何度回転するかを正確に制御したい場合が多いです。その場合、animationで指定したIOシーケンスを「1回だけ」とか「n回」とか回数を指定して実行する必要があります。

    現在のanimation機構だと実行回数を指定できないので、上記のようなプログラムを書けません。
    実行回数を指定してanimationを起動できると嬉しいです。


 

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