广东工程职业技术学院人工智能学院 李南安
空气质量一直是人们关注的话题,特别是人们大多数时间所在的室内空气质量。本设计采用STC15系列单片机为核心,配合两个传感器进行气体数据采集,然后将数据显示在LCD显示器上,把空气数据化,还能通过局域网或连接设备进行收发数据,时刻能够关注到空气质量的变化,并有提醒功能;如果检测的空气质量数据超过标准值,显示屏上的数据会变成红色,提醒用户需注意当前空气。经过测试,系统能对TVOC(挥发性有机物)、CO2(二氧化碳)、温度和湿度正常采集,并将检测的数据正常显示在屏幕上。通过网络测试,使用网络调试助手可以让数据正常收发。
近年来,人们对自己的身体健康越来越重视:注意自身的饮食习惯,并加强锻炼身体,保持心理平衡。但即使做到了这些,还有一项重要的因素影响着人们的身体健康,且将长期影响,那就是:空气。了解空气质量,改善生活环境,人们对空气质量检测的需求也越来越大,考虑到人们大多数时间都呆在室内,而且室外空气变化较大,所以从室内空气着手,注重对室内空气的质量检测,包括TVOC(总挥发性有机物)、CO2(二氧化碳)、温度和湿度。根据国家标准GB/T 18883-2002《室内空气质量标准》提到的室内空气中的各种参数,选取了总挥发性有机物TVOC和二氧化碳CO2作为本设计的空气检测对象,具有一定的参考价值。
根据前面提到的模块,进行系统总架构设计,系统除了ESP8266需要3.3V电源外,其余元器件都是5V供电。液晶数据由单片机输出,没有数据交换;ESP8266需要和单片机数据交换才能完成无线收发功能;DHT11发送数据给单片机;SGP30同样既可读取数据,也可写入数据。设计图如图1所示。
本设计单片机IAP15W4K58S4接5V电源。ESP8266使用串口3,所以使用P0.0和P0.1端口,TFT液晶显示屏需要SPI通信,所以MOSI和SCLK分别连接P1.3和P1.5,剩下的引脚接普通I/O口即可。DHT11模块数据引脚没要求,故接普通I/O口。SGP30模块CL和SDA引脚是I2C通信,故使用普通I/O口即可。串口1:P3.0和P3.1用作单片机程序下载口,即USBISP下载,通过带有CH340G的USB转串口数据线可实现程序的下载。由于此单片机内部自带高精度时钟,因此本设计没有使用外部晶振,仅通过ISP编程时选择系统内部始终即可,本次设计使用的系统内部IRC频率为12.000MHz。单片机端口各个端口定义如图2所示。
图1 系统总设计框图
图2 IAP15W4K58S4单片机原理图
SGP30模块使用I2C与IAP15W4K58S4单片机进行通信。实物图如图3所示,模块原理图如图4所示。
图3 SGP30实物图
图4 SGP30模块原理图
图5 DHT11模块原理图
图6 ESP8266模块原理图
图7 TFT-1.44液晶原理图
图8 系统程序流程图
图9 液晶显示
此模块采用单线制串行接口,只有一个数据口,接单片机的普通I/O口即可。根据官方提供的Datasheet,接口上建议:当连接线长度短于20m的时候,使用5K上拉电阻,而大于20m的时候则需要根据实际情况使用恰当的上拉电阻。该模块的供电电压为3-5.5V,所以接系统电源5V即可。模块原理图如图5所示。
该模块采用UART通信,即通过串口与单片机进行通信。模块原理图如图6所示。
图10 网络调试助手APP
本设计使用的液晶为5V供电,所以直接使用系统电源供电即可。该液晶模块使用的是SPI通信,模块原理图如图7所示。
本设计各模块编程采用模块化编程思路。系统程序工作流程如图8所示。
结论:液晶显示如图9所示,手机网络调试助手界面如图10所示。通过颜色变化,警示空气质量情况。