Skip to main content

Grove - CO2 & 温度 & 湿度センサー (SCD30)

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

Grove - CO2 & 温度 & 湿度センサー (SCD30) は、高精度の二酸化炭素センサーであり、Sensirion SCD30 に基づいています。このセンサーの測定範囲は 0 ppm から 40,000 ppm で、測定精度は 400ppm から 10,000ppm の間で ±(30 ppm + 3%) に達します。

このセンサーは、二酸化炭素検出のための非分散型赤外線 (NDIR) 測定技術に加え、Sensirion の湿度および温度センサーを同じセンサーモジュールに統合しています。

産業用センサーへのアップグレード可能

SenseCAP S2110 コントローラーS2100 データロガー を使用することで、Grove を簡単に LoRaWAN® センサーに変えることができます。Seeed はプロトタイピングをサポートするだけでなく、SenseCAP シリーズの堅牢な 産業用センサー を使用してプロジェクトを拡張する可能性も提供します。

SenseCAP S210x シリーズの産業用センサーは、環境センシングのための即時使用可能な体験を提供します。空気質モニタリングのために、より高性能で堅牢な S2103 ワイヤレス CO2、温度、湿度センサーをご参照ください。このシリーズには、土壌水分、空気温度と湿度、光強度、CO2、EC、そして 8-in-1 気象ステーション用のセンサーが含まれています。次の成功する産業プロジェクトのために最新の SenseCAP S210x をお試しください。

SenseCAP 産業用センサー
S2103 空気温度 & 湿度 & CO2

バージョン

製品バージョン変更内容リリース日
Grove - CO2 & Temperature & Humidity Sensor (SCD30) V1.0初版2018年12月

応用アイデア

  • 空気清浄機
  • 環境モニタリング
  • 植物環境モニタリング

特徴

  • NDIR CO2センサー技術
  • 温度および湿度センサーを統合
  • 最高のコストパフォーマンス
  • 優れた安定性を実現するデュアルチャンネル検出
  • デジタルインターフェース I2C
  • 低消費電力
  • 超長寿命センサー(15年)

仕様

パラメータ
供給電圧3.3V / 5V
動作温度0 – 50℃
保管温度- 40°C – 70°C
湿度動作条件0 – 95 %RH
センサー寿命15年
インターフェースI2C
I2Cアドレス0x61
サイズ長さ: 61mm 幅: 42mm 高さ: 19mm
重量19.7g
パッケージサイズ長さ: 110mm 幅: 70mm 高さ: 40mm
総重量27g
表1.一般仕様
パラメータ条件
CO2測定範囲0 – 40’000 ppm
精度400ppm – 10'000ppm± (30 ppm + 3%)
再現性400ppm – 10'000ppm10ppm
応答時間τ63%20秒
表2.CO2センサー仕様
パラメータ条件
湿度測定範囲0 %RH – 100 %RH
精度0 – 50°C, 0 – 100%RH±2 %RH
再現性0.1 %RH
応答時間τ63%8秒
表3.湿度センサー仕様
パラメータ条件
温度測定範囲-40°C – 120°C
精度0 – 50°C±0.5°C
再現性0.1°C
応答時間τ63%> 2秒
表4.温度センサー仕様
パラメータ条件
平均電流更新間隔 2秒19 mA
最大電流測定中75 mA
エネルギー消費1回の測定120 mJ
表5.電気仕様

ハードウェア概要

対応プラットフォーム

ArduinoRaspberry Pi

はじめに

Arduinoで遊ぶ

ハードウェア

必要な材料

Seeeduino V4.2Base ShieldGrove-CO2 & T&H SCD30
今すぐ購入今すぐ購入今すぐ購入

さらに、Seeeduino Lotus M0+を検討することもできます。これはSeeeduino V4.2とBase Shieldの組み合わせに相当します。

note

