基于Arduino家居安防报警系统的设计
2020-07-06邓忠惠
摘 要:采用技术成熟且网络覆盖领域广的GSM技术,结合Arduino单片机技术,设计一款可兼顾实现室内、室外远程报警功能的家居安防监控系统,可对居家盗窃、煤气泄漏、烟雾浓度异常等进行识别并报警。采用Arduino为系统核心,GSM无线通信模块,结合传感器技术实现对人体和有害气体烟雾、煤气等的监控功能。
关键词:Arduino;GSM;家居安防
中图分类号:TP393
随着经济的增长,人们生活水平的提高,人们追求更高品质的生活。在生活节奏比较快的今天,人们在家居上更喜欢智能化、人性化,都渴望拥有舒适安全智能的居住环境[1]。家居生活因为智能家居的出现,变得更富有智慧。将环境参数检测传感器同开源电子平台相结合,结合无线网络传感器系统,可满足智能家居的环境检测需求。Arduino作为一款开源平台,具有易学易用、低成本、开放性高等多种优势。何建华[2]基于Arduino设计开发了智能环境参数检测系统。张秋波[3]结合Arduino技术与WiFi无线模块相连接,实现实时控制家居电器的开关控制。吴思楠[4]以Arduino控制器为核心,通过光照、外围温湿度、可燃气等传感器组合系统采集家居环境数据,实现了移动手机端对家居的实时监控。朱晨[5]基于低能耗、便操作的设计理念,搭建基于Arduino Mega 2560的智能家居控制系统。
随着网络技术的广泛应用,人们对智能安防系统、智能家电控制系统更趋于利用Arduino易扩展、低成本、使用灵活的优势,并在实际的家居领域进行探索。结合家居安防的舒适安全智能化要求,本设计采用技术成熟且网络覆盖领域广的GSM技术,结合Arduino单片机技术探究Arduino技术在家居安防中的实际应用,促进智能家居进一步发展。
1 总体设计方案
家居报警系统包含居家参数检测功能、双重报警功能、居家环境参数显示功能、状态和参数设置功能等4个方面。以及Arduino和GSM为核心的家居安防报警系统根据需要实现的主要功能,系统框架设计如图1。
1.1 烟雾检测模块
烟雾检测模块采用MQ-2烟雾检测和MQ-5煤气检测模块组合而成。MQ-2是气敏式烟雾传感器,是常用家庭的气体泄漏装置,其作用是将采集到的烟雾信号发送到Arduino上让其分析判断。MQ-5是煤气传感器,其作用是将采集到的煤气信号发送到Arduino上让其分析判断。MQ系列对可燃气体与其电导率之间的关系,RS/Ro在MQ烟雾传感器灵敏度图中表示的是在氢气浓度为10000ppm时的RO电阻与实时电阻RS的比值,可燃气体浓度越浓,传感器的实时阻值会发生变化,实时减小,通过设计转换电路后,将阻值的变化转换成一个与烟雾浓度对应的电信号后,单片机进行采集实现检测。
1.2 人体检测模块
热释电红外传感器本身不发任何类型的辐射,器件功耗很小,隐蔽性好,价格低廉。主要由多个元件组成,其中包括电晶体、硅窗口、引脚等。在顶端增加带有滤光功能的镜片,可以隔断光线的干扰。人体辐射的红外线波长约为10μm,而防盗报警系统中的传感器过滤片厚度为8-14μm。在波长的检测范围内,热释电红外传感器可以检测到人体的辐射。
2 硬件设计
2.1 单机片控制电路
Arduino是一款以AVR单片机为核心的高集成、积木式的嵌入式开发平台。Arduino能通过各种各样的传感器来感知环境,通过控制马达、灯光和其他的装置来反馈和影响环境。本设计中检测家居温湿度模块,通过直接调用DHT11库文件,只需要对Arduino的某一个引脚用来接受温度数据便可实现对数据的直接读取,非常简单方便。Arduino通过外部结构来实现对数据进行读取,并通过GSM与手机进行通信。
2.2 LCD电路设计
LCD1602液晶屏是用于温度、烟雾和人体等三个检测传感器的显示。Arduino单片机的2到9的8个引脚和LCD的数据口B0到B7进行连接,将检测数据处理后发送到LCD1602液晶屏显示。Arduino单片机的10到12三个引脚与RS、RW以及EN使能引脚连接,按照数据传送时序对LCD控制,实现显示功能,同时VO引脚串接一个阻值为2K点阵上拉后,对液晶的显示亮度进行控制。
2.3 报警电路
如果传感器检测到某个参数有异常,实现的功能是检测到有异常后在室内通过声音和灯光闪烁的形式报警提示有异常状况发生。烟雾浓度异常、温度异常亦或人体检测异常时,输出低电平使驱动管导通,有源蜂鸣器发出声音,LED也会跟随一起闪烁。
2.4 烟雾和煤气检测电路设计
烟雾和煤气检测都是用的MQ系列传感器,检测原理和电路一样。最为核心的为处于2脚和5脚之间相连接的一根电阻丝,在不同类型气体以及浓度值作用下,半导体材料构成的电阻值会发生改变来输出与浓度值对应的电压。
本设计采用一款在Arduino自带AD模块,直接读取烟雾模拟电信号,实现厨房煤气数据读取,采用A3模拟引脚一根单片机引脚线即可实現,对于节省引脚资源也意义重大。
D采样值=V输出电压值5×(210-1)
2.5 人体检测电路
选择的热释电人体检测电路,其内部的感应模块感应到有人后,输出一个3.3到5V的电压。当没有人移动的时候,输出为0V,读取对应引脚的状态就可以直接实现对盗窃是否异常进行判断。
2.6 GSM无线电路
选择的GSMSIM800C无线模块,Arduinod单片机接收到数据集后,在内部对数据进行判断有异常时,通过GSM的电话卡直接发送短信手到机上,实现无线报警功能。Arduino单片机的串口发送TXD引脚与SIM800C的RXD接收引脚连接,Arduino单片机的串口接收引脚RXD与SIM800C的TXD发送引脚连接,通过串口对SIM800进行发送指令以及接受指令控制,SIM800通过内部设置好的电话卡进行短信发送和接受。
3 软件设计
3.1 主程序设计
在程序设计中主要包括系统运行的控制主程序以及调用的其他子程序,防火防盗上电后,主程序开始运行,实现对引脚,显示参数,报警界限值进行初始化等功能,然后循环进行执行扫描按键程序,调用显示程序,检测参数数值是否异常程序,如图2。
先进行初始化操作,主要時单片机引脚、设备和相关参数的初始化,设置初始烟雾报警界限值,将数据写入单片机对应的存储器中,设置GSM短信电话号码,对其分配变量名称后,按照顺序存在对应的寄存器中。初始化完成后,根据读取的按键值对寄存器内部初始化存储的数据修改。实时读取检测火灾的烟雾和温度数值以及与热释电连接的引脚状态,对家庭火灾和盗窃异常状况进行检测,如果检测到三个参数中的最少一个发生异常就进行报警。
3.2 显示子程序设计
LCD1602显示的主要控制原理就是根据图3的读写时序,三个控制RS和RW以及EN的引脚按照时序图控制后,8个数据引脚完成对显示数据的读取,实时显示三个检测参数值以及设定值,如图4。
3.3 无线报警设计
无线报警主要是以串口中断的形式进行控制的,当烟雾传感器、温度传感器以及人体传感器检测到有异常之后,Arduino单片机将发送标志位置1,给GSM发送一个指令,调取在内存中设置好的电话号码和短信内容后,将数据发送给对应电话号码的手机,实现无线提醒功能,见图5。
4 系统测试
接通电源给系统上电,GSM模块得电后会有一个闪烁,LCD会显示初始化过后的值。测试火灾检测报警功能,采用打火机对温度传感器加热,同时通过点燃纸片等增加烟雾浓度,液晶显示屏显示的温度和烟雾数值上升,如果超过界限则进行报警。测试盗窃检测报警,按下布防按键,人体接近的时候,LCD会显示有人以及进行报警。
对实现的功能进行验证,根据检测到的烟雾传感器、温度传感器以及热释电传感器的数值,对火灾和盗窃进行判断。通过声音、LED灯以及GSM的工作情况,还有传感器工作灵敏度,系统工作可靠性等。
5 结论
经过对Arduino、传感器模块、GSM等系统部件的组装调试,本系统可达到室内烟雾报警、煤气泄漏报警和防盗的设计要求,实现预期功能效果。
参考文献:
[1]黄利红.基于Arduino的智能家居远程控制系统设计[J].数字技术与应用,2019,37(12):161+163.
[2]何建华,吴燕峰.基于Arduino的智能环境参数监测系统设计开发[J].信息与电脑(理论版),2019,31(24):64-65.
[3]张秋波.基于Android手机和WiFi的网络定时开关的设计与实现[D].吉林大学,2015.
[4]吴思楠.基于物联网的智能家居控制系统设计与实现[D].扬州大学,2016.
[5]朱晨.基于Arduino Mega 2560的智能家居控制系统的实现[D].武汉邮电科学研究院,2018.
基金项目:广西高校科学技术研究项目(基于Android的嵌入式智能家居系统的研究与设计,项目编号:KY2015LX480);广西高校大学生创新创业计划项目(201711838128)
作者简介:邓忠惠(1980-),男,广西横县人,本科,讲师,嵌入式与智能控制。