/a/センサー
Published on

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

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

はじめに

Raspberry Piは豊富なGPIOピンを備えたシングルボードコンピュータで、様々なセンサーやモジュールと組み合わせて利用することができます。この記事では、二酸化炭素センサー「MH-Z16」をRaspberry Piに接続し、制御する方法について解説します。

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

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

MH-Z16は、二酸化炭素(CO2)濃度を測定するセンサーです。このセンサーはUART(シリアル通信)を使用してデータを送受信し、CO2濃度を取得できます。Raspberry Piなどのシングルボードコンピュータと組み合わせて、室内のCO2濃度をモニタリングするのに適しています。

2. MH-Z16の接続

MH-Z16は通常、以下のようなピンを備えています。

  • VCC(赤色): 5Vの電源
  • GND(茶色): 接地
  • RX(緑色): Raspberry PiのTXピンに接続
  • TX(白色): Raspberry PiのRXピンに接続

これらのピンを適切なGPIOピンに接続します。接続が完了したら、MH-Z16がRaspberry Piと通信できるようになります。

3. Pythonコードの作成

Raspberry Pi上でPythonを使用してMH-Z16を制御するためのコードを書きます。以下は、基本的な例です。

import serial
import time

ser = serial.Serial('/dev/ttyS0', 9600)  # Raspberry PiのUARTポートとボーレート

def read_co2():
    ser.write(b'\xFF\x01\x86\x00\x00\x00\x00\x00\x79')  # CO2測定コマンド
    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()

このコードは、MH-Z16からCO2濃度を読み取り、1秒ごとに濃度を表示します。

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

Raspberry PiにMH-Z16を接続し、書いたPythonコードを実行します。正常に接続されていれば、CO2濃度が定期的に表示されるはずです。

これで、Raspberry PiにMH-Z16を接続し、CO2濃度をモニタリングするための基本的な手順が完了しました。このセンサーを使用して、室内の空気品質を監視するプロジェクトを構築することができます。

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

将 有坂

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

タグ ->