基于Arduino的智能环境监测.docx
《基于Arduino的智能环境监测.docx》由会员分享,可在线阅读,更多相关《基于Arduino的智能环境监测.docx(18页珍藏版)》请在冰豆网上搜索。
基于Arduino的智能环境监测
1设计背景及概述
1.1研究目的和意义
随着社会的发展,生产技术的更新,物联网理念如今已经逐渐深入人心,并随着传感器技术、通信技术和物联网技术的发展逐渐触及社会的每一个角落。
一个智能化的控制系统,不仅能够帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。
[1]但很少有将这种物联网技术应用于大学生宿舍。
然而,随着各大高校的扩张,在校大学生的人数越来越多,学生宿舍的不稳定因素因素也越来越多,在当代社会信息化、智能化快速发展的背景下,基于这些因素,设计了“智慧宿舍”系统来对学生宿舍经行管理是有现实意义的。
1.2应用背景
自从1984年后,美国、欧洲等经济发达的西方国家和部分电子行业先进的东南亚国家,看到了智能家居存在的巨大的潜在市场价值后,纷纷投入人力物力进行相关研究。
由于西方等国家的经济实力和科学技术当时走在世界前列,他们在这方面的研究也相对深入。
人工智能是人类发展进步的重要环节,还在很早的时候,人们就开始在文学作品和影视作品中幻想着先进的智能控制技术,例如熟知的《巧啦A梦》和《变形金刚》等,机器人和智能家居都是人工智能研究的重要方向,其目的都是为了极大的方便人类的生活,增强社会生产力,促进化会发展。
由于西方等国家的经济实力和科学技术当时走在世界前列,他们在这方面的研究也相对深入。
特别是1998年在新加坡举办的"亚洲电器与电子消费品博览会上"推出的"未来之家"智能家居系统深受用户的好评,当时的功能已经包括:
抄表、部分家电控制、电话接入、智能布线箱等,这个成功的案例为智能家居研究人员指明了方向,也初步定义了智能家居的功能需求。
当然随着科学技术的不断发展,人们对于生活品质的要求也在不断提升,相应的功能要求也随之不断更新。
国内相比西方发达国家来说起步较晚,1994年才从美国等发这国家首次进曰智能家居设备,真正开始进入实质性研究也就是从2000年开始,我国才有了具有独立自主研发功能的相关公司。
所以国内智能家居的研究大概可被分为以下几个阶段:
萌芽期:
整个行业还处在一个熟悉概念、产品认知的阶段,国内没有专业的智能家居生产厂商,只是有个别的厂商代卖美国的一些概念产品,实际效果更偏向于“家居自动化”。
徘徊期:
送个阶段,大量的企业开始着手做智能家居,虽然在功能上实现了一定的“智能化”,但大部分厂商盲目夸大其实际作用,使得用户的认同感很差,很多厂家都在这个时期夭折。
融合发展期:
近些年,随着物联网研究的不断深入,家庭网络和信息家电的高度融合使得智能家居不断发展,生产研发开始正规化,价格也趋于“平民化”,加之国家政策的不断倾斜,智能家居正在迎来一个崭新的发展机遇期,向着真正意义上的“智能家居”又开始大踏步的向前走[2]。
由此可看出,国内的智能家居还处于一个比较低层次的阶段,智能家居系统的集成性、系统性还不够完善叫但也可W从另一方面可看出智能家居在国内还有很大的潜在开发价值,一些知名的企业如天津瑞朗,青岛爱尔豪斯,海尔,华为等已经在智能家居方面做了不少研究。
而对于大学生来说,宿舍就是大学生的家。
现在大学生已经充分享受到了科技带来的诸多便利,但“智能家居”却并没有在校园宿舍中得到应用和发展,智慧宿舍的发展正处于空窗期。
经调查智慧宿舍在经济方面是大学生可以接受的。
相关元器件价格不断下降,技术越来越成熟,使得智能宿走进了我们普通人的生活。
其系统功耗低、操作简便、稳定性高、实时性好。
系统主要应用了单片机技术和现代化电子通信技术,具有多项功能。
具有性能稳定、能全天候工作、耗电省,安装使用方便等特点。
研究目的基于生活的便捷及高效的方向出发,主要是为了改进当下宿舍的监控方式落后及使用不方便等缺点,本设计的智能代替了传统设备手动机械控制,不仅效率高、成本低、使用方便、可控性强,更能提升安全性性、舒适性、艺术性,并实现环保节能的居住环境[3]。
1.3社会效益与经济效益
如今在学校的寝室里,学生贵重物品被盗、由于学生过失而引起着火等事故时有发生,这些都是一直以来困扰着学生、学工以及学校保卫处的“大问题”。
传统的防范措施存在很大的弊端,比如当事故发生时,防护铁门、铁栏杆就会成为主人逃生的最大障碍。
而采用智能防火防盗报警系统,便能很好地解决此类问题了。
但是市场上防火防盗系统价格对大学生来讲过高,本系统便是针对大学宿舍,从低成本的角度来设计制作的[4]。
以保证学生人身及财产安全免受损失,在进行具体设计的时候要考虑到许多理论与实际的问题,对所有的技术运用做一个总结,探索出了一种适合学生宿舍使用并且价格合理的智能安防系统,在极大提升学生宿舍的安全系数的同时,成本控制在两百元以下,易于推广容易被广大学生所接受。
2项目设计原理
2.1原理概述
智慧宿舍的主控芯片采用Arduino,其优势就在于其开发方便,兼容性好,处理速度快。
系统分为5部分:
Arduino核心板,烟雾监测模块,GSM模块及热释红外模块,蜂鸣器或语音模块。
如图1所示,Arduino核心板负责一系列状态检测,数据处理,逻辑处理及执行控制。
烟雾监测模块用于检测烟雾,当宿舍发生火灾产生烟雾时,可感知烟雾并将当前状态发送至Arduino核心板。
热释红外模块用于检测是否有人经过,当宿舍人员全部离开后,安防系统开始工作;当有人进入时可感应到有人非法闯入,并将次状态发送至Arduino核心板。
GSM模块用于发送手机短信,当盗窃、火灾等事故发生时,通过Arduino核心板的控制可使该模块向固定手机号码发送短信,提示用户。
蜂鸣器或语音模块用于语音报警,当出现意外状况时,发出警报声。
2.2硬件设计原理
2.2.1主控芯片Arduino
Arduino是近年来快速流行起来的一种控制器,它是一个硬件平台,使用的核心是一个AVR芯片,整块控制板类似于单片机开发板,但是在功能上强大了很多。
Arduino是一款便捷灵活、方便开发者使用和上手的开源电子原型平台,包含各种型号的Arduino板及扩展板硬件资源和ArduinoIDE软件资源。
Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是当前硬件开发的趋势。
Arduino构建开放源代码的simpleI/O接口板,使用Java,C语言的Processing/Wiring开发环境。
开发语言和开发环境简单、易理解,使用者可以快速做出有趣的东西。
Aduino可以配合LED灯、蜂鸣器、按键、光敏电阻等电子原件一起工作。
我们所使用的ArduinoUNO是目前使用最广泛的Arduino控制器,具有ArduinoUNO时ArduinoUSB接口系列的最新版本,电路如图1所示。
作为Arduino平台的标准模板。
UNO的处理器核心是ATmega328,它包括14路数字输入/输出接口(其中6路可作为PWM输出,6路模拟输入),一个16MHz晶体振荡器,一个USB接口,一个电源插座,一个ICSP接口和一个复位按钮,。
在掌握了ArduinoUNO开发技术以后,就可以将自己编写的代码轻松地移植到其他型号的控制器上,可以用来开发交互产品,比如可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理电子设备等[5]。
Arduino的优势就在于其开发方便,兼容性好,处理速度快。
对Arduino的编程是利用Arduino编程语言(基于Wiring)和Arduino开发环境(基于Processing)来实现的。
基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信(比如Flash,Processing,MaxMSP)来实现。
Arduino具有一下特色:
1.开放源代码的电路图设计,程序开发接口可免费下载,也可以依需求自己修改。
2.使用低价位的微处理控制器,(AVR系列控制器),可以采用USB接口供电,也可以使用外部DC9V电源。
3.Arduino支持ISP在线烧写,可以将新的bootloader固件烧入AVR芯片。
有了bootloader之后,就可以通过串口或者USB转RS232的转换线来更新固件。
4.可依据官方提供的Eagle格式的PCB和SCH电路图简化Arduino模组,完成独立运行的微处理;可简单地与传感器、各式各样的电子原件连接(例如:
热敏电阻、光敏电阻、伺服电机等)。
5.支持多种互动程序,如:
Flash、Max/MSP、VVVV、PD、C、Processing等。
6.应用方面,利用Arduino,突破了以往只能使用鼠标、键盘、CCD等输入装置互动的限制,可以更简单地完成单人或多人互动游戏。
[5]
图1ArduinoUNORev3电路图
2.2.2烟雾检测模块
烟雾浓度的传感器经过与其他产品比较后,采用的是MQ-2型烟雾传感器,该传感器采用的是在正常空气中电导率较低的二氧化锡,当可燃气体外泄时,传感器的电导率随空气中杂质气体浓度的增加而增大,即可通过高低电平的变化来判断烟雾浓度的大小。
性能参数如表1,图2为MQ-2型烟雾探测传感器器对于不同气体的探测灵敏度。
可以用于家庭和工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、烟雾等的探测;
模块特色:
1、采用优质双面板设计,具有电源指示和TTL信号输出指示;
2、具有DO开关信号(TTL)输出和AO模拟信号输出;
3、TTL输出有效信号为低电平。
(当输出低电平时信号灯亮,可直接接单片机或继电器模块)
4、模拟量输出电压随浓度越高电压越高。
5、对液化气,天然气,城市煤气,烟雾有较好的灵敏度。
6、有四个螺丝孔便于定位;
7、产品外形尺寸:
32(L)*20(W)*22(H)
8、具有长期的使用寿命和可靠的稳定性
9、快速的响应恢复特性
电气性能:
输入电压:
DC5V功耗(电流):
150mA
DO输出:
TTL数字量0和1(0.1和5V)
AO输出:
0.1-0.3V(相对无污染),最高浓度电压4V左右
特别提醒:
传感器通电后,需要预热20S左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。
接线方式:
1、VCC:
接电源正极(5V)
2、GND:
接电源负极
3、DO:
TTL开关信号输出
4、AO:
模拟信号输出
表1MQ-2型烟雾传感器参数
产品名称MQ-2型烟雾传感器
测试范围300~10000ppm
适用气体可燃气体、烟雾
响应时间<10s
工作条件环境温度:
20℃~+55℃;湿度:
<95%RH
工作电压5.0V±0.2V
图2MQ-2对于各类气体的灵敏度特怯曲线
宿舍火灾事故是危害用户安全的极大隐患,因此第一时间进行报警处理极为重要,本设计采用了MQ-2型烟雾传感器、GSM报警模块等,实现对危险情况的及时报警和简单处理。
MQ-2型烟雾传感器采用此传感器的目的就是为了宿舍内部着火后产生巨大浓烟,导致人员窒息。
烟雾传感器就是MQ-2为主体,加入运放电路,通过当前值和标准阔值进行比较,通过电位差来体现是否有烟雾,并完成后端工作。
图3为烟雾传感器模块的电路图
图3烟雾传感器模块电路图
如果环境中产生较大烟雾,则烟雾传感器通过当前烟雾浓度值与标准阔值进行比较,通过运放电路,产生高电平,从OUT端口输出,进入控制板A5端口,控制板接收到高电平后,认为环境中有烟雾,D5、D10端口输出高电平,控制蜂鸣报警器。
此外,同时通过串口产生控制信号,通过GSM模块向用户发出报警信号。
2.2.3HC-SR501热红外模块
该设计中,红外传感器模块选用普通型人体热释电红外传感器HC-SR501,这是一种能检测人体发射的红外线的新型高灵敏度红外探测元件。
通过非接触式检测人体红外能量的变化,将输出电压信号转换为电压信号输出,并对输出电压信号进行放大[6]。
因此,它可以用来使电源开关控制器和防火灾报警等。
被动的红外报警主要是在结构上使用,不需要发送任何形式的能量,该模块只需要接收自然能量就可以达到检测的目的[6]。
其电气参数如表2。
表2HC-SR501热红外模块电气参数
产品名称
HC-SR501热红外模块
工作电压
直流电压4.5-2V
静态电流
<50uA
电平输出
高3.3V/低0V
触发方式
L不可重复触发/H可重复触发
延时时间
5-200s(可调)可制作范围零点几秒到几十分钟
封锁时间
5.2s(默认)可制作范围零点几秒到几十秒
技术参数:
1.工作电压:
DC5V至20V
2.静态功耗:
65微安
3.电平输出:
高3.3V,低0V
4.延时时间:
可调(0.3秒~18秒)
5.封锁时间:
0.2秒
6.触发方式:
L不可重复,H可重复,默认值为H
7.感应范围:
小于120度锥角,7米以内
8.工作温度:
-15~+70度
9.PCB外形尺寸:
32*24mm,螺丝孔距28mm,螺丝孔径2mm,感应透镜尺寸:
(直径):
23mm(默认)
功能特点:
1.全自动感应:
当有人进入其感应范围则输入高电平,人离开感应范围则自动延时关闭高电平。
输出低电平。
2.光敏控制(可选):
模块预留有位置,可设置光敏控制,白天或光线强时不感应。
光敏控制为可选功能,出厂时未安装光敏电阻。
如果需要,请另行购买光敏电阻自己安装。
3.两种触发方式:
L不可重复,H可重复。
可跳线选择,默认为H。
A.不可重复触发方式:
即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
B.可重复触发方式:
即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
4.具有感应封锁时间(默认设置:
0.2秒):
感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。
此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。
5.工作电压范围宽:
默认工作电压DC5V至20V
6.微功耗:
静态电流65微安,特别适合干电池供电的电器产品。
7.输出高电平信号:
可方便与各类电路实现对接。
本项目将人体红外探测器放置在宿舍门处,当有人从门进入时,产生红外热感应信号,探测器收到信号是产生一个高电平信号给Arduino控制板端口,控制板根据接收到的高电平,产生控制信号,使得蜂鸣器发出报警声,如果是合法用户进入,则用户可自行按下控制按键,使其保持休眠状态:
如非法用户进入,未按下控制按键,则其会持续报警,并在几分钟后,向GSM模块发出指令,通过GSM模块向用户发送报警指令。
2.2.4GSM模块
本设计中采用的GSM模块是由SIM900A小型模块作为核心的模块,选用SIM900A作为GSM模块的核也也是因为其功耗低、模式多、功能多、系统可靠性高。
使用工业标准界面,使得具备GSM/GPRS900/1800MHz功能的SIM900A以小尺寸和低功耗实现语音、SMS、数据和传真信息的高速传输。
SIM900A能满足M2M几乎所有应用要求,尤其是小巧、紧凑型的设计。
基本特点:
·双频GSM/GPRS900/1800MHz
·GPRS(class10/8)标准
·GPRS(classB)
·满足GSM(2/2+)标准
–Class4(2W@850/900MHz)
–Class1(1W@1800/1900MHz)
·尺寸:
24mmx24mmx3mm
·重量:
3.4g
·通过AT命令控制(GSM07.07,07.05和增强AT命令)
·SIM应用工具包
·支持电压范围3.4V...4.5V
·休眠状态功耗1.5mA
·支持用户定制的MMI和键盘/LCD,SPI/I2C/GPIO/PWM/ADC接口,支持RTC(Real-TimeClock)
,全功能UART接口,天线连接器和天线焊盘
·内嵌强大的TCP/IP协议栈,支持多IP连接
·低功耗正常操作温度:
-30°Cto+80°C
该模块通过TX/RX端口和主板进行串口通信,在其使用前,必须对其进行相应配置。
GSM模块的配置是W串口通信进行配置的,首先将该GSM模块通过USB-232模块和PC机进行连接,通过串口调试助手对其进行初步配置。
GSM模块采用AT指令进行配置,本设计通过串口调试助手向其发送相关指令,第一步向GSM模块发送指令"AT",GSM模块返回"OK",表明模块运行正常;第二步发送"AT+CSQ",GSM模块返回当前信号质量,一般大于10,即为信号强度较好,本设计返回值为17;第H步发送"AT+COPS",GSM模块返回当前所插入的GSM卡注册到的网络信息本设计中,使用的是移动的3G卡,所返回的值为"CHINAMONILE",此时已经完成了初步的GSM配置指令。
2.3设计框图
2.4软件设计原理及思想
基于Arduino的智慧宿舍项目是通过MQ-2模块感测宿舍在无人值守时人体红外以及HC-SR501模块检测宿舍空气中的烟雾,在特定情况下向手机端发送短信或打电话。
因此在设计时
3操作流程、实验调试过程
3.1操作流程
首先,Arduino板初始化串口,保证其与GSM模块可正常通信;之后初始化GSM模块,保证其能够正常发送短信;并检测烟雾检测模块和热红外是否正常工作。
其次,当各个模块可正常工作后,再循环检测是否出现烟雾,是否有人进入宿舍,当检测到有人进入时,发送短信并作相应的语音提示或报警。
[7]
即当宿舍发生火灾产生烟雾时,通过MQ-2型烟雾传感器来探测烟雾浓度变化,当有烟雾存在,则烟雾传感器会将对应端口置为高电平,并将当前状态发送至Arduino核心板,此时Arduino会按预先设定好的指令,通过TX/RX串口向GSM模块发送指令,进而以电话的形式拨打给用户。
热释红外模块用于检测是否有人经过,当宿舍人员全部离开后,安防系统开始工作;当有人进入时可感应到有人非法闯入,并将次状态发送至Arduino核心,蜂鸣器发出警报声,同时GSM模块向固定手机号码发送短信,提示用户。
3.2实验调试过程
1.分别测试MQ-2,HC-SR501,GSM模块的各项功能
2.通过串口输出查看MQ-2,HC-SR501模块的输出参数以及各个参数的变化情况,持续时间。
3.通过多次实验以及查找相关资料设定合适的传感器检测值。
4.综合各个模块,测试整个系统功能
4实验中出现的问题及解决情况
1.初期通过arduinoGSM库来控制SIM900A模块发送短信以及打电话不成功,可能时由于模块与库文件不匹配,再该由串口发送AT指令,在AT指令控制过程中,发送短信的一条指令“Serial.print(0x1A)”,一直调不出来,后来查阅资料,改为Serial.write(0x1A)才实现了短信发送
2.在测试HC-SR501模块时,传感器灵敏度过高,持续时间长,而导致GSM模块一次性发送多条短信,通过调节传感器灵敏度以及延时,再通由程序控制GSM短信发送延时,问题得以解决。
3.MQ-2传感器的问题在与监测环境中气体浓度的设定,经过多次测试,设定为400ppm。
5附程序源代码参数设计
intredLED=7;//定义人体感应传感器由数字接口7传递数据
intSensor=A0;//定义烟雾传感器由模拟接口0传递数据
intbeep=13;//定义蜂鸣器接口为13
booleanhavepeople;//定义一个布尔变量为检测人体的函数
voidsetup()//开始函数
{
Serial.begin(38400);//设置波特率
pinMode(beep,OUTPUT);//定义引脚模式
}
voidloop()//定义循环函数
{
checkgas();//执行检测烟雾子程序
checkpeople();//执行检测人体子程序
if(havepeople)//如果检测到人体
{
digitalWrite(beep,HIGH);//蜂鸣器接口输出高电平
sendmessage();//发送着火警告短信
delay(6000);//延时6s
digitalWrite(beep,LOW);
}
delay(10000);//延时10s
}
voidsendmessage()//定义发送短信子函数
{
Serial.println("AT");
delay(2000);
Serial.println("AT+CMGF=1");
delay(2000);
Serial.println("AT+CMGS=\"18435136908\"");//这里改成你的号码
delay(2000);
Serial.print("\r\n");//这里写内容
delay(2000);
Serial.write(0x1A);//原来这里我是“Serial.print(0x1A);”,一直调不出来,后来改了才成功了,
}
voidcall()//定义拨打电话子函数
{
Serial.println("ATD18435136908;");//设置电话号码
}
voidcheckpeople()//定义检测人体子函数
{
havepeople=digitalRead(redLED);//将人体感应传感器的数据赋值给havepepple变量
Serial.println(havepeople);//串口输出
}
voidcheckgas()//定义检测烟雾子函数
{
intval;//定义val变量
val=analogRead(0);//将烟雾传感器的数据赋值给val
Serial.println(val);//串口输出
if(val>100)//如果数值超出正常范围
{
digitalWrite(beep,HIGH);//蜂鸣器接口输出高电平
call();//执行拨打电话子函数
}
}
6设计达到的目标及参数
智慧宿舍设计在于当人员离开宿舍后开启智慧宿舍,宿舍有火情出现时,烟雾监测传感器感应到烟雾,通过GSM模块向固定的电话号码拨打电话,或有人进入宿舍时,蜂鸣器发出警报,向用户发出提醒短信。
通过传感器能够监测宿舍状况,设计可行。
7完成情况及结果
系统在模拟烟雾环境中,当空气浓度达到设定值时能向指定手机端拨打电话提醒用户以及触发蜂鸣器警报。
感应到人体经过时触发蜂鸣器,发送短信。
8设计者对本设计的评述及通过设计的收获体会
在整个系统设计的过程中,通过分组对文献资料的查阅和相关技术手册的研读,我们比较全面的掌握了Arduino系统的基本原理和智慧宿舍的实现方法。
特别是对Arduino的特点有了进一步了解。
智能家居技术作为当前发展迅速,应用日趋广泛的技术形势,正在改变着我们周围的世界,改变着我们的生活方式。
研究基于宿舍的智能家居是促进Arduino技术及其应用的必然要求,作为智慧宿舍了适应日益丰富的需求,其性能能够以及功能也在不断的进步中。
本文的基于Arduino的智慧宿舍是具体应用需求的一次尝试,做了以下工作:
对Arduino技术原理、功能以及特点、适用范围做了较全面的研究,分析了Arduino在智能家居及智慧宿舍的优势