基于Arduino的CCS811空气质量传感器来检测TVOC和CO2-空气质量传感器输出的是什么信号

“可悲的是,以进步的名义,我们污染了空气、水、土壤和我们吃的食物”。因此,由于污染,现在监测空气质量非常重要。为了设计空气质量监测系统,我们需要耐用可靠的空气质量传感器。虽然空气质量参数很多,但最重要的是二氧化碳和TVOC。因此,为了检测二氧化碳和TVOC,我们使用CCS811空气质量传感器。

在本教程中,我们将向您展示如何使用带有Arduino的CCS811空气质量传感器来检测TVOC和CO2。此外,您还将学习将CSS811与Arduino连接。

所需材料

Arduino UNO

CCS811 空气质量传感器

电位器 (10k)

液晶屏 16*2

面包板

连接线

电路图

基于Arduino的CCS811空气质量传感器来检测TVOC和CO2-空气质量传感器输出的是什么信号

CCS811 空气质量传感器

CCS811空气质量传感器是一款超低功耗数字气体传感器,它集成了MOX(金属氧化物)气体传感器,可通过集成MCU(微控制器单元)检测各种VOC(挥发性有机化合物),以进行室内空气质量监测。MCU由ADC(模数转换器)和I2C接口组成。它基于艾迈斯半导体独特的微加热板技术,可为气体传感器提供高度可靠的低功耗解决方案。

基于Arduino的CCS811空气质量传感器来检测TVOC和CO2-空气质量传感器输出的是什么信号

在我们的电路中,我们使用这种传感器来检测环境中可用的TVOC和CO2,并在16 * 2 LCD上显示数据。

引脚配置

引脚编号 引脚名称 描述 1 文 输入电源(3.3V至5V) 2 3V3 3.3V输出引脚供外部使用 3 格德 地 4 自主权评估 这是 I2C 时钟引脚 5 标准及校正实验所 I2C 数据引脚 6 唤醒 传感器的唤醒引脚,应接地以便与传感器通信 7 RST 复位引脚:接地时,传感器自行复位 8 国际 这是中断输出引脚,用于检测新读数何时准备就绪或读数何时过高或过低

应用

智能手机

可穿戴设备

家庭和楼宇自动化

辅料

#include

#include “Adafruit_CCS811.h”

下面我们定义了用于将16 * 2 LCD与Arduino连接的引脚。

LiquidCrystal lcd(12, 13, 8, 9, 10, 11); /// REGISTER SELECT PIN,ENABLE PIN,D4 PIN,D5 PIN, D6 PIN, D7 PIN

Adafruit_CCS811 ccs;

下面我们设置了LCD和CCS811空气质量传感器,并将其校准为显示正确的温度,如下面的代码所示,

void setup() {

lcd.begin(16, 2);

ccs.begin();

//calibrate temperature sensor

while(!ccs.available());

float temp = ccs.calculateTemperature();

ccs.setTempOffset(temp – 25.0);

}

在下面的代码中,我们使用函数“ccs.available()”(函数已经在库中定义)来检查是否有一些数据。当我们获得数据时,我们能够计算温度并将其显示在 16*2 LCD 上。

此外,如果 CCS 可用并且 ccs.readData() 返回 false,那么我们使用函数 ccs.geteCO2() 获得 CO2 值,使用 ccs.getTVOC() 获取 TVOC 值,如下面的代码所示。 因此,我们收到了使用CCS811空气质量传感器的空气质量参数值。

void loop() {

if(ccs.available()){

float temp = ccs.calculateTemperature();

if(!ccs.readData()){

int co2 = ccs.geteCO2();

int tvoc = ccs.getTVOC();

lcd.setCursor(0, 0);

lcd.print(String (“CO2:”)+ String (co2)+String(” PPM”));

lcd.setCursor(0, 1);

lcd.print(String (“TVOC:”)+ String (tvoc)+String(” PPB “));

lcd.print(String(“T:”+String (int(temp)))+String(“C”));

delay(3000);

lcd.clear();

}

else{

lcd.print(“ERROR”);

while(1);

}

}

}

完整的Arduino代码如下。代码很简单,所有工作都由其库本身完成,我们使用 CCS 库中定义的函数来获取 CO2 和 TOVC 的值。

#include

#include “Adafruit_CCS811.h”

LiquidCrystal lcd(12, 13, 8, 9, 10, 11); /// REGISTER SELECT PIN,ENABLE PIN,D4 PIN,D5 PIN, D6 PIN, D7 PIN

Adafruit_CCS811 ccs;

void setup() {

lcd.begin(16, 2);

ccs.begin();

//calibrate temperature sensor

while(!ccs.available());

float temp = ccs.calculateTemperature();

ccs.setTempOffset(temp – 25.0);

}

void loop() {

if(ccs.available()){

float temp = ccs.calculateTemperature();

if(!ccs.readData()){

int co2 = ccs.geteCO2();

int tvoc = ccs.getTVOC();

lcd.setCursor(0, 0);

lcd.print(String (“CO2:”)+ String (co2)+String(” PPM”));

lcd.setCursor(0, 1);

lcd.print(String (“TVOC:”)+ String (tvoc)+String(” PPB “));

lcd.print(String(“T:”+String (int(temp)))+String(“C”));

delay(3000);

lcd.clear();

}

else{

lcd.print(“ERROR”);

while(1);

}

}

}

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:基于Arduino的CCS811空气质量传感器来检测TVOC和CO2-空气质量传感器输出的是什么信号 https://www.yhzz.com.cn/a/6383.html

上一篇 2023-04-13 15:35:44
下一篇 2023-04-13 15:46:21

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。