/a/センサー
Published on

Raspberry Piに「Senseair-K30」を接続し制御する

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

はじめに

Raspberry Piは汎用のシングルボードコンピュータであり、様々なセンサーやデバイスを組み込んで利用することができます。この記事では、空気中の二酸化炭素濃度を測定する「Senseair-K30」センサーをRaspberry Piに接続し、制御する方法について説明します。

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

1. Senseair-K30センサーの概要

Senseair-K30は、室内の二酸化炭素(CO2)濃度を測定するためのセンサーモジュールです。このセンサーは、高い精度でCO2濃度を検出し、Raspberry Piなどのシングルボードコンピュータに接続して利用できます。

2. Senseair-K30の接続

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

  • VCC(赤色): 5Vの電源
  • GND(黒色): 接地
  • RXD(緑色): Raspberry PiのシリアルTXDピン(通常はGPIO14)
  • TXD(白色): Raspberry PiのシリアルRXDピン(通常はGPIO15)

これらの接続を行った後、適切なライブラリやドライバーをインストールする必要があります。

3. Raspberry Piコードの作成

Senseair-K30を制御するためには、シリアル通信を使用します。以下は、Pythonを使用してSenseair-K30センサーを読み取る簡単な例です。

import serial
import time

ser = serial.Serial('/dev/serial0', baudrate=9600, timeout=2)

def read_co2():
    ser.write(b"\xFE\x44\x00\x08\x02\x9F\x25")  # コマンドを送信してCO2濃度をリクエスト
    time.sleep(0.1)
    response = ser.read(7)  # レスポンスを受信
    high = response[3]
    low = response[4]
    co2_ppm = (high << 8) + low
    return co2_ppm

try:
    while True:
        co2_value = read_co2()
        print(f"CO2濃度: {co2_value} ppm")
        time.sleep(1)

except KeyboardInterrupt:
    ser.close()
    print("プログラムを終了します")

このPythonスクリプトは、Senseair-K30からCO2濃度を取得して1秒ごとに表示します。必要に応じて、取得したデータをデータベースに保存したり、他のデバイスと連携させたりすることができます。

4. スクリプトの実行と確認

Raspberry PiにSenseair-K30を接続し、作成したPythonスクリプトを実行します。すると、コンソールに定期的にCO2濃度が表示されるはずです。

これで、Raspberry PiにSenseair-K30を接続し、CO2濃度を制御するための基本的な手順が完了しました。このセンサーを活用して、室内の空気品質モニタリングや自動制御などのプロジェクトを進めることができます。

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

将 有坂

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

タグ ->