- Published on
Raspberry Piに「SCD30」を接続し制御する
1369文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Raspberry Piは豊富なGPIOピンを備えたシングルボードコンピュータで、様々なセンサーやデバイスを制御するために利用されます。この記事では、二酸化炭素(CO2)濃度を測定できるセンサー「SCD30」をRaspberry Piに接続し、制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. SCD30センサーの概要
SCD30は、二酸化炭素濃度を高精度で測定できるセンサーモジュールです。I2C通信を利用してデータを取得し、Raspberry Piと容易に連携できます。このセンサーを使用することで、室内の空気品質やCO2濃度をモニタリングできます。
2. SCD30の接続
SCD30をRaspberry Piに接続するためには、通常以下のような接続が必要です。
- VCC(赤色): 3.3Vの電源
- GND(茶色): 接地
- SCL(黄色): I2Cクロック
- SDA(緑色): I2Cデータ
これらの線をRaspberry Piの対応するGPIOピンに接続します。
3. Pythonコードの作成
Raspberry Pi上でSCD30を制御するためには、Python言語を使用します。まず、SCD30を操作するためのライブラリをインストールします。
pip install adafruit-circuitpython-scd30
次に、以下のPythonコードを使用してSCD30を制御します。
import board
import busio
import adafruit_scd30
import time
# I2Cバスの初期化
i2c = busio.I2C(board.SCL, board.SDA)
# SCD30センサーの初期化
scd = adafruit_scd30.SCD30(i2c)
# 測定開始
scd.measurement_interval = 2 # 2秒ごとに測定
scd.start_periodic_measurement()
try:
while True:
if scd.data_available:
# 測定データの取得
co2_ppm = scd.CO2
temperature = scd.temperature
humidity = scd.relative_humidity
# 取得したデータの表示
print(f"CO2: {co2_ppm} ppm, Temperature: {temperature} C, Humidity: {humidity} %")
time.sleep(2) # 2秒待つ
except KeyboardInterrupt:
# プログラムが終了したときにセンサーを停止
scd.stop_periodic_measurement()
print("Measurement stopped.")
4. コードの実行とデータの取得
コードを実行すると、SCD30が指定した間隔でCO2濃度、温度、湿度を取得します。コンソールにデータが表示されることを確認できます。取得したデータを活用して、室内環境をモニタリングするプロジェクトを進めることができます。
これで、Raspberry PiにSCD30を接続し、Pythonコードを使用してセンサーを制御する基本的な手順が完了しました。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