/a/センサー
Published on

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

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

はじめに

Raspberry Piは、小型で手軽に利用できるシングルボードコンピュータであり、様々なセンサーやモジュールと組み合わせてさまざまなプロジェクトを構築することができます。この記事では、二酸化炭素(CO2)濃度を測定するセンサー「MH-Z14B」をRaspberry Piに接続し、制御する方法について解説します。

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

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

MH-Z14Bは、赤外線吸収法を使用して二酸化炭素濃度を測定するセンサーです。このセンサーは、アナログまたはデジタル出力を提供し、Raspberry Piなどのシングルボードコンピュータと接続して使用されます。

2. MH-Z14Bの接続

MH-Z14BをRaspberry Piに接続するためには、通常、以下のような接続が必要です。

  • VCC(赤色): 5Vの電源
  • GND(茶色): 接地
  • TXD(緑色): Raspberry PiのシリアルRXDピンに接続
  • RXD(黄色): Raspberry PiのシリアルTXDピンに接続

3. Pythonコードの作成

Raspberry Pi上でPythonを使用してMH-Z14Bを制御するためのコードを作成します。以下は、serial ライブラリを使用してシリアル通信を行う基本的な例です。

import serial
import time

ser = serial.Serial('/dev/ttyS0', 9600, timeout=2)  # Raspberry Piのシリアルポートに合わせて変更

def read_co2():
    ser.write(b'\xFF\x01\x86\x00\x00\x00\x00\x00\x79')  # MH-Z14Bにデータ要求コマンドを送信
    time.sleep(0.1)
    response = ser.read(9)
    co2 = (response[2] << 8) | response[3]
    return co2

try:
    while True:
        co2_value = read_co2()
        print(f"CO2 Concentration: {co2_value} ppm")
        time.sleep(2)

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

このコードは、MH-Z14Bから二酸化炭素濃度を読み取り、2秒ごとにその値を表示します。

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

コードを保存したら、Raspberry Pi上で実行してみてください。正常に接続されていれば、ターミナルにCO2濃度が表示されるはずです。

これで、Raspberry PiにMH-Z14Bを接続し、二酸化炭素濃度を測定する基本的なプログラムが完成しました。このセンサーを活用して、室内の空気品質をモニタリングするなど、さまざまなプロジェクトを展開することができます。

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

将 有坂

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

タグ ->