Translate

2019年3月14日木曜日

超音波センサHC-SR04をDonkey Carで使う


前方障害物との距離をはかりたくて、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 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...