嵌入式 智能家居报告.docx

上传人:b****5 文档编号:5802571 上传时间:2023-01-01 格式:DOCX 页数:14 大小:290.24KB
下载 相关 举报
嵌入式 智能家居报告.docx_第1页
第1页 / 共14页
嵌入式 智能家居报告.docx_第2页
第2页 / 共14页
嵌入式 智能家居报告.docx_第3页
第3页 / 共14页
嵌入式 智能家居报告.docx_第4页
第4页 / 共14页
嵌入式 智能家居报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

嵌入式 智能家居报告.docx

《嵌入式 智能家居报告.docx》由会员分享,可在线阅读,更多相关《嵌入式 智能家居报告.docx(14页珍藏版)》请在冰豆网上搜索。

嵌入式 智能家居报告.docx

嵌入式智能家居报告

课程设计

课程名称嵌入式系统课程设计

题目名称智能家居控制系统

学生学院自动化学院

专业班级电子信息科学与技术1班

学号

学生姓名

指导教师

 

2012年05月24日

广东工业大学课程设计任务书

题目名称

智能家居控制系统

学生学院

自动化

专业班级

电子信息科学与技术

姓名

学号

1.课程设计要求:

●团队任务

●熟悉实验面板的部件,包括:

LED调光

百叶窗控制模块

移动传感模块

亮度传感模块

继电器

外部输入模块,等。

●熟悉相关配置软件的使用

●熟悉嵌入式编程代码的书写

●在上述部件的基础上,构思一个家庭控制场景,利用上述或者外界的其它电子设备(当然,要以实验面板为主体)完成家庭控制的目的。

●要求使用实验面板上三种或以上部件

●完成相应课程设计报告

⏹课程设计报告需要对整个设计的目标、功能介绍、原理、实现方法、实验结果、总结等

⏹课程设计报告需有控制流程的原理图

⏹课程设计报告中需要明确小组成员每人的任务量和任务内容

2.课程设计的成果:

(1)实现家庭控制场景的相应配置文件和AVR源代码

(2)项目报告

 

发出任务书日期:

年月日指导教师签名:

计划完成日期:

年月日基层教学单位责任人签章:

主管院长签章:

目录

1课程设计目的与要求5

1.1设计要求5

2概述5

2.1家庭控制场景5

2.2实现此场景所要包括的功能5

3课程设计原理6

3.1原理6

4功能设计及实现6

4.1灯光亮度调节原理及实现方法6

4.2室内电器自动开关功能7

4.3自动报警功能8

5总结8

5.1实验结果8

5.2总体工作时间9

5.3工作分工9

6心得体会10

7附录10

7.1配置的参数图:

10

7.2修改的程序11

1课程设计目的与要求

1.1设计要求

1)团队任务

2)熟悉实验面板的部件,包括:

LED调光、百叶窗控制模块、移动传感模块、亮度传感模块继电器、外部输入模块,等。

3)熟悉相关配置软件的使用

4)熟悉嵌入式编程代码的书写

5)在上述部件的基础上,构思一个家庭控制场景,利用上述或者外界的其它电子设备(当然,要以实验面板为主体)完成家庭控制的目的。

6)要求使用实验面板上三种或以上部件

7)完成相应课程设计报告

2概述

2.1家庭控制场景

在这次课程设计中,为了很好地用到实验开发板所提供的功能,我模拟了这样一个智能家居家庭控制场景:

在傍晚的时候,夜幕降临,刚下班的我一打开家的大门,家里的温馨的灯自动打亮,空调自动打开,温馨的轻音乐响起,厨房的电饭煲、微波炉等电器全部打开。

为赶公车下班,拖着一身疲惫的我,送来清凉和新鲜的空气和舒适的环境及美味的佳肴。

我的精神为之一震,顿时从疲惫的状态走了出来,觉得光线不合心意,还可以进行调节。

而在我离开家去上班的时候,家里切换到报警系统。

忠心而又可靠的替我守护家园。

2.2实现此场景所要包括的功能

1)室内灯光亮度调节:

根据个人需求,对于外界光线的需求,利用按键进行对室内光线,灯光的亮度调节,分成8个亮度,可以自由的选择灯光的亮度,以调节室内的光线,适应个人的需求。

