最近は M5Stack のセンサーユニットをいろいろ試している感じになってますが、今回は非接触温度センサを試してみました。何かアイディアがあるわけではないのですが、いろいろと応用範囲が広そうかなと思っています。

M5Stack への接続
ユニットの裏面を見ると、 PORT.A.I2C ということで、 M5Stack の Grove コネクタの A ポートに接続すれば良いということがわかります。

なので付属の Grove ケーブルを使って M5Stack 本体左側の Grove コネクタに接続します。接続はこれだけで OK です。

UIFlow でのサンプル実装
UIFlow でサンプルを実装してみます。まずはユニットを追加するために、エミュレータ下の + ボタンをクリックします。

ユニットのリストから、 NCIR を選択し、ポート選択のプルダウンからは A を選択して OK をクリックします。

すると UIFlow に NCIR ユニットが追加されます。

Units メニューには NCIR メニューが追加され、センサーからの値を読み取るためのブロックが使用可能になります。

このブロックを使ってサンプルを実装してみます。やってることはシンプルで、1秒ごとにセンサーの値を画面に表示するだけです。

動作確認
これを実機で動作させると、下記写真のようにセンサーで取得した温度情報が画面に表示されます。

試しにコーヒーの温度を測ってみると下記のような感じになりました。

動体検知の動作確認
先ほどのサンプルの待ち時間を 1秒間 から 0.1秒間 に変更すると、センサー前を人が横切った時などに検知できるようになります。動作確認の様子は下記の通りで、人の身体がセンサー前を横切った時に検知温度が高くなります。
まとめ
温度情報を取得するところまでは、センサーの接続から含めて超お手軽にできてしまいました。温度情報をそのまま使うだけでなく、動体検知もできるので、使用用途を考えてみたいと思います。