红外CO2传感器

简介

DFRobot最新推出高精度大量程红外二氧化碳传感器,有效量程可达0~50000ppm。该款传感器是一个通用型、小型传感器,利用非色散红外(NDIR技术)原理对空气中存在的CO2 进行探测,具有很好的选择性,无氧气依赖性,使用寿命长达5年。并且内置温度补偿,使用串口,就可读取当前CO2气体浓度,使用非常简单,兼容各类单片机和传感器。 该红外传感器是将成熟的红外吸收气体检测技术制作出的高性能传感器。具有抗水汽干扰,不中毒,寿命长等特点,可以长时间放在空气中使用,避免了中毒后长时间的加热。可广泛应用于智能农业,暖通制冷与室内空气质量监控,工业过程及安全防护监控,农业及畜牧业生产过程监控等。

特性

产品参数

引脚说明

标号 名称 功能描述
1 RX 串口RX
2 TX 串口TX
3 GND
4 VCC 电源
5 探测器连线 探测器连线

使用教程

将程序下载到UNO,打开串口监视器查看CO2浓度。

注意:预热时间输出的CO2浓度值会逐渐趋于稳定,预热3分钟内的CO2浓度值请忽略。

准备

接线图



样例代码

/***************************************************
  Infrared CO2 Sensor 0-50000ppm(Wide Range)
* ****************************************************
  This example is used for detectting CO2 concentration.

  @author lg.gang(lg.gang@qq.com)
  @version  V1.0
  @date  2016-6-6

  GNU Lesser General Public License.
  See <http://www.gnu.org/licenses/> for details.
  All above must be included in any redistribution
* ****************************************************/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
unsigned char hexdata[9] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79}; //Read the gas density command /Don't change the order
void setup() {
  Serial.begin(9600);
  while (!Serial) {
  }
  mySerial.begin(9600);
}

void loop() {
  mySerial.write(hexdata, 9);
  delay(500);

  for (int i = 0, j = 0; i < 9; i++)
  {
    if (mySerial.available() > 0)
    {
      long hi, lo, CO2;
      int ch = mySerial.read();

      if (i == 2) {
        hi = ch;    //High concentration
      }
      if (i == 3) {
        lo = ch;    //Low concentration
      }
      if (i == 8) {
        CO2 = hi * 256 + lo; //CO2 concentration
        Serial.print("CO2 concentration: ");
        Serial.print(CO2);
        Serial.println("ppm");
      }
    }
  }
}

结果

打开串口监视器,预热约3分钟后,得到最终的数据。(测试环境为:室内常温)

注意:红外散射传感器可能会存在数据漂移的现象,但总体精度还是处在可控界限内:±(50+5%读取数值)

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

DFshopping_car1.png DFRobot商城购买链接