收藏 分销(赏)

智能家居安全系统.docx

上传人:人****来 文档编号:10068238 上传时间:2025-04-20 格式:DOCX 页数:25 大小:32.86KB
下载 相关 举报
智能家居安全系统.docx_第1页
第1页 / 共25页
智能家居安全系统.docx_第2页
第2页 / 共25页
点击查看更多>>
资源描述
现代智能家居 安全系统 题目:现代智能家居安全系统设计 学院:电子与通信学院 班级:课程组 组员: 指导老师: 目录 第一章、概述 1. 课程介绍 2. 功能简介 第二章、系统设计 1. 系统框架 2. 功能模块 第三章、电路设计 1. 模块介绍及其原理 第四章、程序设计 1 .代码展示 第五章、实验与调试 1、下载调试 2、LCD的调试 3、按键的调试 4、电源模块的调试 5、语音模块的调试 6、LED与蜂鸣器的调试 第六章、测试结果 第七章、结论 附录 程序代码 第一章概述 1、课程介绍 智能家居是以住宅为平台,利用综合布线技术、网络通信技术、智能家居-系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。伴随着数字化和网络化的进程,智能化的浪潮席卷了世界的每一个角落,成为一种势不可挡的历史化大趋势。这一切的最终目的为人们提供一个以人为本的舒适、便捷、高效、安全的生活环境。如何建立一个高效率、低成本的智能家居系统已成为当今世界的一个热点问题。本项目的起源与产生既基丁此背景。 2、功能简介 该系统主要能够实现的功能:正常情况下,该系统能够采集室内的温度,并显示出来供主人参考。当温度过高时该系统就会发出报警,灯光发亮,语音提示等,使得主人知道家中发生了险情,并及时进行处理。当有盗贼从窗户或者其他一些地方进入时家中时,会触动红外设置,单片机发信号给声光模块,告知主人和邻居有险情。采取有效的措施,防止损失。 第二章系统设计 1、系统框架 电源模块 显示模块 警报模块 温度模块 语音模块 输入模块 红外模块 ISP下载模 2、功能模块 (1) 温度检测模块:采集温度 (2) 声光报警模块:通过声音 (3) 红外模块:检测有无人闯入 (4) 液晶显示模块:显示信息,人机交流 (5) 电源模块:给各个模块提供电源 (6) 输入模块:4*4键盘,输入信息 (7) 语音模块:发出语音 第三章电路设计 1、温度检测模块 该模块主要用于检测室内温度。采用改进型智能温度传感器DS18B2盅传统的热敏电 阻相比,DS18B2雎够直接读出被测温度,它仅需要一根线(单线接)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B2(ft电,而无需额外电源。因而 使用DS18B20可使系统结构更趋简单,可靠性更高。当温度过高时即发生火灾时,单片机 向声光模块发出信号,即发出声光报警。DS18B20勺1脚接地,2脚接PORTC.0 3脚接电源,在2脚接一个4.7K的上拉电阻抗十扰。 2、声光报警模块 当温度过高时,该模块接收到单片机发出的信号后,声光模块开始动作,led灯开始闪烁,蜂鸣器并发出声音报警,告知主人或邻居及时发现险情,及时的控制火情。当红外模块感知到有外人闯入时,该模块发出报警,威慑他人,使其不敢进入主人家中,并提醒邻居或主人,及早做出防范。 我们把若十个LED灯摆成笑脸形状。因为若十个LED灯和一个蜂鸣器工作时需要较大的电流。因此我们设计一个三极管(S9013)来进行驱动,保证了电路有足够大的电流。三极 管的基极与PORTD.6S 接。同时我们用了俩个1K分别与LED和蜂鸣器申联来进行分压保 证其安全性。 3、红外线模块 该模块主要用于防盗,安置在窗户或者门等地方,当有盗贼闯入时,会触动到那些 安置好了的红外装置,发送信号给单片机,单片机经过处理后发送给声光模块。为了防止错报,我们安装若十个红外对管,当只有达到一定数量的红外对管发生中断时才报警。因为单片机的中断资源有限,所以我们用了 2对红外对管来模拟若十个,当只有其中一个红外对管发生中断时,系统不报警,当两个红外对管都发生中断时,系统发出警报。这两对 红夕卜对管分别接单片机的PORTD. 4 (INTO)、 PORTD.5(INT1> 4、液晶显示模块 该模块主要应用于显示一些信息,起到与用户进行人机交流作用,用户可以通过显示模块,看到一些信息,例如现在的室内温度、现在系统启用的模式等。我们将采用1602lcd来显示,四线制方式将1602与单片机的PORT田相连接,1602的RS RWE、D4 D5 D& D7 分别接 PORTA.0 PORTA. 1 PORTA.2 PORTA.4 PORTA.5 PORTA.6 PORTA.7电路如下: 5、电源模块 该模块主要用于给整个系统提供能够应用且稳定的电源。我们采用了 7805这种型号的稳压器件,在输入端我们用了火牛插孔,便于连接电源,在输入的负极安装了 一个按键开关,便于控制电源的开关,如下图: 6、输入模块 该模块由4*4个按键组成,用丁用户对系统的设置与控制等,给用户提供一个输入的 方式,输入用户所需求的信息。我们将键盘与单片机的 PORT们相连,PORTAH 的高八位接按键的行,低八位接按键的列。电路如下:按键功能如下图所示: 0-_1 取消 7、暗首裸垛 该模块主要由ISD173 扬声器、mic —按键及其一些电阻电容等组成。它的作用的是 通过语音提示,指导用户对安全系统的操作,例如设防,撤防等,把语音芯片的复位脚(24脚)与单片机的PORTD.仰连接,播放脚(23脚)与单片机的PORTD. 4目连接,快进脚(26脚)与单片机的PORTD.鲫相连接。 第四章程序设计 1、显示模块 该模块主要有1602液晶显示屏组成,上电后初始化1602,屏幕上显示欢迎界面,2秒后显 示 温度, 设防 时显示 Fort if icat ionof success撤防 时显示 Pleaseenteryourpassword ,第一 次输入密码错误时,显示Pleasetryagain,第二次输入密码错误时,显示Thelastchance,当发生火灾时显示Alarm! ! iFire!,发生盗窃是 显示Burglaralarms ! }!及其一些其他的显示都用putsf()函数来完成显示工作。 2、语音模块 当开机时PORTD.饴一个低电平,让语音芯片的指针复位,POTD. 4给一个低电平并进 行延时,然后在给高电平,进行播放语音“欢迎使用智能家居安全系统” o然后PORTD. 5给一个低电平并进行适当的延时,当设防按键按下时PORTD. 4A一个低电平并进行延时, 然后在给高电平,播放“请输入密码”,然后进行快进,让播放指针指向下一个语音片断,撤防成功后播放“成功撤防”。 3、输入模块 我们采用键盘扫描的方式来采取键盘的输入信息,单片机的A 高四输出,轮流输出0, A 第四位输入,采集键盘的信息,检测是否有按键按下,那一列有按键按下。根据当哪一行输出0时,那一列检测到了 0,计算出是哪个按键,即:行*4+列 /键盘扫描 unsignedchargetkeyval(void) unsignedcharcol [4] = (Oxef, Oxdf, Oxbf, 0x7f); // 行unsignedcharrow[4] = (0x07, 0x0b, 0x0d, 0x0e};〃歹 U unsignedchari,j,getsta,keyval; for(i=0;i<4;i++) { PORTA=col[i]; delay_us(2); if(PINA!=col[i]) { getsta=PINA&0x0F; for(j=0;j<4;j++) if(getsta==row[j]) { keyval=j+i*4; delay_ms(30);//3 while(getsta==row[j]) { getsta=PINA&0x0F;/// ///〃//〃 判断按键是否放开。 } returnkeyval; } } } return16; } 4、红外模块 开启外部中断INT0和INT1,定义中断标志flage_0和flage_1当发生中断时flage_0=1和flage_1=1设防开启后进行循环判断当两个中断都发生发出警报。用 两个嵌套在一起的i来进行判断。 if(flage_1==1)红外报警 { if(flage_0==1) { flage_1=0; flage_0=0; lcd_gotoxy(0,0); lcd_putsf("Burglaralarms!!!"); PORTD.6=1; } } 5、温度模块 设定单总线的接为PC.0。定义一个变量利用函数ds1820_temperature_10 ()取出当 前 温度值,再把该变量换算成个位和十位即小数位,再分别显示出来。 /温度显示 voidwendu(void) ( charlcd_buffer[33]; inttemp,temp_h,temp_l,_1,_2; temp=ds1820_temperature_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.%d\xDFC\n\r",shi,ge,_1); lcd_puts(lcd_buffer); } 第五章实验与调试 一、下载调试 将一个10针的插座与单片机的MOSIMISOSCKRESETVCCGND 好后,用下载线连接 电脑好单片机,用下载软件进行下载,运行成功。 二、LCD的调试 当LCD与PA 相连上电后,没有反应,屏幕是黑的,进过上网查找资料后,才发现原 来LCD的背景灯那两个管脚没有接上电源和地。焊接好后,上电屏幕亮了,但是什么都显 示不出来,看到LCD的3管脚是空的,所以想到可能是这个原因,查资料后知道这个是管 脚的作用是调节对比度的,于是我就用两个1K的电阻申联在一起,一端接电源一端接地 中间接3脚,上电后下载程序显示一个很模糊的字迹,看不活楚。猜测可能是因为电阻大小不当导致的,进过三四次的调整后才显示出来活晰的字迹。 三、按键的调试 把程序下载后,按键按下去一下后,在屏幕上显示很多个同一个的数,考虑可能是因为在按键按下去还没放开的一瞬间,键盘扫描好多次,单片机的扫描的速度很快,就认为 按键按下了很多次,而没有判断是否是同一次按下去的,所以要解决这个问题的方法是让 程序判断按键是否释放。 四、电源模块的调试 电源模块焊接好后,上电发现一点输出端没有电压,通过用万用表的测量得知火牛插 座负极没有连接好,再次进行焊接,上电后依然没有现象,就再次进行从输入到输出一个 点一个点的测量,测量出无论开关怎样开关,开关的另外一端都没有反应,才发现开关的管脚焊错了。焊接好后,上电,电源的输出端输出正常的5V。 五、语音模块的调试 语音模块按照电路的焊好后,能正常播放语音,正常快进与复位等,各方面都正常。 六、LED与蜂鸣器的调试 PORTD.&俞出高电平时LEDff,蜂鸣器鸣叫。功能正常。 第六章测试结果 开机显示welcome和a_a,延时2秒后显示当前温度并根据当前的温度变化而不断变化,进 入正常运行状态。当设防按键按下后,语音提示设防成功,LCD显示Fortificationofsuccess(设防成功),并进入防御状态,不断检测温度是否超过设定值 (火灾检测),检测红外对管是否都发生了中断(防盗报警)。当温度过高时,LCD显示"Alarm!!!Fire!,蜂鸣器鸣叫LED亮;当红外对管都发生中断时,LCD显示"Burglaralarms!!,!"蜂鸣器和LED报警。当撤防键按下时,语音提示请输入密码,LCD 提示Pleaseenteryourpassword ,然后你输入密码,若输入第一次错误,LCD提示 Pleasetryagain第二次错误,LCD显示"Thelastchance"当第三次错误时,LEg蜂鸣器发出警报,程序锁死。若输入密码正确时,则显示OK语音提示撤防成功,显示温度。 第七章结语 该设计在一定程度上解决了传统机械式防盗的弊端,利用高科技将防盗报警智能化、自动化,可以减少和避免户主的损失。 由于时间的关系和考虑到元器件的价格等因素,该设计还存在一些不足的地方。例如,该设计存在不够人性化的地方,可通过添加实时时钟芯片增加时间功能,并在此基础上加入自动开启和关闭系统的功能等等。除此以外,还可以通过增加断电保护电路增强系统的安全性。 在做该设计的这段时间里,我对之前学习到的知识有了一个全面的认识,也因此学到了很多东西。这一次的设计,从查找资料、方案确定、电路设计到焊接和调试,整个过程都是我们自己亲自去完成。在整个设计期间,我遇到了很多问题,但经过仔细的分析和其 他同学的帮助后,最终都把问题解决,我也从中学会了解决问题的方法。 附录程序 /***************************************************** Project智能家居安全系统 Version: Date:20121212 Author:pang Company: Comments: Chiptype:ATmega16L Programtype:Application Clockfrequency:8・MHz Memorymodel:Small ExternalSRAMsize:0 DataStacksize:256 /*1602和MEGA16 的连接方式如下:*/ /*RS——>PB0*/ /*RW>PB1*/ /*E——>PB2*/ /*FREE——>PB3*/ /*D4>PB4*/ /*D5 >PB5*/ /*D6 >PB6*/ /*D7——>PB7*/#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#definefuweiPORTD.1#definejingbaoPORTD.6 unsignedcharmima[] = {1,2,3,1,2,3}; unsignedcharshuru[6] = {0,0,0,0,0,0}; intshi,ge;//温度的十位与个位unsignedcharflage_0=0;// 中断 0 标志 unsignedcharflage_1=0;// 中断 1 标志 /************************************************************************/ /初始化 voidinit(void) { w1_init(); lcd_init(16); PORTA=0xff; DDRA=0xF0; PORTD=0x32; DDRD=0x72; jingbao=0; GICR|=0xC0;//INT0ONINT1ONINT2OFF MCUCR=0x0F; MCUCSR=0x; GIFR=0xC0; #asm("sei") } //ExternalInterrupt0serviceroutine interrupt[EXT_INT0]voidext_int0_isr(void) { flage_0=1;/ 待补充 } //Externallnterruptlserviceroutine interrupt[EXT_INT1]voidext_int1_isr(void) { flage_1=1;/ 待不从 } voidwendu(void)/ 温度显示 { charlcd_buffer[33]; inttemp,temp_h,temp_l,_1,_2; temp=ds1820_temperature_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.%d\xDFC\n\r",shi,ge,_1); lcd_puts(lcd_buffer); } unsignedchargetkeyval(void)// 键盘扫描 { unsignedcharcol[4] = {0xef,0xdf,0xbf,0x7f}; unsignedcharrow[4] = {0x07,0x0b,0x0d,0x0e}; unsignedchari,j,getsta,keyval; for(i=0;i<4;i++) { PORTA=col[i]; delay_us(2); if(PINA!=col[i]) { getsta=PINA&0x0F; for(j=0;j<4;j++) if(getsta==row[j]) ( keyval=j+i*4; delay_ms(3);//3 while(getsta==row[j]) ( getsta=PINA&0x0F; } returnkeyval; } } return16; } voidyuyin(void)// 播放语音 ( PORTD.4=0; delay_ms(35);/播放PORTD.4=1; } voidnextone(void)/快进 ( PORTD.5=0; delay_ms(35);/快进到第一段语音PORTD.5=1; } voidkaiji(void)// 开机界面 ( lcd_clear(); lcd_gotoxy(6,0); lcd_putsfHA _ah ); lcd_gotoxy(5,1); lcd_putsf("WELCOM"); PORTD.1=0;//复位不用时间 PORTD.1=1; delay_ms(10); yuyin();播放开机音 delay_ms(20); delay_ms(20);/语音播放完后进入快进nextone();wendu(); } voidshuzuqingkong(void) ( unsignedchari; for(i=0;i<6;i++)shuru[i]=0; } voidmain(void) ( unsignedcharttt;// 密码错误,死循环 tttunsignedcharyyy;// 密码错误,死循环 yyy+ 到 10unsignedcharkeyval;/键值 unsignedchari=0; unsignedcharj=0; unsignedcharflage=1; unsignedchart=0;//密码与输入中相同的个数unsignedcharcishu=3;/密码次数 3 init(); delay_ms(1); kaiji(); while(1) ( ttt=1;密码错误,死循环ttt yyy=0;/密码错误,死循环yyy+到10flage=1; t=0;/密码与输入中相同的个数cishu=3;/密码次数3shuzuqingkong();/数 组活空wendu(); keyval=getkeyval(); if(keyval==13)设防 ( yuyin();//播放语音lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Fortificationofsuccess");delay_ms(10); delay_ms(10);//足够的时间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("Burglaralarms!!!");jingbao=1; } } if(keyval==14)撤防 { i=0; lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Pleaseenteryourpassword"); yuyin();//播放语音 delay_ms(20); delay_ms(10); nextone(); lcd_clear(); while(flage) { keyval=getkeyval(); if(keyval<10) { shuru[i]=keyval; lcd_putchar(shuru[i]+0x30); i++; } if(keyval==12) { i=0; lcd_clear(); for(j=0;j<6;j++) { if(mima[j]==shuru[j]){t++;} } if(t==6) { shuzuqingkong(); lcd_gotoxy(0,0); lcd_putsf("OK"); yuyin();//播放语音 flage=0; i=0; t=0; jingbao=0; delay_ms(10); delay_ms(20); fuwei=0; fuwei=1; delay_ms(10); nextone(); lcd_clear(); lcd_gotoxy(5,0); lcd_putsf("WELCOM"); } else { i=0; t=0;/标志活空 shuzuqingkong(); lcd_putsf("ERROR"); cishu--; lcd_putchar(cishu+0x30); lcd_gotoxy(0,1); if(cishu==0) { lcd_putsf("Alarm"); i=0; shuzuqingkong();jingbao=1;///警 while(ttt) { keyval=getkeyval();if(keyval==15){yyy++;if(yyy>=10){ttt=0;yyy=0;shuzuqingk ong();lcd_gotoxy(0,0);lcd_putsf("OK");yuyin();// 播放语音 flage=0; i=0; t=0; jingbao=0; delay_ms(10); delay_ms(20);fuwei=0;fuwei=1;delay_ms(10);nextone();lcd_clear();lcd_gotoxy(6,0);lcd_putsf(""); } } } } elseif(cishu==2) { lcd_putsf("Pleasetryagain"); delay_ms(5); lcd_clear();i=0;shuzuqingkong();} elseif(cishu==1) { lcd_putsf("Thelastchance");delay_ms(5); lcd_clear(); i=0; shuzuqingkong(); } } } if(keyval==11) { lcd_clear(); i=0; t=0; shuzuqingkong(); } } } } } } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服