需要关闭时,按下关闭键,就可一键关闭。

2)家用电器自动开关功能:

家用电器用LED灯来代替,程序中它与检测主人回家连接在一起。

当主人回到家时,家用电器按需逐渐自动打开(即LED依次序点亮)。

3)自动报警系统:

自动报警系统通过移动探头检测是否外界有人或物进入、移动,一旦检测到有人进入警戒范围内,移动探头就会发出信号,促发警报系统,这里用继电器的开关演示,警报系统会一直发出警报直到主人关闭警报系统。

有人在家的话,可以关闭警报系统,睡觉或者外出时开启警报系统以防止被盗或者意外。

3课程设计原理

3.1原理

利用基于KNX总线协议的ETS4智能家居开发软件,设计出囊括所要实现的智能家居的所有可能性的数据库,然后在此基础上进行二度开发,编写运行数据库里面数据的程序,就好比物流,数据库里面的参数就是货物,程序就是搬运工,两者结合就组成了物流,所以我们可以通过修改以及编写不同运行的程序,在同一个数据库功能的前提下,实现不同的功能。

又或者通过数据库里面物理地址的不同链接,而模拟出不同的功能。

4功能设计及实现

4.1灯光亮度调节原理及实现方法

功能描述:

当觉得光线不合此时的气氛,想营造一个更加舒适的氛围。

这是个必不可少的功能,你可以通过按钮来进行调光功能。

程序流程图:

 

开发板实现方式:

使用按键触发,按键开关给对应端口发出豹纹,通过识别豹纹选定控制程序,每按一次按键,通过识别输入量,利用函数AboutSET判别输入为1时,对全局变量灯光设置LEDSET进行判别设置,小于8时加1,等于8时置1。

通过数组LD存储灯光亮度值,再根据LEDSET的值选择灯光亮度值LEDFLAG,然后调用灯光函数DimmerObjectOFIn,对灯光开关亮暗进行调节。

需要快速关闭时,按下关闭键,关灯并将所有的参数复位。

4.2室内电器自动开关功能

功能描述:

当主人打开门的时候,室内的电器,就会根据主人之前设定的情况,按照主人的生活习惯和爱好,把想要的电器在进门的时候,自己打开,给主人一个智能、舒适、温馨的家。

程序流程图:

 

开发板实现方式:

通过ETS4,给予继电器模块、开关模块等同一个物理地址,实现它们的同步工作,继电器模块的显示灯、LED等模拟室内电器,开关模块模拟主人回家的感应器,从而模拟室内电器自动开关功能。

4.3自动报警功能

功能描述:

自动报警系统通过移动探头检测是否外界有人或物进入、移动,一旦检测到有人进入警戒范围内,移动探头就会发出信号,促发警报系统,这里用继电器的开关演示,警报系统会一直发出警报直到主人关闭警报系统。

程序流程图:

开发板实现方式:

通过移动探头触发,发出豹纹,相应的端口接收豹纹选定控制程序,当输入为1的时候,则开启警报(继电器以及相连的灯),调用函数SwitchObjectOFIn,同时利用函数ObjectDisablePIR关闭移动探头使能端,使得警报系统一直处于警报状态。

确定要关闭警报时,手动按键,利用SwitchObjectOFIn清掉警报,然后根据需要选择是否再次开启警报系统。

用一个按键控制警报的清除与警报系统的开关,当按键输入0时,用ObjectDisablePIR关闭警报系统并清除警报,输入1时打开警报系统。

5总结

5.1实验结果

编写好程序,设置好实验版参数并下载到板上,按动控制灯光亮度调节的按键,按第一下其显示灯(PORTE端口的LED灯)点亮,但是调光的LED灯不亮,按第二次,调光的LED灯亮,继续按下去,LED灯亮度慢慢增强,直到按下第八次,显示灯暗,调光的LED灯也暗了。

对于主人回家家用电器自动打开,通过探测主人是否回家,即处于一直等待主人回家状态,此时电器关闭(即LED全灭),当主人回家时,电器依次打开(即LED依次点亮)。

实现预期效果。

