(1)前提
私は arduino に”PIM569(ガスセンサMICS6814)”を用いてI2C接続により空気環境の測定を行う計画をしています。
(2)目標
現在の目標はシリアルモニタに検出値を出力する事を目標にしています。
(3)問題点
https://www.arduino.cc/から ”Mics6814 i2c”ライブラリを入手しスケッチ例から"ReadGases"というサンプルを用いてarduinoに書き込みを行いました。
シリアルモニターを開き通信を開始すると、、、
16:43:21.210 -> Connected to MiCS-6814 sensor
16:43:21.210 -> Current concentrations:
16:43:21.210 -> CO NO2 NH3 C3H8 C4H10 CH4 H2 C2H5OH
16:43:21.255 -> -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
16:43:26.228 -> -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
・
・
・
どの値も-1から変化しません。
(4)詳細
1)エラーメッセージは特になし
2)コードは以下の通り
該当のソースコード
#include <MiCS6814-I2C.h>
MiCS6814 sensor;
bool sensorConnected;
void setup() {
// Initialize serial connection
Serial.begin(115200);
// Connect to sensor using default I2C address (0x04)
// Alternatively the address can be passed to begin(addr)
sensorConnected = sensor.begin(0x19);
if (sensorConnected == true) {
// Print status message
Serial.println("Connected to MiCS-6814 sensor");
// Turn heater element on sensor.powerOn(); // Print header for live values Serial.println("Current concentrations:"); Serial.println("CO\tNO2\tNH3\tC3H8\tC4H10\tCH4\tH2\tC2H5OH");
} else {
// Print error message on failed connection
Serial.println("Couldn't connect to MiCS-6814 sensor");
}
}
void loop() {
if (sensorConnected) {
// Print live values
Serial.print(sensor.measureCO());
Serial.print("\t");
Serial.print(sensor.measureNO2());
Serial.print("\t");
Serial.print(sensor.measureNH3());
Serial.print("\t");
Serial.print(sensor.measureC3H8());
Serial.print("\t");
Serial.print(sensor.measureC4H10());
Serial.print("\t");
Serial.print(sensor.measureCH4());
Serial.print("\t");
Serial.print(sensor.measureH2());
Serial.print("\t");
Serial.println(sensor.measureC2H5OH());
}
// Wait a small amount of time
delay(5000);
}
試したこと
試しにアンモニアを含んだ液体を近づけたが変化なし
補足情報(FW/ツールのバージョンなど)
Raspberry Piを利用した例は多々あるようなのですが、、、
0 コメント