MLX90614 thermal sensor(M5stack)

センサーシリーズの第三段目の赤外線温度センサー。この際、センサー種類を切り替える都度ソフトダウンロードが面倒なので、複数のセンサー(今現在、レーザー距離計、熱中症アラームセンサーと赤外線温度センサー)に対応できるようにコードを書き換え。

具体的にはsetup()処理の中で、センサーの初期化コマンドを出して正常にレスポンスが返って来たものをターゲットにして、loop()処理中で呼び出す処理を振り分けします。以下はsetup()処理だけ切り出し、

void setup(void)
{
  M5.begin();             // Init M5Stack
  M5.Power.begin();       // Init power  
  Wire.begin();           // Wire init, adding the I2C bus.
  Serial.begin(115200);

  if (setup_dist() == 1){
    dev_id = 1;
  } else if (setup_env() == 1){
    dev_id = 2;
  } else if (setup_thermo() == 1){
    dev_id = 3;
  }
  else{
    while(1){
      sensor_error();
      delay(1000);
    }
  }
}

温度センサーはライブラリ、

https://github.com/adafruit/Adafruit-MLX90614-Library

をダウンロードして使用。

使ってみた感じは、非接触ではあるけれどもターゲットにかなり近寄らないときちんとした値が取れないようです。

————————

P.S. 2022/11/24

MLX90614には視野角で何種類かあって、このモデルはおよそ90度なのでその視界に入るオブジェクトの平均値が表示されるからです。

————————

こんな感じに、

全体のコードは以下のリンクで、

https://github.com/chateight/multi_sensor_hdl

 

admin