微信公众号
蘑菇云创造


微信交流群

一、实践情境
人类的生存离不开空气,然而,在空气中除了我们赖以生存的氧气外还有很多可能会影响我们健康的有害物质,如CO2,TVOC等。当他们的浓度较低时不会对我们的身体产生影响,但当他们的浓度达到一定程度就会危害到我们的身体健康。为此,本节课上,我们将自制一个能够检测空气质量的装置,它能帮助我们实时监测空气中CO2和TVOC的浓度,并且在环境变差时提醒我们。Tips:关于CO2和TVOC的介绍可见附录1
二、实践目标
本实践项目运用micro:bit作为智能终端,通过LM35温度传感器采集温度数据,CCS811空气质量传感器来采集CO2和TVOC浓度,并借助风扇来改善环境。
三、知识目标
1. 认识CCS811空气质量传感器、风扇模块等硬件设备;2. 理解上述不同元器件的使用和接线方法,能根据连线图进行实物连接;3. 掌握以micro:bit为智能终端,通过BXY软件编写代码采集CO2和TVOC浓度数据的方法。
四、实践准备
硬件清单:
软件使用:BXY编程软件
知识链接: CCS811空气质量传感器
简介:CCS811空气质量传感器能够测量eCO2(equivalent CO2)和TVOC(Total Volatile Organic Compounds)浓度。可用于空气测量应用,例如:空气质量检测、空气净化器、新风系统等。
CCS811空气质量传感器(后简称为空气质量传感器)的接口既不是数字口也不是模拟口,是IIC接口。IIC我们一般称为I2C(I平方C、I方C)IIC是一种通讯协议。IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到IIC总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。对比扩展板的接口来看就很清楚了。在接口旁边有+、-、C、D分别对应的是正负极接口和SCL、SDA这几个接口。相较于之前使用的传感器多了一根信号线,所以在接线的时候需要注意不要接错位置。
LM35线性温度传感器
简介:这是一款基于LM35半导体的温度传感器,可以用来对环境温度进行定性的检测。LM35半导体温度传感器是美国国家半导体公司生产的线性温度传感器。其测温范围是-40℃到150℃,灵敏度为10mV/℃,输出电压与温度成正比。
五、实践过程
在本项目中,我们将利用空气质量传感器,分三步设计一个空气质量检测装置,来实时检测空气中CO2和TVOC浓度,并尝试利用风扇来改善环境。
1、实时检测CO2和TVOC浓度2、添加环境改善功能
任务1:CO2和TVOC浓度实时检测
1、硬件搭建
STEP1:将micro:bit开发板插入I/O扩展板,注意正反。
STEP2:按下图通过连接线将CCS811、LM35、风扇接入扩展板。
注:空气质量传感器是IIC传感器,所以需要接到对应的位置,扩展板上有两组IIC接口,都可以使用,没有区别。
STEP3:通过USB连接线将micro:bit接到计算机。
2、软件编写
STEP1:软件设置
1、创建与保存项目文件
(1)启动BXY编程软件,选择主控类型“micro:bit”。
(2)新建项目,保存并命名为“m4.1”。
STEP2:程序编写
from microbit import *
import time
import CCS811
ccs811 = CCS811()
while True:
if(ccs811.check_data_ready()):
CO2 = ccs811.CO2_PPM()
TVOC = ccs811.TVOC_PPB()
print("CO2:"+str(CO2)+" ppm")
print("TVOC:"+str(TVOC)+" ppb")
print("-----------------------")
time.sleep(0.5)
3、运行调试
STEP1:点击“烧录”上传程序
观察软件,我们可以发现测得的CO2和TVOC浓度数据实时显示在终端。
STEP2:对空气质量传感器哈一口气
观察软件终端,可以看到浓度数据显著变大
任务2:改善环境
在上个任务中,我们已经完成了对于CO2和TVOC浓度的实时检测,且连接好了硬件设备。接下来,我们可在此基础上添加温度检测并改善环境,当浓度变大时使风扇转动起来。
1、硬件搭建
STEP1:由于上一步已将所有硬件连接好,这里无需再接入做其他硬件
2、软件编写
STEP1:软件设置1、创建与保存项目文件(1)启动BXY编程软件,选择主控类型“micro:bit”。(2)新建项目,保存并命名为“m4.2”。
STEP2:程序编写
from microbit import *
import time
import CCS811
ccs811 = CCS811()
while True:
temp = (pin1.read_analog() / 10.24) * 3
display.scroll(str("temp=%d C"%temp), wait=True, loop=False)
if(ccs811.check_data_ready()):
CO2 = ccs811.CO2_PPM()
TVOC = ccs811.TVOC_PPB()
print("CO2:"+str(CO2)+" ppm")
print("TVOC:"+str(TVOC)+" ppb")
print("-----------------------")
if (CO2 >= 1000 or TVOC >=88 ):
pin2.write_digital(1) #开风扇
else:
pin2.write_digital(0) #关风扇
time.sleep(0.5)
3、运行调试
STEP1:点击“烧录”上传程序,并观察效果
观察micro:bit可以看到环境温度实时显示在点阵屏上,同时检测到的CO2和TVOC浓度显示在软件终端。
STEP2:对空气质量传感器哈一口气随着软件终端浓度的变大,我们可以看到风扇转动起来。
六、延伸拓展
1、优化项目,当CO2和TVOC的浓度过高时使蜂鸣器发出警报声。2、调查资料,了解空气中还有什么物质会影响到健康的?可以通过什么手段来监测他们,他们的变化趋势是怎样的?是否有规律可寻?
附录1:
扩展阅读CO2对人体的影响