1 USBケーブルを優しく差し込んでください。そうしないとポートが損傷する可能性があります。内部に4本の線があるUSBケーブルを使用してください。2本線のケーブルではデータを転送できません。使用しているケーブルが不明な場合は、こちらから購入できます。

2 各Groveモジュールには購入時にGroveケーブルが付属しています。Groveケーブルを紛失した場合は、こちらから購入できます。

ハードウェア接続

  • ステップ1. Grove - CO2 & 温度・湿度センサー(SCD30)をBase ShieldのI2Cポートに接続します。

  • ステップ2. Grove - Base ShieldをSeeeduinoに差し込みます。

  • ステップ3. USBケーブルを使用してSeeeduinoをPCに接続します。

ソフトウェア

caution
    Arduinoを初めて使用する場合は、開始する前に[Arduinoの使い方](https://wiki.seeedstudio.com/ja/Getting_Started_with_Arduino/)を参照することを強くお勧めします。
  • ステップ1. Seeed SCD30ライブラリをGithubからダウンロードします。

  • ステップ2. ライブラリのインストール方法を参照して、Arduino用のライブラリをインストールします。

  • ステップ3. Arduino IDEを再起動します。以下の3つの方法のいずれかでサンプルを開くことができます: a. Arduino IDEで直接開く:File --> Examples --> Grove_scd30_co2_sensor --> SCD30_Exampleのパスをたどります。

    b. コンピュータ上で開く:XXXX\Arduino\libraries\Seeed_SCD30-master\examples\SCD30_Exampleフォルダ内のSCD30_Example.inoをクリックします(XXXXはArduino IDEをインストールした場所です)。

    c. または、コードブロックの右上にあるアイコン をクリックして、以下のコードをArduino IDEの新しいスケッチにコピーすることもできます。

#include "SCD30.h"

#if defined(ARDUINO_ARCH_AVR)
#pragma message("Defined architecture for ARDUINO_ARCH_AVR.")
#define SERIAL Serial
#elif defined(ARDUINO_ARCH_SAM)
#pragma message("Defined architecture for ARDUINO_ARCH_SAM.")
#define SERIAL SerialUSB
#elif defined(ARDUINO_ARCH_SAMD)
#pragma message("Defined architecture for ARDUINO_ARCH_SAMD.")
#define SERIAL SerialUSB
#elif defined(ARDUINO_ARCH_STM32F4)
#pragma message("Defined architecture for ARDUINO_ARCH_STM32F4.")
#define SERIAL SerialUSB
#else
#pragma message("Not found any architecture.")
#define SERIAL Serial
#endif



void setup()
{
Wire.begin();
SERIAL.begin(115200);
SERIAL.println("SCD30 Raw Data");
scd30.initialize();
}

void loop()
{
float result[3] = {0};

if(scd30.isAvailable())
{
scd30.getCarbonDioxideConcentration(result);
SERIAL.print("Carbon Dioxide Concentration is: ");
SERIAL.print(result[0]);
SERIAL.println(" ppm");
SERIAL.println(" ");
SERIAL.print("Temperature = ");
SERIAL.print(result[1]);
SERIAL.println(" ℃");
SERIAL.println(" ");
SERIAL.print("Humidity = ");
SERIAL.print(result[2]);
SERIAL.println(" %");
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
}

delay(2000);
}

caution
    ライブラリファイルが更新される可能性があります。このコードは更新されたライブラリファイルには適用されない場合がありますので、最初の2つの方法を使用することをお勧めします。
  • ステップ4. デモをアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。
success

すべてが正常に動作すれば、Grove - CO2 & 温度・湿度センサー(SCD30)の生データをシリアルモニタから読み取ることができます。

キャリブレーションと設置

実際のシナリオでより正確な結果を得るためには、以下の2点に注意する必要があります:

    1. 正しい設置
    1. キャリブレーション

設置

正しい設置方法については、SCD30 Design-In Guidelines を参照してください。

キャリブレーション

初めてセンサーを使用する際には、ASC(自動校正)アルゴリズムが初期パラメータセットを見つけるために、最低7日間の期間が必要です。この期間中、センサーは毎日少なくとも1時間、新鮮な空気にさらされる必要があります。また、この期間中にセンサーの電源が切断されると、キャリブレーションパラメータの取得手順が中断され、最初からやり直す必要があります。成功した場合、計算されたパラメータはSCD30の不揮発性メモリに保存され、再起動後も以前に取得したASCパラメータが保持されます。キャリブレーションの詳細については、Interface Description Sensirion SCD30 Sensor Module を参照してください。

SCD30ライブラリフォルダには2つのサンプルコードが含まれており、SCD30_auto_calibration.ino を実行してキャリブレーションを開始できます。

Wio Terminal(ArduPy)での使用

ハードウェア

  • ステップ 1. 以下のアイテムを準備してください:
Wio TerminalGrove-CO2 & T&H SCD30
今すぐ購入今すぐ購入
  • ステップ 2. Grove-CO2 & T&H SCD30をWio TerminalのI2C Groveポートに接続します。

  • ステップ 3. USB Type-Cケーブルを使用してWio TerminalをPCに接続します。

ソフトウェア

  • ステップ 1. ArduPy Getting Started に従って、Wio TerminalでArduPy開発環境を構成します。

  • ステップ 2. ArduPyファームウェアがWio Terminalにフラッシュされていることを確認してください。詳細についてはこちらを参照してください。

aip install Seeed-Studio/seeed-ardupy-scd30
aip build
aip flash
  • ステップ 3. 以下のコードをコピーして、ArduPy-scd30.pyとして保存します:
from arduino import grove_scd30
from machine import LCD
from machine import Sprite
import time

scd30 = grove_scd30()
lcd = LCD()
spr = Sprite(lcd) # バッファを作成

def main():
spr.createSprite(320, 240)
while True:
spr.setTextSize(2)
spr.fillSprite(spr.color.BLACK)
spr.setTextColor(lcd.color.ORANGE)
spr.drawString("SCD30 Reading", 90, 10)
spr.drawFastHLine(40, 35, 240, lcd.color.DARKGREY)
spr.setTextColor(lcd.color.WHITE)
spr.drawString("- CO2 Level: ", 20, 50)
spr.drawString("- Temperature: ", 20, 80)
spr.drawString("- Humidity: ", 20, 110)

if(scd30.isAvailable()):
data = scd30.getCarbonDioxideConcentration()
spr.drawFloat(data[0], 2,220,50) # CO2
spr.drawFloat(data[1], 2, 220,80)
spr.drawFloat(data[2], 2, 220,110)
spr.pushSprite(0,0)
time.sleep_ms(500)

print("\nCarbon Dioxide Concentration:", data[0])
print("Temperature:", data[1])
print("Humidity:", data[2])

if __name__ == "__main__":
main()
  • ステップ 4. ArduPy-scd30.pyをわかりやすい場所に保存します。以下のコマンドを実行し、<YourPythonFilePath>ArduPy-scd30.pyの保存場所に置き換えます。
aip shell -n -c "runfile <YourPythonFilePath>"
# 例:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-scd30.py"
  • ステップ 5. 以下のように3つのデータ値がターミナルに表示され、Wio TerminalのLCD画面にも表示されます。
ansonhe@Ansons-Macbook-Pro ~:aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-scd30.py"
Positional argument (/dev/cu.usbmodem1414301) takes precedence over --open.
Connected to ardupy
Carbon Dioxide Concentration: 2360.639
Temperature: 29.18707
Humidity: 66.88538

Carbon Dioxide Concentration: 2360.639
Temperature: 29.18707
Humidity: 66.88538

Carbon Dioxide Concentration: 2500.573
Temperature: 29.17372
Humidity: 66.61072

回路図オンラインビューア

リソース

技術サポート & 製品ディスカッション

弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しています。

Loading Comments...