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