智能家居安全系统_第1页
智能家居安全系统_第2页
智能家居安全系统_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代智能家居安全系统题目:现代智能家居安全系统设计 学院:电子与通信学院 班级:课程组 组员: 指导老师:目录第一章、概述1. 课程介绍2. 功能简介第二章、 系统设计1. 系统框架2. 功能模块第三章、电路设计1模块介绍及其原理第四章、程序设计1代码展示第五章、实验与调试1、下载调试2、LCD的调试3、按键的调试4、电源模块的调试5、语音模块的调试6、LED与蜂鸣器的调试第六章、测试结果第七章、结论附录程序代码第一章 概 述1、课程介绍智能家居是以住宅为平台,利用综合布线技术、网络通信技术、 智能家居 - 系统设计方案安全防范技术、 自动控制技术、 音视频技术将家居生活有关的设施 集成,构建

2、高效的住宅设施与家庭日程事务的管理系统, 提升家居安全性、 便利 性、舒适性、艺术性,并实现环保节能的居住环境。伴随着数字化和网络化的进 程,智能化的浪潮席卷了世界的每一个角落, 成为一种势不可挡的历史化大趋势。 这一切的最终目的为人们提供一个以人为本的舒适、 便捷、高效、安全的生活环 境。如何建立一个高效率、 低成本的智能家居系统已成为当今世界的一个热点问 题。本项目的起源与产生既基于此背景。2、功能简介 该系统主要能够实现的功能:正常情况下,该系统能够采集室内的温度,并 显示出来供主人参考。 当温度过高时该系统就会发出报警, 灯光发亮, 语音提示 等,使得主人知道家中发生了险情,并及时进行

3、处理。当有盗贼从窗户或者其他告知主人一些地方进入时家中时,会触动红外设置,单片机发信号给声光模块, 和邻居有险情。采取有效的措施,防止损失。第二章系统设计1、系统框架电源模语音模块显示模块单输入模块片警报模块红外模块机温度模块ISP下载模块2、功能模块(1)温度检测模块:采集温度(2)声光报警模块:通过声音(3)红外模块:检测有无人闯入(4)液晶显示模块:显示信息,人机交流(5)电源模块:给各个模块提供电源(6)输入模块:4*4键盘,输入信息(7)语音模块:发出语音第三章 电路设计1、温度检测模块该模块主要用于检测室内温度。采用改进型智能温度传感器 DS18B2 0与传统 的热敏电阻相比,DS

4、18B2C能够直接读出被测温度,它仅需要一根口线(单线接 口)读写 ,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。 当温度过高时即发生火灾时 , 单片机向声光模块发出信号,即发出声光报警。DS18B20的1脚接地,2脚接PORTC.0 3脚接电源,在2脚接一个4.7K的上拉 电阻抗干扰。2、声光报警模块当温度过高时, 该模块接收到单片机发出的信号后, 声光模块开始动作, LED 灯开始闪烁, 蜂鸣器并发出声音报警, 告知主人或邻居及时发现险情, 及时的控 制火情。当红外模块感知到有外人闯入时,该

5、模块发出报警,威慑他人,使其不 敢进入主人家中,并提醒邻居或主人,及早做出防范。我们把若干个LED灯摆成笑脸形状。因为若干个LED灯和一个蜂鸣器工作时需要 较大的电流。因此我们设计一个三极管(S9013)来进行驱动,保证了电路有足 够大的电流。三极管的基极与 PORTD.6S接。同时我们用了俩个1K分别与LED 和蜂鸣器串联来进行分压保证其安全性。3、红外线模块该模块主要用于防盗,安置在窗户或者门口等地方,当有盗贼闯入时,会触 动到那些安置好了的红外装置, 发送信号给单片机, 单片机经过处理后发送给声 光模块。为了防止错报, 我们安装若干个红外对管, 当只有达到一定数量的红外 对管发生中断时才

6、报警。 因为单片机的中断资源有限, 所以我们用了 2 对红外对 管来模拟若干个, 当只有其中一个红外对管发生中断时, 系统不报警, 当两个红 外对管都发生中断 时 ,系统 发 出警报 。这两对红 外对管 分别接单片 机的 PORTD.4(INT0)、PORTD.5(INT1)。4、液晶显示模块 该模块主要应用于显示一些信息,起到与用户进行人机交流作用,用户可以 通过显示模块,看到一些信息,例如现在的室内温度、现在系统启用的模式等。我们将采用1602lcd来显示,四线制方式将1602与单片机的PORT口相连接,1602 的 RS RWE、D4 D5 D6 D7分别接 PORTA.0 PORTA.

