前回 MH-Z19B を使った持ち歩きできる CO 2 センサーを作りました。 このセンサーは24時間で最低の CO 2 濃度を 400 ppm とみなす、という自動0点補正の機能が、出荷時に ON になっています。 しかし、持ち歩いて使うときだけ電源を入れる使い方をすると、 CO 2 濃度がめったに外気と同じにならないということもありそうなので、自動校正を OFF にしたいと思いました。 MH-Z19B のマニュアル を読んで、自動校正 OFF のプログラムを書きました。 #include<SoftwareSerial.h> #include<Wire.h> #include<Adafruit_GFX.h> #include<Adafruit_SSD1306.h> Adafruit_SSD1306 display(-1); SoftwareSerial MHZ19Serial(A0, A1); byte Request1[9] = {0xFF, 0x01, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86}; byte Request2[9] = {0xFF, 0x01, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78}; void setup() { MHZ19Serial.begin(9600); Serial.begin(115200); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); } void loop() { MHZ19Serial.write(Request1, sizeof Request1); delay(100); //念のため delay 入れた。たぶんいらない。 MHZ19Serial.write(Request2, sizeof Request2); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0, 0); displ...