“遗憾的是,以进步的名义,我们已经污染了空气,水,土壤和所吃的食物”。因此,如今由于污染,监测空气质量至关重要。为了设计空气质量监测系统,我们需要耐用且可靠的空气质量传感器。尽管有许多空气质量参数,但最重要的是二氧化碳和TVOC。因此,为了感测CO2和TVOC,我们使用CCS811空气质量传感器。
在本教程中,我们将向您展示如何使用带有Arduino的CCS811空气质量传感器来感测TVOC和CO2。此外,您还将学习如何将CSS811与Arduino接口。
所需材料
- Arduino UNO
- CCS811空气质量传感器
- 电位计(10k)
- 液晶屏16 * 2
- 面包板
- 连接线
电路原理图
CCS811空气质量传感器
CCS811空气质量传感器是一种超低功耗数字气体传感器,集成了MOX(金属氧化物)气体传感器,可通过集成的MCU(微控制器)检测各种VOC(挥发性有机化合物),用于室内空气质量监测。MCU由ADC(模数转换器)和I2C接口组成。它基于ams独特的微热板技术,可为气体传感器提供高度可靠的解决方案,并且功耗低。
在我们的电路中,我们正在使用此传感器来感应环境中可用的TVOC和CO2,并在16 * 2 LCD上显示数据。
引脚配置
销号 |
引脚名称 |
描述 |
1个 |
文 |
输入电源(3.3v至5v) |
2 |
3V3 |
3.3V输出引脚供外部使用 |
3 |
nd |
地面 |
4 |
SDA |
这是I2C时钟引脚 |
5 |
SCL |
I2C数据引脚 |
6 |
唤醒 |
传感器的唤醒引脚,应接地,以便与传感器通信 |
7 |
RST |
复位引脚:接地后,传感器自行复位 |
8 |
INT |
这是中断输出引脚,用于检测何时准备好新的读数或何时读数过高或过低 |
应用
- 智能手机
- 可穿戴
- 家庭和楼宇自动化
- 配饰
代码和解释
最后给出了使用CCS811空气质量传感器进行TVOC和CO2测量的完整Arduino代码。
在下面的代码中,我们定义了16 * 2 LCD和CCS811空气质量传感器的库。要下载CCS811的库“ Adafruit_CCS811.h”,请单击此链接。
#包括
下面我们定义了用于将16 * 2 LCD与Arduino连接的引脚。
液晶液晶(12,13,8,9,10,11); ///注册选择密码,启用密码,D4密码,D5密码,D6密码,D7密码Adafruit_CCS811 ccs;
下面我们设置了LCD和CCS811空气质量传感器,并对其进行了校准以显示正确的温度,如以下代码所示,
void setup(){lcd.begin(16,2); ccs.begin(); //校准温度传感器while(!ccs.available()); float temp = ccs.calculateTemperature(); ccs.setTempOffset(temp-25.0); }
在下面的代码中,我们使用了函数 “ ccs.available()” (该函数已在库中定义),以检查是否有数据输入。获得数据后,我们便可以计算温度并将其显示在16 * 2 LCD上。
另外,如果CCS是可用的和 ccs.readData() 将返回false,那么我们使用功能得到CO2值 ccs.geteCO2() 使用和TVOC值 ccs.getTVOC() ,如图所示下面的代码。因此,我们已经使用CCS811空气质量传感器接收到了空气质量参数的值。
无效循环(){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”))); 延迟(3000); lcd.clear(); } else {lcd.print(“ ERROR”); while(1); }}}
完整的Arduino代码如下。代码很简单,所有工作都由其库本身完成,并且我们使用了CCS库中定义的函数来获取CO2和TOVC的值。
另外,请检查:
- 使用Arduino的基于IOT的空气污染监测系统
- 使用Arduino从MQ气体传感器测量PPM