7、 1 PORTA.2 PORTA.4 PORTA.5 PORTA.6 PORTA.7 电路如下:5 电源模块该模块主要用于给整个系统提供能够应用且稳定的电源。我们采用了 7805这种型号的稳压器件, 在输入端我们用了火牛插孔, 便于连接电源, 在输入的负 极安装了一个按键开关,便于控制电源的开关,如下图:6 输入模块该模块由 4*4 个按键组成,用于用户对系统的设置与控制等,给用户提供一 个输入的方式,输入用户所需求的信息。我们将键盘与单片机的PORTA口相连,PORTAq的高八位接按键的行,低八位接按键的列。电路如下:按键功能如下图所示:012389空取消7、语音模块该模块主要由ISD173

8、0扬声器、mic、按键及其一些电阻电容等组成。它的 作用的是通过语音提示,指导用户对安全系统的操作,例如设防,撤防等,把语 音芯片的复位脚(24脚)与单片机的PORTD.1相连接,播放脚(23脚)与单片 机的PORTD.4相连接,快进脚(26脚)与单片机的PORTD.5却相连接。第四章程序设计1、显示模块该模块主要有1602液晶显示屏组成,上电后初始化 1602,屏幕上显示欢迎界面,2秒后显示温度,设防时显示 Fortification of success,撤防时显示Please en ter your password,第一次输入密码错误时,显示Please tryagain,第二次输入密

9、码错误时,显示The last chanee ,当发生火灾时显示Alarm!Fire!,当发生盗窃是显示 Burglar alarms!,及其一些其他的显示都用putsf()函数来完成显示工作。2、语音模块当开机时PORTD.给一个低电平,让语音芯片的指针复位,POTD.4给一个低 电平并进行延时,然后在给高电平,进行播放语音“欢迎使用智能家居安全系统” <然后PORTD.5合一个低电平并进行适当的延时,当设防按键按下时PORTD.4合一让播放指针指向下一个语音片断,撤防成功后播放“成功撤防” 。3、输入模块我们采用键盘扫描的方式来采取键盘的输入信息,单片机的A口高四输出,轮流输出0,A

10、 口第四位输入,采集键盘的信息,检测是否有按键按下,那一列有按 键按下。根据当哪一行输出 0 时,那一列检测到了 0,计算出是哪个按键,即: 行*4+列/ 键盘扫描unsigned char getkeyval(void)unsigned char col4=0xef,0xdf,0xbf,0x7f; / 行unsigned char row4=0x07,0x0b,0x0d,0x0e;/ 列unsigned char i,j,getsta,keyval;for(i=0;i<4;i+)PORTA=coli;delay_us(2);if(PINA!=coli)getsta=PINA&0

11、x0F;for(j=0;j<4;j+)if(getsta=rowj)keyval=j+i*4;delay_ms(30); /300while(getsta=rowj)getsta=PINA&0x0F; / 判断按键是否放开。return keyval;return 16;4、红外模块开启外部中断 INT0 和 INT1, 定义中断标志 flage_0 和 flage_1 ,当发生中断 时 flage_0=1 和 flage_1=1 ,设防开启后进行循环判断当两个中断都发生时,发 出警报。用两个嵌套在一起的 if 来进行判断。if(flage_1=1) / 红外报警 if(flag

12、e_0=1) flage_1=0; flage_0=0; lcd_gotoxy(0,0); lcd_putsf("Burglar alarms!"); PORTD.6=1;5、温度模块设定单总线的接口为PC.O。定义一个变量利用函数ds1820_temperature_10()取出当前温度值,再把该变量换算成个位和十位即小数位,再分别显示出来。/ 温度显示void wendu(void)char lcd_buffer33;int temp,temp_h,temp_l,_1,_2;要/80temp=ds1820_temperature_10(0);temp_h=temp/80

13、; /DS18B20 temp_l=temp%80;shi = temp_h/10;ge = temp_h%10;_1 = temp_l/10;if(_1 = 4)_1 =5;else_1 = 0;_2 = temp_l%10;lcd_gotoxy(0,1);sprintf(lcd_buffer,"TEMP:%d%d.%dxDFCnr",shi,ge,_1); lcd_puts(lcd_buffer);第五章 实验与调试一、下载调试将一个10针的插座与单片机的 MOSI MISO SCK RESET VCC G等连接好后, 用下载线连接电脑好单片机,用下载软件进行下载,运行

