基于单片机的智能家居远程控制系统的设计与实现
ptvy80095
ptvy80095 Lv.9
2015年07月29日 21:52:00
来自于智能家居
只看楼主

智能家居是通过综合采用先进的计算机、通信和控制技术(3C),建立一个由网络服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面的安便利的通讯网络以及舒适的居住环境的家庭住宅。为了实现智能家居,提高生活质量,在工作回家时也可以预先预热热水器、煮饭,特殊天气情况下,在外也可以远程控制窗户的开关。人离灯亮的这个问题一直困扰着很多人,就如公共楼梯的路灯,如果没人的时候,路灯可以熄灭,节省电力,当有路人经过时,路灯自动点亮,人走了,路灯再熄灭,这样就能够很好的节省了电力资源,而且不影响正常的使用。

智能家居是通过综合采用先进的计算机、通信和控制技术(3C),建立一个由网络服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面的安便利的通讯网络以及舒适的居住环境的家庭住宅。为了实现智能家居,提高生活质量,在工作回家时也可以预先预热热水器、煮饭,特殊天气情况下,在外也可以远程控制窗户的开关。人离灯亮的这个问题一直困扰着很多人,就如公共楼梯的路灯,如果没人的时候,路灯可以熄灭,节省电力,当有路人经过时,路灯自动点亮,人走了,路灯再熄灭,这样就能够很好的节省了电力资源,而且不影响正常的使用。

201205111131060002.jpg

1总体设计

本文设计的系统总体功能如图1所示。该智能家居是通过终端控制器发出控制指令,经过无线信号传输到主机,处理后再由不同指令控制家居中不同的设备。本设计系统的工作流程为:通过发送短信到GSM模块上,GSM模块输出信号到单片机,利用单片机控制热水器的预热功能,另外,给普通的电饭锅安装上预约的功能,通过单片机接收到GSM模块输出的信号,实现预先煮饭的功能;在落地窗户的两边安装一个电机,通过滑轮与落地窗的底滑轮连接,通过单片机接收GSM模块输出的信号,在窗户的两端安装行程开关,实现开关窗户的功能。

2系统硬件设计

2.1硬件总体设计

本论文设计中,采用到STC12C5A60S2单片机、TC35iGSM模块、直流电机、继电器、人体感应模块HC-SR501等硬件来实现功能。系统硬件连接原理图如图2所示。

201205111131361305.jpg

系统总体功能如下:

①在电饭锅电路板连接上继电器,继电器连接到电饭锅的开关上,单片机控制继电器开关。

②把直流电机与落地窗的滑轮连接,利用电机的正反转控制窗户的开与关。

③路灯的开关与独立的继电器相连,单片机控制继电器开关。

④热水器的开关与独立的继电器相连,单片机控制继电器开关。


2.2单片机控制系统设计

本项目采用51的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。如图3所示是单片机最小系统。

2.3人体感应系统设计

人体的温度与环境温度不同,一般要高于环境温度,而温度不同发出的红外线也不同,开关内部有热释电传感器,它能准确检测到人体所发出的特定波长的红外线,经电路放大过滤处理后就可以用于控制开关。

2.4 GSM TC35I模块

TC35I通信模块具备GSM无线通信的全部功能,并提供标准的UART串行接口,支持GSM07.05所定义的AT命令集的指令因此,MCU能够非常方便地通过UART接口与GSM模块连接,并直接使用AT命令就可以方便地实现短信息的收发、查询和管理。单片机与GSM模块的连接图如图4所示。

201205111132346323.jpg

2.5电机控制

当窗户上的撞块撞击带有滚轮的撞杆时,撞杆转向右边,顶下推杆,使微动开关中的触点迅速动作,开关马上输出信号到单片机上,命令电机停止转动。当运动机械返回时,在复位弹簧的作用下,各部分动作部件复位,输出信号到单片机上,命令电机工作。发送短信到GSM模块上,通过识别短信的内容,输出信号到单片机上,单片机分析后,控制电机工作正转/反转(开窗/关窗),当连接在窗上的行程开关触碰到窗框,立即反馈信号到单片机,单片机控制电机停止工作。其原理图如图5所示:

201205111132485697.jpg

3软件设计方案

3.1 AT指令

用手机发送指定的短信息到GSM模块上,实现远程控制功能,以下是指定的AT指令。

发送指令步骤:

1)输入AT+CMGF=1(设置短信文本)返回OK后

2)输入AT+CMGS“=13912340010”(设置对方号码)

指令:

①AT+CMGC=“0x00”(开窗)

②AT+CMGC=“0x01”(关窗)

③AT+CMGC=“0x02”(煮饭)

④AT+CMGC“=0x03”(热水器预热)


3.2串口通信

串口通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,此时只需要一条数据线,外加一条公共信号地线和若干控制信号线。

因为一次只能传送一位,所以对于一个字节的数据,至少要分8位才能传送完毕。发送时,要把并行数据变成串行数据发送到线路上去,接受时,要把穿行信号变成并行数据,这样才能被计算机及其它设备处理。以下是部分通信程序:

void init_serialcom(void)

{

SCON=0x50;T

MOD|=0x20;P

CON|=0x80;T

H1=0xFD;I

E|=0x90;T

R1=1;T

I=1;

}

void send_char_com(unsigned char ch)

{

SBUF=ch;w

hile(TI==0);T

I=0;

}


3.3单片机程序设计

采用C语言,通过Keil软件进行编程。C语言既具有高级语言的特点,又具有汇编语言的特点,应用范围广泛,具备很强的数据处理能力。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的与函数配合功能。部分函数如下:

TMOD=0X20;//设定T1定时器工作方式2T

H1=0Xfd;//T1定时器装初值T

L1=0Xfd;//T1定时器装初值T

R1=1;//启动T1定时器R

EN=1;//允许串口接收S

M0=0;//设定串口工作方式E

A=1;//开总中断E

S=1;//开串口中断


4结束语

通过本设计,能够实现远程控制家居的功能,有效地体现了智能家居的实用性与可靠性,为未来人们的家居生活质量提高了一个新的层次。通过实验测试,本系统运行稳定。

201205111131060002.jpg


201205111131361305.jpg


201205111132346323.jpg


201205111132485697.jpg

相关推荐

APP内打开