ベッドに敷かない「はかり式」の離床センサーを作っています(その4:完成!愛犬で実験)

これまで、ロードセルによる重さの測定、Ambientサーバへのデータのアップロード、Ambientからのデータの取得、IFTTT経由でのツイートと、必要なプログラムの部品を作ってきました。これらを組み合わせて、はかり式離床センサとしてプログラムを作りました。

はかり式離床センサの仕組み

仕様

基本
  • 人が居なくなってから、設定した時間(ディレイ)になっても戻ってこなかったら、いないことをIFTTT経由でツイート
  • 人が戻ってきたら、戻ってきたことをIFTTT経由でツイート
人がいる居ないを判定するため
  • 人がいると判断するしきい値を用意し、これを上回った人がいると判断
  • 人が居ないと判断するしきい値を用意し、これを下回ったら人がいないと判断
設定値を後から変更できるようにするため
  • 「人がいると判断するしきい値」「人が居ないと判断するしきい値」「ディレイ」は、Ambientのパラメータ用のチャネルから定期的に受信して更新する
  • 受信周期は5分毎とする
人がいるいないのしきい値が事前に不明なため
  • 定期的に測定した「おもさ」をAmbientのログ用のチャネルに送信し記録して、しきい値を決める参考にする
  • 送信周期は5分毎をする
Arduinoが長期動作で不安定にならないため
  • 1日ごとに再起動する(再起動してもいいタイミングならば)

プログラムを作る

Arduinoでプログラムを作りました。650行くらいのコード量でした。

実験

愛犬「エヴァ」ちゃんで正常に動作するかテストします。

ベッドの製作

床に、センサを置きます。

網を敷きます。

補強のためダンボールを載せます。

お気に入りの座布団を載せれば、特製離床センサ内蔵ベッドの出来上がり。

「おもさ」の変化を記録

一晩記録してみました。Ambientに記録された結果がこちら。

いろいろなデータが記録されていますが、青い線が「おもさ」のデータです。

18:00〜6:00くらいが、ベッドに乗っていない期間(途中の少し軽いのは網だけ)。
6:00〜15:00くらいが、ベッドに愛犬が乗って寝ている期間

これを見ると、ベッド自体の重さは1.5kgで、愛犬が乗ると最低6kgぐらいで、最大12kgぐらいになりました。愛犬の実際の重さは30kgくらいなので、1/5から1/3くらいの重さとして測定されています。ベッドの足が4本あるので、上に乗っている重さがそれぞれの足に分配されるので、実際に乗っている重さの1/4前後となるんでしょうかね。

ネット越しにパラメータを変更

初期状態のパラメータは

  • 人がいないと判断するしきい値:1kg
  • 人がいないと判断するしきい値:2kg
  • いなくなってからツイートするまでのディレイ:10秒

となっています。

一晩測定した結果から、パラメータを

  • 人がいないと判断する(Low)しきい値:1kg→2kg
  • 人がいないと判断する(Hi)しきい値:2kg→3kg

と、変更したいと思います。

ついでに

  • いなくなってからツイートするまでの(通知)ディレイ:10秒→300秒(5分)

に変更してみます。

初期値

現在のAmbientのパラメータのチャネルは、上の図のようになっています。初期のパラメータと同じです。

M5StickCの画面にも、「L:1.0 H:2.0 D 0:10」というように初期値のパラメータが表示されています。

パラメータの変更

ここで、Ambientの値を変更します。

  • 人がいないと判断する(Low)しきい値:1kg→2kg
  • 人がいないと判断する(Hi)しきい値:2kg→3kg
  • いなくなってからツイートするまでの(通知)ディレイ:10秒→300秒(5分)

Ambienにあるパラメータのチャネルを変更し、しばらく待ちます。はかり式離床センサは、5分毎にAmbientを参照するので最大5分は待ちます。

5分後

Ambientから新しい値を受信して、「L:1.0 H:2.0 D 0:10」から「L:2.0 H:3.0 D 5:0」とパラメータが更新されました!!

ツイートしてくれるか

ベッドに愛犬が乗ると、

「満」の絵文字と、その時間がツイートされました。

で、愛犬がベッドからいなくなると、

「空」の絵文字のツイートが、きっちり5分後にツイートされました。

ツイートの機能も正常に動作しています。

すばらしい

Ambient、IFTTT、Twitterと初めてのことばかりでしたが、これらを使って「はかり式」の離床センサができました。

ここまでは理論的なことなので進めるのは簡単。あとは、理論的でない世界でこのセンサーが受け入れられるかどうかです。

完成までの道のり

コメント