基于Arduino的PM2.5实时检测系统

2018-09-26 10:18沈华刚洪香勤都兴隆
无线互联科技 2018年14期
关键词:液晶屏蜂鸣器液晶

沈华刚 洪香勤 都兴隆

摘 要:文章针对城市中PM2.5进行分析监视,并把数据实行显示在下位机和网络端。有利于相关部门或个人获得PM2.5数据信息,及时对恶劣污染作出反应,减少恶劣环境对人们的侵害。本系统由Arduino uno R3开发板、PM2.5传感器、LCD液晶显示模块、蜂鸣器报警装置、W5100等模块组成,空气中的PM2.5被传感器采集,数据经过Arduino单片机处理后,显示在LCD12864显示屏上,并通过W5100把数据传到网络端,由C#接收数据并保存在数据库中,同时在网络端显示数据和曲线。

关键词:Arduino;实时监测;PM2.5

1 系统的总体设计思路

本设计所要介绍的是基于Arduino单片机的PM2.5检测装置及通过W5100上传到网络的网络显示系统。利用PM2.5传感器检测PM2.5值,经Arduino处理后在12864液晶显示屏上显示,供人观测。将获取的PM2.5值利用C#保存到SQL Server数据库中利用C#,ECharts,JQuery技术将PM2.5值以折线的形式显示在网页中,可以显示不同时段、不同间隔的PM2.5值,当检测到的PM2.5值超过警戒值时,在下位机上蜂鸣器会发声,同时在液晶屏上出现哭脸,在网络端会发邮件给环境管理人员;当环境温度正常时,在下位机上显示笑脸,并显示PM2.5数据[1]。

2 元器件的选择

2.1 单片机部分

本系统采用Arduino单片机,该单片机常用于3D打印机的控制,是一块基于开放源代码新型开源单片机,包括12数字通道,4个PWM端口,8个ADC接口,Arduino简单易学,使用类似Java,C语言编程开发环境。使用者可以快速使用Arduino与Flash或Processing等软件实现常用的功能。

2.2 传感器部分

选择工作电压为4.8~5.2 V夏普二代粉尘传感器,其工作温度-20~70 ℃,该传感器内部集成单片机驱动算法,检测到PM2.5数据直接通过传感器的串口输出。在编程时直接通过相应的单片机解析得到16位数据即可,数据输出方式有模拟端口和串口两种方式,在编程时可以利用模拟端口输出电压值Vo乘以修正系数K即得到PM2.5值;也可以利用串口输出值Vo,实际应用时应该根据传感器输出的不同的电压确定相应的灰尘质量分数[2]。

2.3 蜂鸣器

蜂鸣器是一种产生鸣叫的电子元器件,采用直流电源供电,在需要报警发声或利用声音起提示功能的电路中经常使用。蜂鸣器可以分为两类:一类是利用电压发声的压电式蜂鸣器,另一种是利用电磁感应原理发声的电磁式蜂鸣器。

3 显示部分

本次系统选择了LCD12864液晶显示屏作为PM2.5显示部分,LCD12864液晶显示屏支持串行和并行两种模式,既可以显示中文也可以显示英文和表情符号,在编程时只要把中文和表情利用软件转换为二进制数据即可在该液晶屏上显示,可直观地显示当前的PM2.5值。

LCD12864液晶显示屏广泛应用于单片机控制系统,可以显示英文也可以显示汉字、图片、曲线等数据。LCD12864液晶显示屏集成度很高,一般由行驱动芯片、数据控制芯片和列驱动芯片三大模块组成,LCD12864液晶显示屏带由汉字库,所以能够显示汉字和表情。Arduino单片机读写LCD12864液晶显示屏数据实际上就是对LCD的控制芯片进行读写。利用Arduino单片机编程驱动LCD12864液晶显示屏时,不需要对LCD12864液晶显示屏的原理进行深入了解,只要调用Arduino的液晶显示屏库文件和相应的方法就可以了[3]。

LCD12864显示屏使用时注意事项:(1)当使用LCD12864显示屏时,在读取数据时视线应该垂直于液晶显示屏。(2)防止LCD12864显示屏液晶屏跌落或撞击,避免液晶显示屏破裂。(3)液晶显示屏表面避免有液体,当出现液体时尽快擦干以防止液晶屏腐蚀,降低显示效果。(4)LCD12864显示屏液晶屏液晶模组应在规定的温度范围内使用。(5)不要在LCD12864显示屏的电源断路器(Power Circuit Breaker,PCB)板上打孔,不要私自打开移动或修改显示屏的元件。(6)避免静电[4]。