对于警报系统,触发移动探头,继电器1打开,与其连接的灯也点亮,并且不会暗下去直至手动按下警报关闭键,再次打开警报系统,触发移动探头,出现一样的结果,重复多次,依然得到正确结果。

关闭了警报系统时,移动探头不接受任何触发,继电器及LED灯没有任何操作,打开警报系统,移动探头才能够触发,并且,触发后,在关闭警报并重新启动警报系统之前,移动探头不再触发。

5.2总体工作时间

熟悉软件和程序

3天

构建场景

1天

构建各个子模块

2天

填充和完善各个子模块

2天

完善和调试应用程序

1天

5.3工作分工

杨应聪、李子霖、张露

负责开发板硬件的了解和ETS4的使用

叶国林、刘运可

负责程序的了解和编写和AVR的使用

刘运可、叶国林、杨应聪、李子霖、张露

负责构建整个场景,完善与调试程序

程序的编写:

叶国林、刘运可

调光函数、LED依次点亮函数

杨应聪、李子霖、张露

自动报警函数

6心得体会

7附录

7.1配置的参数图:

7.2修改的程序

附录C语言源程序

UCHARLEDSET=0;//灯光设置选项

UCHARLEDFLAG,LD[]={0,1,2,3,4,5,6,7,0};//亮度

voidAboutSET(UCHARINPUT)//灯光设置选项函数

{

if(INPUT)

{

if(LEDSET<8)

{

LEDSET+=1;

}

else

{

LEDSET=1;

}

}

LEDFLAG=LD[LEDSET];

}

voidJingbao(UCHARchannel,UCHARIN)//警报器函数

{

if(IN==0x01)

{

SwitchObjectOFIn(channel,IN);

if(IN==0x01)

{

ObjectDisablePIR(0x00);

}

}

}

voidKuaiguan(UCHARIN)//一键关闭LED

{

if(IN==0x01)

{

PORTE=0xff;

DimmerObjectOFIn(0x01,0x00);

ProcessBSObjectIn(0x00);

LEDSET=0;

LEDFLAG=0;

}

}

voidJingbaokaiguan(UCHARIN)//警报器开关函数

{

ObjectDisablePIR(IN);

if(IN==0x00)

{

SwitchObjectOFIn(0x00,0x00);

}

}

voidBaiyechuang(void)

{

if(LEDFLAG==0)

{

ProcessBSObjectIn(0x01);

PORTE=0xff;

}

elseif(LEDFLAG==1)

{

ProcessBSObjectIn(0x00);

PORTE=0x00;

}

}

//DimmerSwitchobjectinON/OFF

voidDimmerObjectOFIn(UCHARchannel,UCHARDestValue)//LED调光函数

{

PrepareBrightness(channel,DestValue);

}

voidAppGetObjctPro(void)

{

UCHARTmpObjNo,TmpChnNo;

UCHARObjectInValue[2];

if(!

KnxAl_GetUpdatedCo(&TmpObjNo))return;

KnxAl_GetValue(TmpObjNo,ObjectInValue);

switch(TmpObjNo)

{

case0:

//警报器

Jingbao(TmpObjNo,ObjectInValue[0]);

break;

case1:

//一键关闭LED

Kuaiguan(ObjectInValue[0]);

break;

case2:

case3:

SwitchObjectSCIn(TmpObjNo%2,ObjectInValue[0]);

break;

case6:

break;

case10:

//LED调光

AboutSET(ObjectInValue[0]&0X01);

DimmerObjectOFIn((TmpObjNo-6)/4,LEDFLAG);

break;

case7:

case11:

//dimmer4bit

DimmerRelativeObjectIn((TmpObjNo-7)/4,ObjectInValue[0]&0x0F);

break;

case8:

case12:

//dimmer1byte

DimmerObjectBRTIn((TmpObjNo-8)/4,ObjectInValue[0]);

break;

case21:

//警报器开关

Jingbaokaiguan(ObjectInValue[0]);

break;

case23:

ObjectChangeSen(ObjectInValue[0]);

break;

case14:

Baiyechuang();

break;

case15:

ProcessLSObjectIn(ObjectInValue[0]);

break;

case4:

case5:

SwitchObjectSIn(TmpObjNo-4,ObjectInValue[0]);

break;

default:

break;

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1