Edited at
M5StackDay 15

M5StackとNCIRモジュールで、飲み物の覚めすぎを防止する

この記事はM5Stack Advent Calendar 2018の15日目の記事になります。


はじめに

冬の作業のお供はあったかい飲み物なのですが、冷めたお茶などを電子レンジで温めなおした際に、少々あたためすぎたりします。

で、冷めるまでと思って作業をしていたら、いつの間にか飲み物のことを忘れて覚めすぎていた ⇒ 振出しに戻る ってことがままあります。

これを防ぐ方法をM5Stackで簡単に実現する方法を考えてみます。


実現方法

最近、M5Stackから続々とGROVE互換インターフェイスのユニットが発売されています。その中に、赤外線をつかった非接触温度センサーユニットである、NCIR Unitがあります。

image.png

これをM5Stack Fireに取り付ければ簡単に物体の表面温度を測ることができます。

M5Stack FireとNCIRユニットはレゴで簡単に取り付けられますので、ささっとデバイスが作れてしまいます。

image.png

これでコップの液体があるあたりの表面温度を観測しておけばコーヒーの冷めぐわいもわかるかと思います。


アプリケーション

M5StackにNCIRユニットから定期的に取得した値を表示します。センサーからは環境温度と物体温度が取得できます。[A] が環境温度(Ambient temperature)で、[O]が物体温度(Object temperature)です。

image.png

次に、Aボタンを押すことで、現在の物体温度を目標値として保存します。

image.png

Bボタン/Cボタンを押すことで、保存した目標値を±1℃ずつ変更させることができます。

image.png

値を決めたら、再度Aボタンを押すことで観測開始となります。

現在の物体温度が目標値を下回った際に、ブザーを再生させます。

これで、飲み物が覚めすぎる前に気づくことができます。

作成したコードはこちらになります。

センサーからの値取得は、AdafruitのMLX90614ライブラリを使用し、Platform I/Oを使って開発しています。


最後に

実際にコップを測定する場合、M5Stackの固定が問題になりますが、今回は100均の紙粘土を使って対応しました。

実際の様子はこちらになります。

image.png

実際につくってみると、いろんなものを測りたくなってきました。やはり、簡単に組み立てられるのがいいですね。

今後は、非接触温度センサーの使い道をいろいろ考えてみたいと思います。