Grove -智能空气质量传感器 (SGP41)

Grove - 智能空气质量传感器 (SGP41) 是 Grove 系列的数字气体传感器模块。它采用 4 针 Grove 接口,用户可以轻松将传感器连接到微控制器。该模块支持 3.3V 和 5V 电源供电,使用灵活。
SGP41 数字气体传感器采用 Sensirion 的 CMOSens® 技术,在单个芯片上提供完整且易于使用的传感器系统。它可以测量室内空气中挥发性有机化合物 (VOCs) 和氮氧化物 (NOx) 的浓度,并提供数字输出信号。此外,该传感器具有出色的长期稳定性和使用寿命。
Grove - 智能空气质量传感器 (SGP41) 模块结构紧凑,适用于空间有限的应用。它还具有高可靠性和重现性。如果您需要测量室内空气质量,请考虑使用我们的 Grove - 空气质量传感器 (SGP41) 模块!
我们已经发布了 Seeed 气体传感器选择指南,它将帮助您选择最适合您需求的气体传感器。
特性
- 数字气体传感器:SGP41 是一款数字气体传感器,可以测量室内空气中挥发性有机化合物 (VOCs) 和氮氧化物 (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 排放。
硬件概述
引脚图
入门指南
如果这是您第一次使用 Arduino,我们强烈建议您在开始之前先查看 Arduino 入门指南。
与 Arduino 配合使用
所需材料
-
步骤 1. 将 Grove - 智能空气质量传感器 (SGP41) 连接到 Grove Base Shield 的 I2C 端口。
-
步骤 2. 将 Grove - Base Shield 插入 Seeeduino。
-
步骤 3. 通过 USB 线缆将 Seeeduino 连接到 PC。
如果我们没有 Grove Base Shield,我们也可以直接将 Grove - 智能空气质量传感器 (SGP41) 连接到 Seeeduino,如下所示。
Seeeduino | Grove-VOC and eCO2 Gas Sensor(SGP30) |
---|---|
5V | Red |
GND | Black |
SDA | White |
SCL | Yellow |
软件
-
步骤 1. 从 Github 下载依赖库。
- arduino-core 库:
-
arduino-i2c-sgp41 库:
-
步骤 2. 参考如何安装库为 Arduino 安装库。
-
步骤 3. 正确下载并安装库后,您可以在 examples 文件夹中找到一个名为
exampleUsage.ino
的示例程序。该程序专为 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("Error trying to execute getSerialNumber(): ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else {
Serial.print("SerialNumber:");
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("Error trying to execute executeSelfTest(): ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else if (testResult != 0xD400) {
Serial.print("executeSelfTest failed with error: ");
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("Error trying to execute 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 的串口监视器。

原理图在线查看器
资源
- [ZIP] Grove - 智能空气质量传感器 (SGP41) 原理图和PCB
- [PDF] SGP41 数据手册
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。