4 数据处理及编程思路

夏普PM2.5传感器接收到的数据按公式计算后转换成电压Vo的值,计算公式如下:Vo=(Vout(H)×256+Vout(L))/1 024×5。

例如:Vout(H)=0x01,转换为10进制为1;Vout(L)=0xe0,转换为10进制为224;则Vo=(1×256+224)/1024×5=2.344 V。

得到Vo的数值后,乘以灰尘修正系数K即可得到PM2.5的质量分数值:灰尘质量分数=K×Vo。

本系统实现PM2.5监测方案最基本的实现方法是由Arduino uno R3开发板、PM2.5传感器、LCD液晶显示模块、蜂鸣器报警装置、W5100等组件组成的电路,空气中的PM2.5被传感器采集,其数据经过Arduino单片机处理后,最终结果会在LCD显示屏上显示。PM2.5值高于报警值后,蜂鸣器会报警[5]。另外,本课题不仅能够实时检测PM2.5的质量分数,也可以根据当前检测的PM2.5质量分数值是否超标做出反应,超标时蜂鸣器会报警,表情会变成哭脸。报警值可以预设程序中的临界值,根据PM2.5检测网的空气质量新标准:优 0~35 μg/m3,良35~75 μg/m3,轻度污染75~115 μg/m3,中度污染 115~150 μg/m3,重度污染150~250 μg/m3,严重污染大于250 μg/m3及以上,故编写下位机程序的思路如下。

检测的PM2.5的质量分数值在300以下,蜂鸣器不鸣叫,表示环境未达到严重污染,表情为笑脸;检测的PM2.5的质量分数值在300以上,蜂鸣器鸣叫,表示环境达到严重污染,表情为哭脸[6]。

对于网络编程是将Arduino接收到的PM2.5值利用w5100将监测到的PM2.5值传送W5100的网关http://192.168.1.177/,利用C#抓取http://192.168.1.177/网页中的内容,分解得到PM2.5值并存入数组和数据库,利用C#,AJAX,JSON,ECharts,JQuery技术将PM2.5值以折线的形式显示在网页中,可以显示不同时段、不同间隔的PM2.5值,当检测到的PM2.5值超过警戒值时,在网络端会发邮件给环境管理人员[7]。可以统计每一周、每个月环境处于各个等级的天数,以表格中不同字体颜色和折线两种方式反映PM2.5的情况。

5 程序运行情况

图1是下位机的运行情况图,当PM2.5正常的时候出现笑脸,并且显示PM2.5的值。当检测到的PM2.5值超过警戒值时,在下位机上蜂鸣器会发声,同时在液晶屏上出现哭脸。

[参考文献]

[1]苏巧平,薛颖操,周一晨,等.基于MC9S12XS128MAA单片机的智能小车设计[J].新乡学院学报(自然科学版),2013(3):195-198.

[2]高青,陈洪波,冯涛,等.老年人跌倒检测系统的研究現状与发展趋势[J].医疗卫生装备,2015(12):102-105.

[3]王旭东.基于Lab Windows/CVI7.1综合检测系统[J].今日电子,2007(8):38-40.

[4]于庆魁,王任飞,李科杰.引信零件微机控制在线尺寸检测系统的探讨[J].现代引信,1988(4):22-30.

[5]张文龙,徐荫浓.微计算机检测系统中提高分辨能力的一种方法及其应用[J].微计算机应用,1988(5):33-35.

[6]南江萍.一种甲醛检测系统的设计[J].无线互联科技,2016(23):47-48.

[7]郑娱,鲍楠,徐礼胜,等.跌倒检测系统的研究进展[J].中国医学物理学杂志,2014(4):5071-5076.

猜你喜欢
液晶屏蜂鸣器液晶
电动自行车产品车速提示音检测现状和整改技术研究(2)
不可压液晶方程组的Serrin解
《液晶与显示》征稿简则
掌控板制作简易钢琴
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
单片机驱动蜂鸣器的程序设计
FPGA的TFT-LCD真彩液晶屏显示控制
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
液晶与显示2015年第30卷第1期 目录
基于图像处理的电能表液晶屏质量检测方法