2025年12月5日金曜日

超音波距離計(その5)

 基本的な機能は実現できたので、次に実際の利用に合うようプログラミングを行う。基本的なロジックは、

  1. センサー部から200ms毎に送られてくる測距データを表示する。 
  2. 7セグメントLEDは測距データを3桁の数字で表示する。但し超音波センサーの最大探知距離が 400cmなのでそれより大きな値が来たときはエラーとみなし3桁ともマイナス(-)を表示する。またセンサーがエコーを捉えられなかった場合は下線(_)を表示する。
  3. RGB-LEDは距離に応じた色を表示する。また距離が短い場合は点滅表示を行う。これは7セグメントLEDを瞬間的に見た場合に読み間違いの可能性がある為だ。
  4. センサー部からのデータが途切れた場合は7セグメントLEDはドットを表示し、RGB-LEDは消灯する。

RGB-LEDは各色8ビットの諧調つまり24ビットの表示能力を持っている。 3,ではこれについて最初に距離に応じた連続的な色変化を試したが、そうすると逆に変化が認識しずらい。また輝度が高い場合の明るさの変化も認識しずらい。そこで距離に従って色を決める事にした。5つのLEDは同じ色を表示させる。具体的には100cm以上は青、100cm~40cmは緑、それより近い場合は赤を表示。各色の諧調は8程度で、距離が短いほど指数関数的に明るくなるようにした。さらに70cm以内では距離応じて点滅、距離が近いほど早く点滅するようにした。また緑は輝度が高いので値を約半分に抑えるようにしている。

4,ではタイマーを使って監視し、センサーからの信号が2秒以上来なかった場合に途切れたと判断している。





とりあえず当初の機能目標は達成したので、これらを格納する箱探しを行った。

一応百均で大きさの合いそうな物を探した。表示部はディスプレイケースを加工したが下部の長さが不十分でコネクタを挿すとはみ出すため更なる工夫が必要だ。センサー部はスリムボックスを切断、底に21mmの穴を開けてセンサー用の窓とし倒して使うようにした。横にマグネットが付いているので場所を移動し、そのまま金属に付けられるようにしている。一方こういった箱に入れると若干感度が低下するようで(近距離の感度には問題ない)、回り込みを防ぐために吸音材を入れたりしたが効果はイマイチだった。

 


(終り) 


 



0 件のコメント:

コメントを投稿