智能家居安全系统.doc_第1页
智能家居安全系统.doc_第2页
智能家居安全系统.doc_第3页
智能家居安全系统.doc_第4页
智能家居安全系统.doc_第5页
免费预览已结束,剩余17页可下载查看

下载本文档

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

文档简介

现代智能家居安全系统 题目:现代智能家居安全系统设计学院:电子与通信学院班级:课程组组员:指导老师: 目 录第一章、概述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、温度检测模块该模块主要用于检测室内温度。采用改进型智能温度传感器DS18B20 与传统的热敏电阻相比,DS18B20能够直接读出被测温度,它仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。当温度过高时即发生火灾时,单片机向声光模块发出信号,即发出声光报警。DS18B20的1脚接地,2脚接PORTC.0,3脚接电源,在2脚接一个4.7K的上拉电阻抗干扰。2、声光报警模块当温度过高时,该模块接收到单片机发出的信号后,声光模块开始动作,LED灯开始闪烁,蜂鸣器并发出声音报警,告知主人或邻居及时发现险情,及时的控制火情。当红外模块感知到有外人闯入时,该模块发出报警,威慑他人,使其不敢进入主人家中,并提醒邻居或主人,及早做出防范。我们把若干个LED灯摆成笑脸形状。因为若干个LED灯和一个蜂鸣器工作时需要较大的电流。因此我们设计一个三极管(S9013)来进行驱动,保证了电路有足够大的电流。三极管的基极与PORTD.6连接。同时我们用了俩个1K分别与LED和蜂鸣器串联来进行分压保证其安全性。3、红外线模块该模块主要用于防盗,安置在窗户或者门口等地方,当有盗贼闯入时,会触动到那些安置好了的红外装置,发送信号给单片机,单片机经过处理后发送给声光模块。为了防止错报,我们安装若干个红外对管,当只有达到一定数量的红外对管发生中断时才报警。因为单片机的中断资源有限,所以我们用了2对红外对管来模拟若干个,当只有其中一个红外对管发生中断时,系统不报警,当两个红外对管都发生中断时,系统发出警报。这两对红外对管分别接单片机的PORTD.4(INT0)、PORTD.5(INT1)。4、液晶显示模块该模块主要应用于显示一些信息,起到与用户进行人机交流作用,用户可以通过显示模块,看到一些信息,例如现在的室内温度、现在系统启用的模式等。我们将采用1602lcd来显示,四线制方式将1602与单片机的PORTB口相连接,1602的RS、RW、E、D4、D5、D6、D7分别接PORTA.0、PORTA.1、PORTA.2、PORTA.4、PORTA.5、PORTA.6、PORTA.7。电路如下:5、电源模块该模块主要用于给整个系统提供能够应用且稳定的电源。我们采用了7805这种型号的稳压器件,在输入端我们用了火牛插孔,便于连接电源,在输入的负极安装了一个按键开关,便于控制电源的开关,如下图:6、输入模块该模块由4*4个按键组成,用于用户对系统的设置与控制等,给用户提供一个输入的方式,输入用户所需求的信息。我们将键盘与单片机的PORTA口相连,PORTA口的高八位接按键的行,低八位接按键的列。电路如下:按键功能如下图所示:0123456789空取消确定设防撤防空7、语音模块该模块主要由ISD1730、扬声器、mic、按键及其一些电阻电容等组成。它的作用的是通过语音提示,指导用户对安全系统的操作,例如设防,撤防等,把语音芯片的复位脚(24脚)与单片机的PORTD.1相连接,播放脚(23脚)与单片机的PORTD.4相连接,快进脚(26脚)与单片机的PORTD.5脚相连接。第四章 程序设计1、显示模块该模块主要有1602液晶显示屏组成,上电后初始化1602,屏幕上显示欢迎界面,2秒后显示温度,设防时显示Fortification of success,撤防时显示Please enter your password,第一次输入密码错误时,显示Please try again,第二次输入密码错误时,显示The last chance,当发生火灾时显示Alarm!Fire!,当发生盗窃是显示Burglar alarms!,及其一些其他的显示都用putsf()函数来完成显示工作。2、语音模块当开机时PORTD.1给一个低电平,让语音芯片的指针复位,POTD.4给一个低电平并进行延时,然后在给高电平,进行播放语音“欢迎使用智能家居安全系统”。然后PORTD.5给一个低电平并进行适当的延时,当设防按键按下时PORTD.4给一个低电平并进行延时,然后在给高电平,播放“请输入密码”,然后进行快进,让播放指针指向下一个语音片断,撤防成功后播放“成功撤防”。3、输入模块我们采用键盘扫描的方式来采取键盘的输入信息,单片机的A口高四输出,轮流输出0,A口第四位输入,采集键盘的信息,检测是否有按键按下,那一列有按键按下。根据当哪一行输出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;i4;i+) PORTA=coli;delay_us(2);if(PINA!=coli) getsta=PINA&0x0F; for(j=0;j PB0 */ /* RW- PB1 */ /* E - PB2 */ /* FREE- PB3 */ /* D4- PB4 */ /* D5- PB5 */ /* D6- PB6 */ /* D7- PB7 */ /*/ #include #include #include #include #include #asm .equ _lcd_port=0x18;PORTB #endasm #include #asm .equ _w1_port=0x15 ;PORTC .equ _w1_bit=0 #endasm #define fuwei PORTD.1 #define jingbao PORTD.6 unsigned char mima=1,2,3,1,2,3;unsigned char shuru6=0,0,0,0,0,0;int shi,ge; /温度的十位与个位unsigned char flage_0=0; /中断0标志unsigned char flage_1=0; /中断1标志 /*/ /初始化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 OFF MCUCR=0x0F; MCUCSR=0x00; GIFR=0xC0; #asm(sei)/ External Interrupt 0 service routineinterrupt EXT_INT0 void ext_int0_isr(void)flage_0=1; /待补充/ External Interrupt 1 service routineinterrupt 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_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.%dxDFCnr,shi,ge,_1); lcd_puts(lcd_buffer); 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;i4;i+) PORTA=coli;delay_us(2);if(PINA!=coli) getsta=PINA&0x0F; for(j=0;j4;j+)if(getsta=rowj) keyval=j+i*4; delay_ms(300); /300 while(getsta=rowj) getsta=PINA&0x0F; return keyval; 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(_); lcd_gotoxy(5,1); lcd_putsf(WELCOM); PORTD.1=0; /复位不用时间 PORTD.1=1; delay_ms(10); yuyin(); /播放开机音 delay_ms(2000); delay_ms(2000); /语音播放完后进入快进 nextone(); wendu(); void shuzuqingkong(void) unsigned char i; for(i=0;i1&ge7) /温度报警 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(Burglar alarms!); jingbao=1; if(keyval=14) /撤防 i=0; lcd_clear(); lcd_gotoxy(0,0); lcd_putsf(Please enter your password); yuyin();/播放语音 delay_ms(2000); delay_ms(1000); nextone(); lcd_clear(); while(flage) keyval=getkeyval(); if(keyval10) shurui=keyval; lcd_putchar(shurui+0x30); i+; if(keyval=12) i=0; lcd_clear(); for(j=0;j=10) ttt=0; yyy=0; shuzuqingkong(); lcd_gotoxy(0,0); lcd_putsf(OK); yuyin(); /播放语音 flage=0; i=0; t=0; jingbao=0; delay_ms(1000); delay_ms(2000); fuw

温馨提示

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

评论

0/150

提交评论