基于单片机的智能家居信息看板设计
2020-06-21周苗苗
周苗苗
摘 要:为方便人们提高居住环境的舒适度,笔者设计了一款智能家居信息板。该信息板以单片机AT89S52为核心,结合指令按键、DHT11温湿度传感器、GP2Y1010AU0F粉尘传感器、ADC0832模数转换器、有源蜂鸣器和GT12864液晶显示器等外围器件的特点进行设计,不仅实现了居住环境参数信息可视化的功能,而且集成了时间调整、温湿度和PM2.5值分级及超限报警功能。
关键词:智能家居 单片机 信息看板 产品设计
随着社会进步、科技发展和人民生活水平的不断提高,21世纪的人类对于美好生活的追求,不仅仅满足于温饱问题的解决,更加注重生活品质。因此,越智慧、便捷的数字产品,越能提升人们的幸福指数。本文基于人们对居住环境调整改善的需要,设计了一款以单片机AT89S52为核心,能够实时、便捷、可视化反映居民生活环境的智能家居信息看板。本系统不仅可同屏显示年、月、日、星期、时、分、秒、温度、湿度和PM2.5值,而且能够反映当时温湿度是否超限及空气质量等级。同时,若温湿度不在设定舒适范围或空气质量处于严重污染等级,则会发出声音报警信号。
一、系统总体设计
本系统以单片机AT89S52最小系统为核心,12864液晶显示屏、电子蜂鸣器、DHT11温湿度传感器、GCG1000粉尘传感器和指令按键等外围器件为功能支撑,实现了集时间显示和温湿度、PM2.5值监测与报警为一体的同屏显示信息看板。本系统的总体结构框图如图1所示。
二、系统硬件设计
(一)单片机最小系统
该设计采用的主控芯片是ATMEL公司所生产的一种低功耗、高性能CMOS8位微控制器AT89S52,具有8位在系统可编程Flash存储器。
单片机的最小系统由单片机芯片(如AT89S52)、复位电路和外接晶体振荡电路组成。
振荡电路-单片机活起来的心脏AT89S52内部具有振荡电路,在XTAL1和XTAL2之间接上石英晶体,给单片机加上工作所需直流电源,振荡器开始振荡,单片机也开始工作起来。
复位电路-恢复初始状态值复位电路就是在RST端外接的一个电路,目的是当单片机上电开始工作时,内部电路从初始状态开始工作,或者在工作中要想人为让单片机重新从初始状态开始工作。
(二)温湿度监测模块
室内的温度过高会使人血管扩张、脉搏加速,甚至出现头晕等症状;温度过低又会使人代谢功能下降,脉搏和呼吸变缓,皮肤过紧,皮下血管收缩,呼吸道抵抗力下降。同样,夏天湿度大时,抑制人体蒸发散热,使人体感不适;冬天湿度大时,会使人觉得寒冷。湿度过低时,人感到口干舌燥,并易感冒。研究表明,人体感觉相对舒适的温度范围为15℃~24℃,湿度范围为30%~60%。因此,对于温湿度的检测也是必要的。
本模块采用DHT11温湿度传感器。它包括一个电阻式感湿元件和一个NTC测温原件,具有快捷、体积小、低功耗的特点。通过单片机AT89S52的I/O口与DHT11单总线串行接口进行通信。温湿度数据一次性传送给单片机,数据分整数和小数部分,并采用校验和方式校验,能够有效保证数据传输的准确性。
传感器内部一次完整传输5Byte(40bit) 数据,高位先出。传感器输出未编码二进制数据,其中校验和数据为前四字节和。数据格式及说明如下:濕度整数(Byte4)+湿度小数(Byte3)+温度整数(Byte2)+温度小数(Byte1)=校验和(Byte0)。
例如,一次数据传输为:00101100 00000000 00011100 00000000 01001000。则表示湿度为44.0(%RH),温度为28.0℃,校验和为72。
(三)粉尘监测模块
粉尘又称可吸入颗粒物,对人的身体健康百害而无一利。这种可吸入粉尘能够进入人的肺泡,长时间沉淀,心肺病、心血管疾病均可由它引起,而且细菌能够以粉尘为载体,一同散入空气,极易传播疾病。因此,粉尘检测仪便成为生活中具有重大意义的必备品。
本设计的粉尘监测模块由ADC0832模数转换器和GP2Y1010AU0F粉尘传感器组成。其中GP2Y1010AU0F粉尘传感器是一个采用光学传感系统的灰尘传感器。该器件由红外线发光二极管和一个光电管成对角布置而成,能够检测空气中的尘埃的反射光,尤其是香烟烟雾等非常细的粒子。ADC0832转换芯片实时将GP2Y1010AU0F粉尘传感器采集的粉尘浓度进行模拟量向数字量的转换。进而通过单片机的数据转换处理后在液晶看板上显示空气质量。当监测浓度大于设置粉尘浓度时,蜂鸣器则发出鸣叫报警。
(四)报警模块
报警模块采用程序控制方便的有源蜂鸣器,因其采用直流电压供电,被广泛应用于计算机、复印机、电子玩具、报警器等电子产品中作发声器件。当温度、湿度或PM2.5值超限时,将通过单片机的I/O引脚使其报警鸣叫。
(五)液晶显示模块
本设计采用的是由S6B0108、S6B0107、128×64点液晶显示板、背光构成的液晶TG12864显示模块,其中S6B0108是TG12864的控制驱动器,S6B0107是TG12864的行、列驱动控制器。即只要控制好S6B0108、S6B0107就能使TG12864进行显示,可显示图形、字母、数字和汉字等。
三、系统软件设计
该系统采用简洁、高效、移植性强、模块化的C语言作为编程语言,使用Keil软件对源程序进行编辑、编译、仿真调试、下载。以主函数为主线,并根据功能划分成若干易于解决问题且功能相独立的子函数完成整个软件设计,具体软件编程依据如下。
(一)温度模块
设定温度范围“15℃~24℃”,若超限,液晶看板显示偏低(符号为“↓”)或偏高(符号为“↑”)。无论偏高或偏低,只要不在设定温度范围内,蜂鸣器均会发出报警声信号。
(二)湿度模块
设定湿度范围“30%~60%”,若超限,液晶看板则会反映环境干湿情况(若低于30%,显示“干”,若高于60%,显示“湿”)。无论偏湿或偏干,只要不在设定湿度范围内,蜂鸣器就会发出报警声信号。
(三)PM2.5模块
根据空气质量划分成六个等级:优(0~35ug/m3)、良(35~75ug/m3)、轻度污染(75~115ug/m3)、中度污染(115~150ug/m3)、重度污染(150~250ug/m3)、严重污染(高于250ug/m3)。无论PM2.5值为上述何种情况,液晶看板都会有所反映,依次分别显示优、良、轻、中、重和严。只要PM2.5值高于150 ug/m3,蜂鸣器就会发出报警声信号。
(四)时间模块
液晶显示年、月、日、星期、时、分和秒,指令按键用于矫正时间。
具体功能实现如图2所示。
四、小结
该智能家居信息看板具有结构简单,实时灵敏,可编程且程序易于植入等特点。它不仅仅适用于家庭,由于病人、儿童和老人相对抵抗力差,对于环境舒适度要求较高,因此更适用于医院、幼儿园、养老院等场所,具有较广阔的应用前景。
参考文献:
[1]周永东,尹东燕.单片机技术及应用[M].北京:电子工业出版社,2012.
[2]阎石.数字电子技术基础(第五版)[M]. 北京:高等教育出版社,2006.
[3]朱永金,成有才.单片机技术及应用(第二版)[M]. 北京:中国劳动社会保障出版社,2013.
(作者单位:郑州市技师学院)