轻松打造智能家庭卫士系统(原理,软硬件实现,器件选型)
敏度的MQ2传感器。
其灵敏度特性曲线如下图8所示:
图 8
本MQ2浓度检测模块的原理图如下图9所示:
图 9
系统中MQ2浓度探测模块的工作原理如下图10示:
图 10
(3)湿度传感器
本设计采用的湿度传感器是:HR31电阻型湿度传感器。HR31湿敏电阻是采用有机高分子材料的湿度敏感元件,感湿范围宽,长期使用性能稳定。能够达到精度5%RH增减的要求。
其阻抗特性如下图11所示:
图 11
本系统中湿度传感器的工作原理如下图12所示:
图 12
(4)温度传感器
考虑到EVK1100板卡上面已经安装了温度传感器NCP18WF,为了开发的进度和成本,就没有再买模块,直接使用就可以了。
在系统中的电路原理图如下图13所示:
图 13
(5)光照强度传感器
与温度传感器类似,光线传感器也是使用的EVK1100上面自带的TEMT6000光线传感器。其电路原理图如下左图14所示,特性原理图如下右图15所示:
图 14 图 15
1.3软件设计
1.3.1中断
为了更好的提高系统效率,本系统充分的利用了AVR32单片机的中断功能。
(1)定时器中断
在定时中断服务函数里面利用AD采集各种传感器数据是一种常用的手段,本设计就是利用1.8s定时来采集各种室内数据
定时器后台中断程序流程: 定时器前台主程序流程:
(2)串口中断
在设计中,AVR单片机与GSM模块的通信是利用串口进行的。由于用查询方式接收串口数据会大大的降低系统性能实时,故串口接收部分利用串口中断。
远程用户为了远程监视家里的情况,只需要向目标板GSM发送短信,GSM收到短信后会向核心板AVR32串口发送数据,当AVR32串口接受到数据后,在串口中断中把标志位flag置1,同时把串口接受到得数据储存到缓存中,主程序在定时器控制下,每隔1.8s检测flag,当检测到flag等于1的时候,读取缓存中的数据,根据读取到得不同数据,作不用的处理,然后单片机AVR32通过串口向GSM发送相应的室内信息代码,然后GSM通过短信向远程用户发送室内检测到的信息,例如温度、湿度等等,从而高效的查询家里的情况,达到远程控制的功能,流程如下图16。
图 16
1.3.2语音部分
作为人机交互的重要平台,语音处理部分主要是将各种传感器采集到的参数,通过语音提示用户,语音部分的软件框图如下图17所示,并通过发出警告的方式,提醒用户改善居住环境。
图 17
2 总结
本次项目设计时间相对紧迫,离最初的要求有一定的距离,但是总体效果还算令人满意,实现了远程用户实时监视家里环境,在家里环境发生异常的情况下,如有外人闯入,温度、湿度、可燃气体浓度发生异常时,及时的做出报警,同时通过GSM发送短信向远程用户发出警告,其语音模块能够准备的根据当时环境测得的情况,做出语音提示。
本次设计加强了我们动手、思考和解决问题的能力。在设计过程中,是心里老想着这样的方法可以行得通的,但实际上,总是实现不了,因此耗费在这上面的时间也挺多的。但是到后面,我们又会换换方案,解决问题。感触最深的就是:无论多么简单的事情,一定要亲自去做了才能做评价。想象中的简单不等于实现的简单。在本次设计当中,我们的模块调试用了相当长的时间。本来以为很简单,但是在实际调试过程中却总是会遇到这样那样的问题。最后连调的时候,本来以为模块调试通过了,连调就容易了,但是当所有模块连接在一起的时候就会因为相互的冲突而不能同时工作。所以又话了很长时间来调试系统,经过几天不分昼夜的努力,我们终于完成了我们的系统。
在调试系统的过程中,遇到的问题真的很麻烦,比如在调试GSM SIM300模块的过程中,需要通过avr单片机控制短信的接收和发送,但是,短信的接收过程中对于数据的采集,判断,分析都是异常艰难的,需要从众多的信息中提取出短信中的有效信息,就需要不断地判断,不断地选择。所以,在这个过程中会有很多莫名其妙的死机,但是,我们还是坚持了下来,通过串口,分别调试gsm和avr部分。不断优化我们的程序,最后达到了我们想要的结果。另外,在语音模块的控制上面,我们选择使用三线spi控制过程中,仍然遇到了不少的问题,比如,由于wt588d模块上面的输出,有busy信号,这对于实时查询语音的播报情况十分重要,所以在调试这个语音模块的过程中,始终想把这个忙信号用起来,但是,通过反复地调试,发现busy信号并不是随语音的实时播报而一直显示为高电平,反而只是在开始播报时会产生一个上升沿而已,所以,我们最后修改方案,不使用这跟信号线了。
总之,通过本次设计,我们又学到了不少知识。尤其是对AVR单片机又有了更
家庭卫士系统 传感器检测 人机交互 远程通信 AT32UC3A0512 相关文章:
- 基于51单片机SHT11温湿度传感器检测程序(含电路图)(11-19)
- 嵌入式系统中文输入法的设计(03-02)
- 基于Qtopia的嵌入式中文输入法设计 (07-15)
- 数字机顶盒人机交互组件的设计(02-27)
- 基于Qt的自主式水下机器人监控系统设计(03-18)
- 基于Linux和QT/E的软键盘设计(05-18)