3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

M5StackとMH-Z19Cで部屋のCO2濃度を測定してみた

Posted at

室内のCO2濃度が1000ppmになると、思考力、集中力が減少するとのことで
室内のCO2濃度を測定してみました。
使ったのはM5StackとMH-Z19Cです。

MH-Z19Cは2秒/回程度、赤ランプが点灯しますが、見つめてなければ気にならない程度です。
また、MH-Z19Cでは温度も取得できるようですが、精度良くなさそうです。
(写真撮影時に温度が28℃あったとは思えないです。)
取得方法間違えていたらスミマセン。

  • 環境

    • M5Stack Basic
    • MH-Z19C
    • Windows 10 (作業用PC)
  • 事前準備

    • 作業用PCにArduino IDEとCP210X Driverをインストールしてください。
    • mh_z19ライブラリをインポートしてください。
      • zipをダウンロードし、Arduino IDEにインポートしてください。
      • ソースコードから参照するため、MHZ19_uart.hを参照可能な箇所に保存してください。
      • 詳細はこちらをご参照ください。
  • 接続

    • M5Stack BasicとMH-Z19Cの接続もこちらを参考にしました。
M5Stack側 MH-Z19C側
"G" "GND"
"5V" "Vin"
"16" "Tx"
"17" "Rx"
  • ソースコード
    ほぼ参考元のコピペで作成しました。
# include <M5Stack.h>
# include "MHZ19_uart.h"

# define RX 16
# define TX 17
# define INTERVAL 1  // 毎秒表示

MHZ19_uart myMHZ19;

void setup(){

  M5.begin();
  M5.Power.begin();
  M5.Lcd.setTextSize(5);
  M5.Lcd.print("start");

  delay(100);
  myMHZ19.begin(RX, TX);
  myMHZ19.setAutoCalibration(false);
}

void displayCo2(int co2, int temp) {
  M5.Lcd.clear(); 
  M5.Lcd.setCursor(0, 0);
  M5.Lcd.println("CO2 ppm");
  M5.Lcd.println(co2);
  M5.Lcd.println("Temperture");
  M5.Lcd.print(temp);
}

int count = 0;
int co2 = 0;
int temp = 0;
void loop()
{
  if ((count % INTERVAL) == 0 ) {
    co2 = myMHZ19.getCO2PPM();
    temp = myMHZ19.getTemperature();
    displayCo2( co2, temp );
  } else {
     M5.Lcd.print(".");
  }
  count++;
  delay(1000);
}

Arduino IDEで上記ソースコードを保存します。
その後、コンパイルとマイコンボードへの書き込みを実施すると
M5Stackの画面に冒頭のCO2濃度(ppm)と温度が表示されました。

おまけ

作業中、次のコンパイルエラーが発生しました。

「WiFi.h」に対して複数のライブラリが見つかりました
使用済:C:\Users\hogehoge\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
未使用:C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\WiFi
「SD.h」に対して複数のライブラリが見つかりました
使用済:C:\Users\hogehoge\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.6\libraries\SD
未使用:C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\SD

使用済のフォルダは削除可能でしたが、削除して再コンパイルすると次のエラーが発生したため、削除差し戻し。

"Architecture or board not supported"

未使用のフォルダは削除できなかったため、Arduino IDEをアンインストール。
そしてArduino IDEを再インストールするとエラーは解消しました。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?