obnizで水位を知るレーザーセンサー

モルモットの給水ボトル。水が少なくなったら通知する仕組みをobnizで作りました。水位センサーは使わず、レーザーと感光センサーを利用しています。

光の屈折で水位を知れる?

衛生面が気になり、水にセンサーを入れず、水位を知る方法を考えます。

方法としては、ボトルの重さを測ったり、画像認識で解析したり、光で測ったり・・・いくつかありそうです。

今回は最も簡単そうな、レーザーと感光センサーを用いる方法を試します。

光の屈折を利用します。

水が入っている状態のボトルでは、レーザーが屈折して、感光センサーに光が当たらないようにします。

そして水がなくなったら、レーザーが直進して感光センサーが反応するようにします。

水位確認レーザーセンサー

目論見通りに水位を測れるか、まずは試作してみます。

obniz、レーザー、受光センサー、そして家にあった木材やネジで組み立てました。

レーザーは水位を測る時、瞬間的に照射すればよいので、通常はOFFにしています。

タイマーで10分毎にレーザーを放ち、計測するようにしました。

ボトルの水がなくなったとき

実際の挙動です。ボトルの水が少ない状態。

レーザーを0.1秒照射して赤く光った後、ブラウザに「水がないよ!」という通知が来ました。

ちなみに音声で「水がないよ!」と、しゃべっています。

水を補充したら

今度はボトルに水を入れた状態です。

レーザー照射後、ブラウザの表示が「水あるよ」に戻りました。

obnizの配線とコード

obnizボードの配線は下記のようにしました。

IO 6ピン・・・レーザーVCC
IO 8ピン・・・レーザーGND
IO 9ピン・・・感光センサーVCC
IO10ピン・・・感光センサーGND
IO11ピン・・・感光センサーデジタル入力

試作したHTMLでは、音声通知にWeb Speech APIを使っています。

実運用ではブラウザのタイマーより、obnizのサーバレスイベントに登録して実行したほうが良いでしょう。

ただ、サーバレスイベントだと当然、Web Speech APIは使えません。

代案として、IFTTTで水が少なくなったらLINEに通知する方法や、obnizボードに直接ブザーを付けて鳴らす方法などが考えられます。

自分のライフスタイルに合わせ、気づきやすい方法で知らせるのが良いかと思います。

モルモット自身も教えてくれる

最後に余談ですが、モルモットは何か欲しい時、「キューイ!キューイ!」と大きな声で鳴きます。

在宅中はブザーがなくても、水がないことをモルモット自身が教えてくれるかもしれません・・・。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)