Skip to main content

Grove - スマート空気質センサー (SGP41)

note

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

Grove - スマート空気質センサー (SGP41)


Grove - スマート空気質センサー (SGP41) は Grove シリーズのデジタルガスセンサーモジュールです。このモジュールは 4 ピンの Grove インターフェースを備えており、ユーザーがセンサーをマイクロコントローラーに簡単に接続できるようになっています。モジュールは 3.3V と 5V の両方の電源供給をサポートしており、柔軟性があります。

SGP41 デジタルガスセンサーは Sensirion の CMOSens® テクノロジーを使用しており、単一チップ上で完全で使いやすいセンサーシステムを提供します。このセンサーは室内空気中の揮発性有機化合物 (VOC) と窒素酸化物 (NOx) の濃度を測定し、デジタル出力信号を提供します。さらに、このセンサーは優れた長期安定性と寿命を持っています。

Grove - スマート空気質センサー (SGP41) モジュールはコンパクトで、スペースが限られたアプリケーションに適しています。また、高い信頼性と再現性を備えています。室内空気質を測定する必要がある場合は、Grove - 空気質センサー (SGP41) モジュールの使用を検討してください!

tip

Seeed ガスセンサー選択ガイド を公開しました。このガイドは、あなたのニーズに最適なガスセンサーを選ぶのに役立ちます。

特徴

  • デジタルガスセンサー: SGP41 はデジタルガスセンサーで、室内空気中の揮発性有機化合物 (VOC) と窒素酸化物 (NOx) の濃度を測定できます。
  • CMOSens® テクノロジー: SGP41 は Sensirion の CMOSens® テクノロジーを使用しており、単一チップ上で完全で使いやすいセンサーシステムを提供します。
  • 長期安定性: SGP41 は優れた長期安定性と寿命を持ち、室内空気質の継続的な監視を必要とするアプリケーションに最適です。
  • デジタル出力信号: SGP41 はデジタル出力信号を提供し、マイクロコントローラーやその他のデジタルシステムとの統合が容易です。
  • 小型フォームファクター: SGP41 は非常にコンパクトで、スペースが限られたアプリケーションに適しています。4 ピンの Grove インターフェースを備えており、ユーザーがセンサーをマイクロコントローラーに簡単に接続できます。
  • 柔軟な電源供給: モジュールは 3.3V と 5V の両方の電源供給をサポートしており、さまざまなアプリケーションで非常に柔軟で使いやすいです。
  • 高い信頼性と再現性: Sensirion の最先端の生産プロセスにより、SGP41 モジュールの高い再現性と信頼性が保証されています。

仕様

  • センシング技術: 空気質アプリケーション向けのMOxベースのガスセンサー
  • ガス検出: VOCおよびNOxの測定
  • インターフェース: デジタル出力信号を備えたI2Cインターフェース
  • 消費電力: 3.3 Vで3.0 mAの低消費電力
  • 動作温度範囲: -40°Cから+85°C
  • 湿度範囲: 0%から100% RH(結露しないこと)
  • 応答時間: VOCの場合<10秒、NOxの場合<60秒
  • 精度: VOCの場合±15%、NOxの場合±50 ppb(標準条件下)

アプリケーション

  • 室内空気質モニタリング: SGP41は、家庭、オフィス、学校、その他の室内環境での空気質モニタリングに最適です。
  • 空気清浄機: SGP41は空気清浄機に統合され、有害なガスを検出して除去することができます。
  • 需要制御型換気システム: SGP41は、空気中の汚染物質のレベルに基づいて換気率を調整する需要制御型換気システムに使用できます。
  • スマートホーム: SGP41はスマートホームシステムに統合され、室内空気質に関するリアルタイム情報を提供し、この情報に基づいてアクションをトリガーします。
  • 産業用途: SGP41は、化学工場、製油所、製造施設などの産業用途で室内空気質をモニタリングし、作業者の安全を確保するために使用できます。
  • 環境モニタリング: SGP41は、工場、車両、その他の発生源からのVOCおよびNOx排出量の環境モニタリングに使用できます。

ハードウェア概要

ピンマップ

pir

はじめに

note

Arduinoを初めて使用する場合は、開始する前にArduinoの使い方をご覧になることを強くお勧めします。

Arduinoで遊ぶ

必要な材料

Seeeduino V4.3Grove Base Shield V2.0Grove - スマート空気質センサー (SGP41)
note

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

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

  • ステップ1. Grove - スマート空気質センサー (SGP41) をGrove Base ShieldのI2Cポートに接続します。

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

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

pir

note

Grove Base Shieldがない場合は、以下のようにGrove - スマート空気質センサー (SGP41) をSeeeduinoに直接接続することもできます。

SeeeduinoGrove-VOCおよびeCO2ガスセンサー(SGP30)
5V
GND
SDA
SCL

ソフトウェア

  • ステップ 2. Arduino 用ライブラリをインストールする方法については、ライブラリのインストール方法を参照してください。

  • ステップ 3. ライブラリを正しくダウンロードしてインストールした後、exampleUsage.ino という名前のサンプルプログラムを examples フォルダ内で見つけることができます。このプログラムは SGP41 センサー用に設計されています。

#include <Arduino.h>
#include <SensirionI2CSgp41.h>
#include <Wire.h>

SensirionI2CSgp41 sgp41;

// NOx コンディショニングに必要な時間(秒単位)
uint16_t conditioning_s = 10;

void setup() {

Serial.begin(115200);
while (!Serial) {
delay(100);
}

Wire.begin();

uint16_t error;
char errorMessage[256];

sgp41.begin(Wire);

uint16_t serialNumber[3];
uint8_t serialNumberSize = 3;

error = sgp41.getSerialNumber(serialNumber, serialNumberSize);

if (error) {
Serial.print("getSerialNumber() の実行中にエラーが発生しました: ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else {
Serial.print("シリアル番号:");
Serial.print("0x");
for (size_t i = 0; i < serialNumberSize; i++) {
uint16_t value = serialNumber[i];
Serial.print(value < 4096 ? "0" : "");
Serial.print(value < 256 ? "0" : "");
Serial.print(value < 16 ? "0" : "");
Serial.print(value, HEX);
}
Serial.println();
}

uint16_t testResult;
error = sgp41.executeSelfTest(testResult);
if (error) {
Serial.print("executeSelfTest() の実行中にエラーが発生しました: ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else if (testResult != 0xD400) {
Serial.print("executeSelfTest がエラーで失敗しました: ");
Serial.println(testResult);
}
}

void loop() {
uint16_t error;
char errorMessage[256];
uint16_t defaultRh = 0x8000;
uint16_t defaultT = 0x6666;
uint16_t srawVoc = 0;
uint16_t srawNox = 0;

delay(1000);

if (conditioning_s > 0) {
// NOx コンディショニング中(10秒間)、SRAW NOx は 0 のままです
error = sgp41.executeConditioning(defaultRh, defaultT, srawVoc);
conditioning_s--;
} else {
// 測定値を読み取る
error = sgp41.measureRawSignals(defaultRh, defaultT, srawVoc, srawNox);
}

if (error) {
Serial.print("measureRawSignals() の実行中にエラーが発生しました: ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else {
Serial.print("SRAW_VOC:");
Serial.print(srawVoc);
Serial.print("\t");
Serial.print("SRAW_NOx:");
Serial.println(srawNox);
}
}
  • ステップ 4. デモコードをアップロードします。

  • ステップ 5. Arduino IDE の シリアルモニタ を開くには、ツール -> シリアルモニタ をクリックします。

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

リソース

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

.

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

Loading Comments...