基本的な機能は実現できたので、あとは実際の利用に合うようプログラミングを行う。基本的なロジックは、
- センサー部から200ms毎に送られてくる測距データを表示する。
- 7セグメントLEDは測距データを3桁の数字で表示する。但し超音波センサーの最大探知距離が 4mなのでそれより大きな値が来たときはエラーとみなし3桁ともマイナス(-)を表示する。
- RGB-LEDは距離に応じて色で表示する。また距離が短い場合は点滅表示を行う。これは7セグメントLEDを瞬間的に見た場合に読み間違いの可能性がある為である。
- センサー部からのデータが途切れた場合は7セグメントLEDはドットを表示し、RGB-LEDは消灯する。
RGB-LEDは各色8ビットの諧調つまり24ビットの表示能力を持っている。 3,ではこれについて最初に距離に応じた連続的な色変化を試したが、そうすると逆に変化が認識しずらい。また輝度が高い場合の明るさの変化も認識しずらい。そこで距離に従って色を決める事にした。5つのLEDは同じ色を表示させる。具体的には1m以上は青、1m~40cmは緑、それより近い所は赤を表示。各色の諧調は8程度で、距離が短いほど指数関数的に明るくなるようにした。さらに70cm以内では距離応じて点滅、距離が近いほど早く点滅するようにした。
4,ではタイマーを使ってセンサーからの信号が2秒以上来なかった場合に途切れたと判断している。
とりあえず当初の目標は達成したので、次はこれらを格納する箱探しを行う。
(終り)





0 件のコメント:
コメントを投稿