ESP8266 SGP30检测eCO2和TVOC

SGP30简介:

SGP30是一款单一芯片上具有多个传感元件的金属氧化物室内气体传感器,内集成4个气体传感元件,具有完全校准的空气质量输出信号,主要是对空气质量进行检测。TVOC(Total Volatile Organic Compounds,总挥发性有机物)是一项重要指标,一般我们可以用它来反映甲醛的浓度,所以SGP主要用于甲醛的检测,另外还可以用于监测CO2浓度。

二氧化碳浓度含量会影响人类的生活作息,整理出二氧化碳浓度含量与人体生理反应如下:

350~450ppm:同一般室外环境
350~1000ppm:空气清新,呼吸顺畅。
>1000ppm:感觉空气浑浊,并开始觉得昏昏欲睡。

SGP30采用IIC总线与处理器通信,其引脚映射如下:

ESP8266 SGP30检测eCO2和TVOC_第1张图片

 通过上表可知,iic总线的SCL和SDA分别接D1和D2。

连接好硬件电路就可以编写程序,在编程前先下载相应的库,SPG30的库(

https://github.com/adafruit/Adafruit_SGP30)

下面是代码的实现

#include 
#include "Adafruit_SGP30.h"

Adafruit_SGP30 sgp;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);

  Serial.println("SGP30 test");

  if (! sgp.begin()){
    Serial.println("Sensor not found :(");
    while (1);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  if (! sgp.IAQmeasure()) {
    Serial.println("Measurement failed");
    return;
  }
  Serial.print("TVOC "); Serial.print(sgp.TVOC); Serial.println(" ppb\t");
  Serial.print("eCO2 "); Serial.print(sgp.eCO2); Serial.println(" ppm");
  Serial.println();
  delay(2000);
}

你可能感兴趣的:(ESP8266,tv,fpga开发,gnu)