ハードシリアルの0,1番ピンをセンサーモジュールとの接続に使っているのでソフトシリアルで2,3番ピンあたりを開く。
あとはTX,RXとGNDを対向のものにつなぐ。PCだと(普通は)シリアル接続の口がないのでUSBシリアル変換モジュールを間にはさむ。なお、USBシリアル変換モジュールでも多少の給電はできるけどNDIRセンサーを動かすには電力不足なので主電源は通常のUSB差込口になる。
なお、MHZ19のエラーが出たときにライブラリはハードシリアルにメッセージを出すようになっています。ハードシリアル上書きしているのでライブラリ書き換えないとメッセージは拾えません。
#include <Wire.h>
#include <SoftwareSerial.h>
#include <MHZ19.h>
#define SRX 2
#define STX 3
MHZ19 myMHZ19;
SoftwareSerial softSerial(SRX, STX);
void setup()
{
Wire.begin();
delay(1000);
softSerial.begin(9600);
delay(100);
Serial.begin(9600);
delay(100);
myMHZ19.begin(softSerial);
myMHZ19.autoCalibration(false);
delay(1000);
}
int co2 = 0;
void loop()
{
co2 = myMHZ19.getCO2();
Serial.println(co2);
delay(1000);
}