Skip to main content

Grove - CO2 传感器

pir

Grove - CO2 传感器模块是一款高灵敏度、高分辨率的红外 CO2 传感器。红外 CO2 传感器 MH-Z16 是一款通用型小型传感器,采用非分散红外 (NDIR) 原理检测空气中的 CO2,具有良好的选择性、不依赖氧气、使用寿命长、内置温度传感器、温度补偿、UART 输出等特点,使用方便。它可广泛应用于暖通空调和室内空气质量监测、工业过程监测和安全、农业和畜牧业生产过程监测。

pir

注意

请注意,传感器值仅反映在允许误差范围内的气体浓度近似趋势。它不代表确切的气体浓度。检测空气中的某些成分通常需要更精确和昂贵的仪器,这不能用单个气体传感器来完成。如果您的项目旨在获得非常精确水平的气体浓度,那么我们不推荐使用这款气体传感器。

tip

我们已经发布了 Seeed 气体传感器选择指南,它将帮助您选择最适合您需求的气体传感器。

规格参数

  • 测量范围 0-2000 ppm(百万分之一)
  • 分辨率 1 PPM 0-2000 ppm(百万分之一)
  • 精度 200 PPM
  • 预热时间 3 分钟
  • 响应时间 < 90s
  • 工作温度 0 到 50℃
  • 工作湿度 0% ~ 90% RH
  • 存储温度 -20-60℃
  • 工作电压 4.5 V 到 6 V DC
  • 电流 最大电流小于 100 mA,平均电流小于 50 mA
  • 输出模式 UART
tip

有关 Grove 模块的更多详细信息,请参考 Grove 系统

支持的平台

ArduinoRaspberry Pi

pir

pir

caution

上面提到的支持平台是模块软件或理论兼容性的指示。在大多数情况下,我们只为 Arduino 平台提供软件库或代码示例。不可能为所有可能的 MCU 平台提供软件库/演示代码。因此,用户必须编写自己的软件库。

演示

使用 Grove Shield 连接模块,如下图所示,并使用下面的程序来获取电压。

请注意,传感器的最佳预热时间约为 180 秒。有关传感器的详细信息,请参考数据手册。

pir

/*
This test code is write for Arduino AVR Series(UNO, Leonardo, Mega)
If you want to use with LinkIt ONE, please connect the module to D0/1 and modify:

// #include <SoftwareSerial.h>
// SoftwareSerial s_serial(2, 3); // TX, RX

#define sensor Serial1
*/


#include <SoftwareSerial.h>
SoftwareSerial s_serial(2, 3); // TX, RX

#define sensor s_serial

const unsigned char cmd_get_sensor[] =
{
0xff, 0x01, 0x86, 0x00, 0x00,
0x00, 0x00, 0x00, 0x79
};

unsigned char dataRevice[9];
int temperature;
int CO2PPM;

void setup()
{
sensor.begin(9600);
Serial.begin(115200);
Serial.println("get a 'g', begin to read from sensor!");
Serial.println("********************************************************");
Serial.println();
}

void loop()
{
if(dataRecieve())
{
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" CO2: ");
Serial.print(CO2PPM);
Serial.println("");
}
delay(1000);
}

bool dataRecieve(void)
{
byte data[9];
int i = 0;

//transmit command data
for(i=0; i<sizeof(cmd_get_sensor); i++)
{
sensor.write(cmd_get_sensor[i]);
}
delay(10);
//begin reveiceing data
if(sensor.available())
{
while(sensor.available())
{
for(int i=0;i<9; i++)
{
data[i] = sensor.read();
}
}
}

for(int j=0; j<9; j++)
{
Serial.print(data[j]);
Serial.print(" ");
}
Serial.println("");

if((i != 9) || (1 + (0xFF ^ (byte)(data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7]))) != data[8])
{
return false;
}

CO2PPM = (int)data[2] * 256 + (int)data[3];
temperature = (int)data[4] - 40;

return true;
}

pir

校准

如果您需要校准传感器,请将以下代码上传到您的Arduino。

// Grove - Co2 传感器校准

#include <SoftwareSerial.h>
SoftwareSerial sensor(A5, A4); // TX, RX


const unsigned char cmd_calibrate[] =
{
0xff, 0x87, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2
};

void setup()
{
sensor.begin(9600);
Serial.begin(115200);
Serial.println("begin to calibrate");

for(int i=0; i<sizeof(cmd_calibrate); i++)
{
sensor.write(cmd_calibrate[i]);
}

Serial.println("calibrate done");
}

void loop()
{
// nothing to do
}
warning

请在校准前至少预热传感器5分钟,并确保传感器处于新鲜空气中。

参考

  • 350~450ppm:一般室外环境
  • 350~1000ppm:空气清新,呼吸顺畅
  • 1000~2000ppm:空气停滞,感觉困倦
  • 5000ppm:8小时工作日的允许暴露限值

资源

项目

LoRa IoTea:应用于茶园的自动信息收集系统。它是智能农业信息收集的一部分。

技术支持与产品讨论

可升级为工业传感器

使用SenseCAP S2110控制器S2100数据记录器,您可以轻松将Grove转换为LoRaWAN®传感器。Seeed不仅帮助您进行原型设计,还为您提供了使用SenseCAP系列坚固工业传感器扩展项目的可能性。

IP66外壳、蓝牙配置、与全球LoRaWAN®网络的兼容性、内置19Ah电池以及APP的强大支持使SenseCAP S210x成为工业应用的最佳选择。该系列包括土壤湿度、空气温湿度、光照强度、CO2、EC传感器以及8合1气象站。为您下一个成功的工业项目尝试最新的SenseCAP S210x。

Loading Comments...