距離センサーのループ方法



  • 距離センサーのHC-SR04を使って、距離の変化を待ち合わせ、ある範囲の距離を検知した時に特定処理を実行したいのですが、どのように書けばよいでしょうか。特定処理実行後は、再度距離の変化を待ち合わせるようなループにしたい。

    下記のようなパーツライブラリのサンプルの動作までは試しました。

    // Javascript Example
    var hcsr04 = obniz.wired("HC-SR04", {gnd:0, echo:1, trigger:2, vcc:3});
    hcsr04.measure(function( distance ){
    console.log("distance " + distance + " mm")
    })


  • administrators

    @Google-Homer 定期的に計測をして、範囲を調べることになります。

    var hcsr04 = obniz.wired("HC-SR04", {gnd:0, echo:1, trigger:2, vcc:3});
    function measure() {
      hcsr04.measure(function( distance ){
        if (100 < distance && distance < 1000) {
          console.log("in")
        }
      setTimeout(measure, 1000); // every 1 sec
      })
    }
    measure();
    

    このようになります。
    HC-SR04は計測の指示を出さないと計測しないタイプなので、もし高速に計測されたい場合で、ガラスなどが測れなくても良ければ

    https://obniz.io/sdk/parts/GP2Y0A21YK0F/README.md?iframe=false

    の方がより高速に計測できます。



  • ありがとうございました。
    HC-SR04で教えてもらった方法でできました。


  • administrators

    @Google-Homer よかったです!


 

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