14、成功。二、LCD的调试当LCD与 PA口相连上电后,没有反应,屏幕是黑的,进过上网查找资料后, 才发现原来LCD的背景灯那两个管脚没有接上电源和地。 焊接好后,上电屏幕亮 了,但是什么都显示不出来,看到LCD的3管脚是空的,所以想到可能是这个原 因,查资料后知道这个是管脚的作用是调节对比度的,于是我就用两个1K的电阻串联在一起, 一端接电源一端接地中间接 3脚,上电后下载程序显示一个很模 糊的字迹, 看不清楚。 猜测可能是因为电阻大小不当导致的, 进过三四次的调整 后才显示出来清晰的字迹。三、按键的调试把程序下载后,按键按下去一下后,在屏幕上显示很多个同一个的数,考虑 可能是因为在按键按下去还

15、没放开的一瞬间, 键盘扫描好多次, 单片机的扫描的 速度很快, 就认为按键按下了很多次, 而没有判断是否是同一次按下去的, 所以 要解决这个问题的方法是让程序判断按键是否释放。四、电源模块的调试电源模块焊接好后,上电发现一点输出端没有电压,通过用万用表的测量得知火牛插座负极没有连接好, 再次进行焊接, 上电后依然没有现象, 就再次进行 从输入到输出一个点一个点的测量, 测量出无论开关怎样开关, 开关的另外一端 都没有反应,才发现开关的管脚焊错了。焊接好后,上电,电源的输出端输出正 常的 5V。五、语音模块的调试 语音模块按照电路的焊好后,能正常播放语音,正常快进与复位等,各方面 都正常。六、L

16、ED与蜂鸣器的调试P0RTD.6俞出高电平时LED灯,蜂鸣器鸣叫。功能正常。第六章 测试结果开机显示welcome和A_A,延时2秒后显示当前温度并根据当前的温度变化 而不断变化,进入正常运行状态。当设防按键按下后,语音提示设防成功, LCD 显示 Fortification of success (设防成功),并进入防御状态,不断检测温度 是否超过设定值(火灾检测) ,检测红外对管是否都发生了中断(防盗报警) 。当 温度过高时,LCD显示"Alarm!Fire!",蜂鸣器鸣叫LED亮;当红外对管都发生中断时,LCD显示"Burglar alarms!"

17、,蜂鸣器和LED报警。当撤防键按下时,语音提示 请输入密码,LCD提示Please enter your password,然后你输入密码,若输入第一次错误,LCD提示Please try again ,第二次错误,LCD 显示"The last cha nee",当第三次错误时,LED与蜂鸣器发出警报,程序锁死。 若输入密码正确时,则显示 0K语音提示撤防成功,显示温度。第七章 结语该设计在一定程度上解决了传统机械式防盗的弊端, 利用高科技将防盗报警智能化、自动化,可以减少和避免户主的损失由于时间的关系和考虑到元器件的价格等因素, 该设计还存在一些不足的地 方。例如, 该

18、设计存在不够人性化的地方, 可通过添加实时时钟芯片增加时间功 能,并在此基础上加入自动开启和关闭系统的功能等等。 除此以外, 还可以通过 增加断电保护电路增强系统的安全性。在做该设计的这段时间里,我对之前学习到的知识有了一个全面的认识,也 因此学到了很多东西。这一次的设计,从查找资料、方案确定、电路设计到焊接 和调试,整个过程都是我们自己亲自去完成。 在整个设计期间, 我遇到了很多问 题,但经过仔细的分析和其他同学的帮助后, 最终都把问题解决, 我也从中学会 了解决问题的方法。附录 程序/*Project : 智能家居安全系统Version :Date : 2012 12 12Author :

19、 pangCompany :Comments:Chip type : ATmega16LProgram type : ApplicationClock frequency : 8.000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 256/*1602和MEGA 16啲连接方式如下:*/*RS-> PB0*/*RW-> PB1*/*E > PB2*/*FREE-> PB3*/*D4-> PB4*/*D5-> PB5*/* D6 > PB6*/* D7 > PB7

20、*/* #include <mega16.h>#include <delay.h>#include <stdio.h>#include <ds1820.h>#include <lcd.h>#asm.equ _lcd_port=0x18;PORTB#endasm#include <1wire.h>#asm.equ _w1_port=0x15 ;PORTC.equ _w1_bit=0#endasm#define fuwei PORTD.1#define jingbao PORTD.6unsigned char mima=1,2

