前方障害物との距離をはかりたくて、HC-SR04をRaspberry Piに接続し、Donkey Carのパーツクラス化してみた。
[GitHub] coolerking/donkeypart_hc_sr40
※インストール方法や使い方は上記リポジトリのREADME.mdを参照のこと。
このセンサ、5VとGND以外は、デジタルピンのままで使用できるのが良いのだけど、以下の仕様通りにGPIOを操作してやらないといけない。以下の記述は、購入元のスイッチサイエンス社サイトに掲載されていた。以下、引用する。
- トリガ端子を10 us以上Highにしてください。
- このセンサモジュールが40 kHzのパルスを8回送信して受信します。
- 受信すると、出力端子がHighになります。
- 出力端子がHighになっている時間がパルスを送信してから受信するまでの時間です。
- 出力端子がHighになっている時間の半分を音速で割った数値が距離です。
トリガはTrigピン、出力端子というのがEchoピンです。
引用を要約すると、Trigピンに所定の値でOUTPUTして、Echo受信状態(HIGH)になったらLOWになるまでの時間を計測して、往復しているので2で割り、最後音速を使って自分で距離にしてね、ということ。
このような場合こそpigpioパッケージの指定ピンに対するコールバック関数機能が有効です。
最初に記述したリポジトリのコードは
pigpio python サンプルコードの「SonarRanger」をもとに書いたものです。
この超音波距離計即センサ、pigpioパッケージでコールバック関数をどう使うかを学習するのに最適。
この系統の処理なら、pigpioのほうがコード数が少ないと思いますよ。
0 件のコメント:
コメントを投稿