- Published on
Arduinoに「MH-Z16」を接続し制御する
1220文字3分で読めます–––
閲覧数
- Authors
- 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 🚚