21、,3,1,2,3; unsigned char shuru6=0,0,0,0,0,0;int shi,ge; / 温度的十位与个位中断 0 标志中断 1 标志unsigned char flage_0=0; /unsigned char flage_1=0; /*/ 初始化void init(void)w1_init();lcd_init(16);PORTA=0xff;DDRA=0xF0;PORTD=0x32;DDRD=0x72;jingbao=0;GICR|=0xC0; /INT0 ON INT1 ON INT2 OFFMCUCR=0x0F;MCUCSR=0x00;GIFR=0xC0;#as

22、m("sei")/ External Interrupt 0 service routine interrupt EXT_INT0 void ext_int0_isr(void) flage_0=1; / 待补充/ External Interrupt 1 service routine interrupt EXT_INT1 void ext_int1_isr(void) flage_1=1;/ 待不从void wendu(void) / 温度显示char lcd_buffer33;int temp,temp_h,temp_l,_1,_2; temp=ds1820_temp

23、erature_10(0);temp_h=temp/80; /DS18B20 要 /80 temp_l=temp%80;shi = temp_h/10; ge = temp_h%10;_1 = temp_l/10; if(_1 = 4)_1 =5;else_1 = 0;_2 = temp_l%10; lcd_gotoxy(0,1); sprintf(lcd_buffer,"TEMP:%d%d.%dxDFCnr",shi,ge,_1); lcd_puts(lcd_buffer);unsigned char getkeyval(void) / 键盘扫描unsigned char

24、 col4=0xef,0xdf,0xbf,0x7f; unsigned char row4=0x07,0x0b,0x0d,0x0e;unsigned char i,j,getsta,keyval; for(i=0;i<4;i+)PORTA=coli; delay_us(2);if(PINA!=coli)getsta=PINA&0x0F;for(j=0;j<4;j+) if(getsta=rowj) keyval=j+i*4; delay_ms(300); /300 while(getsta=rowj) getsta=PINA&0x0F; return keyval;

25、return 16;void yuyin(void) /PORTD.4=0;delay_ms(35); /PORTD.4=1;void nextone(void) /PORTD.5=0;delay_ms(35); /PORTD.5=1;void kaiji(void) /播放语音播放快进快进到第一段语音开机界面lcd_clear(); lcd_gotoxy(6,0);lcd_putsf("A_a); lcd_gotoxy(5,1); lcd_putsf("WELCOM");PORTD.1=1;delay_ms(10);yuyin(); / 播放开机音delay_m

26、s(2000);delay_ms(2000); /语音播放完后进入快进nextone(); wendu();void shuzuqingkong(void)unsigned char i; for(i=0;i<6;i+)shurui=0;void main(void)密码错误,死循环 tttunsigned char ttt; /unsigned char yyy; /密码错误,死循环 yyy+ 到 10unsigned char keyval; /键值unsigned char i=0;unsigned char j=0;unsigned char flage=1;unsigned c

27、har t=0; /密码与输入中相同的个数unsigned char cishu=3; /密码次数 3init();delay_ms(100);kaiji();while(1)ttt=1; /密码错误,死循环 tttyyy=0; / 密码错误,死循环 yyy+ 到 10flage=1;t=0; /密码与输入中相同的个数shuzuqingkong();/数组清空wendu();keyval=getkeyval();if(keyval=13) / 设防yuyin();/ 播放语音lcd_clear();lcd_gotoxy(0,0); lcd_putsf("Fortification o

28、f success"); delay_ms(1000);delay_ms(1000); / 足够的时间lcd_clear();nextone();while(flage) keyval=getkeyval(); wendu();if(shi>1&ge>7) / 温度报警 lcd_gotoxy(0,0); lcd_putsf("Alarm!Fire!"); jingbao=1;if(flage_1=1) / 红外报警 if(flage_0=1) flage_1=0; flage_0=0; lcd_gotoxy(0,0); lcd_putsf(&q

29、uot;Burglar alarms!"); jingbao=1; i=0;your播放语lcd_clear();lcd_gotoxy(0,0);lcd_putsf("Please enter password");yuyin();/ 播放语音delay_ms(2000);delay_ms(1000);nextone();lcd_clear();while(flage)keyval=getkeyval(); if(keyval<10) shurui=keyval;lcd_putchar(shurui+0x30);i+; if(keyval=12) i=0; lcd_clear(); for(j=0;j<6;j+) if(mimaj=shuruj) t+; if(t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论