質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

解決済

ガスセンサMICS6814を用いて空気環境の測定がしたい

hiroshi_abe
hiroshi_abe

総合スコア1

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

3回答

0リアクション

0クリップ

405閲覧

投稿2022/08/24 07:58

編集2022/08/26 06:06

(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を利用した例は多々あるようなのですが、、、

通常の雰囲気
通常の雰囲気

息を吹きかけると、、
息を吹きかけると

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

y_waiwai

2022/08/24 08:00

このままではコードが読みづらいので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
y_waiwai

2022/08/24 09:17

データがすべてー1ってのは、そもそも通信が成立していない、デバイスが動いていない、配線が間違っている、ってことも考えられます。 どんなボードを使ってどういうふうに配線しているのか、回路図などあればそれも提示しよう
nac_tnk

2022/08/25 03:51

そういったセンサは動くまでに数分かかったりするけど、ちゃんと待った?

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。