logo
Published on

Raspberry Piに「MH-Z19」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

Raspberry Piはシングルボードコンピュータで、様々なセンサーやモジュールを利用して様々なプロジェクトを作成できる柔軟性があります。この記事では、二酸化炭素濃度を測定するセンサー「MH-Z19」をRaspberry Piに接続し、制御する方法について解説します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

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

MH-Z19は、二酸化炭素(CO2)の濃度を測定するためのセンサーモジュールです。UART通信を介してデータを取得し、簡単にRaspberry Piに統合できます。このセンサーは、室内の空気品質をモニタリングしたり、環境におけるCO2レベルを把握するために使用されます。

2. MH-Z19の接続

MH-Z19は通常、VCC、GND、RXD、TXDの4つのピンを持っています。これらをRaspberry PiのGPIOピンに接続します。例えば、RXDをRaspberry PiのTXDピン、TXDをRaspberry PiのRXDピンに接続します。また、VCCとGNDをそれぞれ対応するピンに接続します。

3. Raspberry Piコードの作成

Raspberry Pi上でPythonなどの言語を使用してMH-Z19を制御します。以下は、Pythonを使用した簡単な例です。

import serial
import time

ser = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=2)

def read_co2():
    ser.write(b"\xFF\x01\x86\x00\x00\x00\x00\x00\x79")
    time.sleep(0.1)
    response = ser.read(9)
    high = response[2]
    low = response[3]
    co2 = (high << 8) + low
    return co2

try:
    while True:
        co2_level = read_co2()
        print(f"CO2 Level: {co2_level} ppm")
        time.sleep(1)

except KeyboardInterrupt:
    ser.close()
    print("Program terminated by user.")

4. コードの実行と動作確認

コードを保存した後、Raspberry Pi上で実行します。センサーが正しく接続されていれば、定期的にCO2の濃度が表示されるはずです。

これで、Raspberry PiにMH-Z19を接続し、二酸化炭素濃度をモニタリングする基本的な手順が完了しました。この情報を用いて、室内の空気品質を向上させるためのプロジェクトを進めることができます。