先日ENV IIの後継版、ENV IIIが登場した。
スイッチサイエンスでは旧版在庫がなくなった為、後継版のみ販売となった。
しかし、大体の既存記事がENV II前提ですので、変更点のメモ。
ENV IIとENV IIIの違い
- 温湿度センサ:SHT30(共通)
- 気 圧センサ:BMP280→QMP6988に変更
- 動作温度範囲:0~60℃→0~40℃に変更(Operating temperature→Working temperatureに表現も変わってます)
同じモバイル用絶対気圧の気圧センサだが、別物。要注意。
コード記述上での注意点
※注意※(2022/07/30 追記)
記事制作時、M5StackをArudino IDE + Javaで弄っておりました。他環境・言語の方は適宜読み替えて下さい。
ライブラリ
以下のGitHubのsrcフォルダ内より、QMP6988.h,QMP6988.cppの2ファイルのみ、または、フォルダ内一式を入手し、""でincludeする。
新規で書き起こす
QMP6988以外にもSH3Xも一緒にinclude出来るフォルダ内一式入手後に"UNIT_ENV.h"でincludeが簡単でオススメ。
記述例
//ENV_II_III_共通
#include <Adafruit_Sensor.h>
#include "UNIT_ENV.h"
SHT3X sht30;
QMP6988 qmp;
float tmp = 0.00;
float hum = 0.00;
float pressure = 0.00;
既存(ENV IIでのコード)の書き換えなら
QMP6988.h,QMP6988.cppを入手し、"QMP6988.h"でincludeがオススメ。
(変更前)
include周辺
ENV_II版
//ENV_II_III_共通
#include <Adafruit_Sensor.h>
#include "SHT3X.h"
SHT3X sht30;
float tmp = 0.00;
float hum = 0.00;
//ENV.II用
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bme;
float pressure = 0.00;
↓
ENV_IIIに変更後
//ENV_II_III_共通
#include <Adafruit_Sensor.h>
#include "SHT3X.h"
SHT3X sht30;
float tmp = 0.00;
float hum = 0.00;
//ENV.III用
#include "QMP6988.h"
QMP6988 qmp;
float pressure = 0.00;
setup内やloop内の変更点
ENV_II版
void setup(){
// Setup ENV II Unit SHT30 and BMP280
bme.begin();
}
void loop(){
// Read ENV II Unit SHT30 and BMP280
pressure = bme.readPressure()/100;
}
↓
ENV_IIIに変更後
void setup(){
//ENV.III QMP9688用
qmp.init();
}
void loop(){
//ENV.III QMP6988用
pressure = qmp.calcPressure()/100;
}