M5Stack 非接触温度センサユニット(U028)

概要

非接触の赤外線温度計ユニットの紹介です。

商品

コネクタが赤なので、I2C接続になります。

上記が取り扱いストアで、今の時期は世界的に部品の供給不足みたいです。あと、M5Stackのユニットですが最近値段が上がっています!

スイッチサイエンスさんが取り扱ったときには13ドルでしたが、現在は19.95ドルに値上げされています。このユニットだけではなく全般的に値段調整されています。

特記事項としてDigi-Keyはなぜか安いですし、在庫があります!

MLX90614というセンサーを使っています。このセンサーが品薄みたいですね。-70度から380度まで測定できるようです。

こちら側がセンサーになります。非接触ですが、ピンポイントのレーザーではないので結構近づけないと広範囲の温度を拾ってしまいます。

スケッチ例

#include <Wire.h>
#include <Adafruit_MLX90614.h> // http://librarymanager/All#Adafruit_MLX90614_shop https://github.com/adafruit/Adafruit-MLX90614-Library
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
  Serial.begin(115200);
  delay(100);
  Wire.begin(32, 33); // M5StickC
  mlx.begin();
}
void loop() {
  Serial.print(mlx.readAmbientTempC()); // 環境温度
  Serial.print(",");
  Serial.print(mlx.readObjectTempC());  // 物質温度
  Serial.println();
  delay(100);
}

公式スケッチ例はライブラリを利用せずに、直接I2Cでコマンドを投げていました。。。

さすがに使いにくいので、Adafruit_MLX90614を利用させていただきました。このライブラリなのですがよく似たAdafruit_MiniMLX90614という、古いライブラリもあります。ややこしいのでやめてほしい。。。

いろいろ内部データは取得できるのですが、環境温度と対象温度の2種類を利用します。

上記みたいなグラフが取れました。実際のところ体温を取得するためには補正が必要だと思います。かなり近づけると温度があがりますが、対象の物体によって反射率みたいのが違うらしく、少し低くでるはずです。

それよりもより精度の高いPIRセンサーとして使ったほうが面白いかもしれません。結構遠くでも熱源があると数値が変わります。

絶対的な温度計として使うには、同じような非接触赤外線温度計と数値を比べてみて、補正してあげた方がよいと思います。

まとめ

単品のセンサーだけでも結構値段が高いので、手が出にくいセンサーです。私もDigi-Keyの価格でなければ購入しませんでした。といいつつ、かなり安いので2個購入してしまったので、そこそこ高くなっています(笑)

コメント