/a/センサー
Published on

Arduinoに「MH-Z16」を接続し制御する

1220文字3分で読めます–––
閲覧数
Authors
  • avatar
    Name
    将 有坂
    short bio
    ラズパイやArduinoで電子工作をしてます。

はじめに

Arduinoを使用して、さまざまなセンサーを接続し制御することは、IoTプロジェクトや環境モニタリングなどの分野で広く利用されています。この記事では、Arduinoに「MH-Z16」二酸化炭素(CO2)センサーを接続し、制御する方法について解説します。

※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚

1. MH-Z16センサーの概要

MH-Z16は、二酸化炭素(CO2)濃度を測定するためのセンサーであり、非常に高い精度でCO2濃度を検出することができます。このセンサーは、室内の空気品質をモニタリングするために使用され、Arduinoとの組み合わせが容易です。

2. MH-Z16の接続

MH-Z16センサーは、通常、以下の4つのピンを持っています。

  • VCC(赤色): 5Vの電源
  • GND(黒色): 接地
  • RXD(緑色): ArduinoのTXピンに接続
  • TXD(白色): ArduinoのRXピンに接続

これらを対応するArduinoのピンに接続します。

3. Arduinoコードの作成

MH-Z16センサーは、シリアル通信を使用してCO2濃度を送信します。以下は、MH-Z16センサーを接続したArduinoのサンプルコードです。

#include <SoftwareSerial.h>

SoftwareSerial mh_z16(2, 3); // RX, TX

void setup() {
  Serial.begin(9600);
  mh_z16.begin(9600);
}

void loop() {
  if (mh_z16.available() >= 9) {
    if (mh_z16.read() == 0xFF) {
      if (mh_z16.read() == 0x86) {
        int co2 = mh_z16.read() * 256 + mh_z16.read();
        int temp = mh_z16.read() - 40;

        Serial.print("CO2濃度: ");
        Serial.print(co2);
        Serial.println(" ppm");

        Serial.print("温度: ");
        Serial.print(temp);
        Serial.println(" ℃");

        delay(2000); // 2秒待つ
      }
    }
  }
}

このコードは、MH-Z16から送信されるデータを解釈し、CO2濃度と温度をシリアルモニターに表示します。

4. コードのアップロードと動作確認

コードをArduinoにアップロードし、MH-Z16センサーが正しく動作しているかを確認します。シリアルモニターにCO2濃度と温度が表示されれば、センサーの接続と制御が成功しています。

これで、ArduinoにMH-Z16センサーを接続し、室内のCO2濃度と温度をモニタリングする基本的な手順が完了しました。さらに、この情報を利用して環境の監視やアクションを制御するプロジェクトを構築することが可能です。

※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
avatar

将 有坂

電子部品専門家 / ラズベリーパイのプロ / 数多くのセンサーやモジュールの導入実績
ラズベリーパイやArduinoの電子工作に関わるソフトウェアエンジニア。これまで100種類以上のセンサーやモジュールの導入を行い、その知識と経験を活かして、多くの人々に電子工作の楽しさを伝えることを使命としている。

タグ ->