【毕业设计】66-基于物联网技术的智能家居系统的研究(仿真工程+原理图+源代码+答辩论文+答辩PPT)
方案描述
原理图工程文件
原理图截图
仿真模型工程文件
源代码工程
仿真截图
答辩论文低重复率文档
英文文献及翻译
任务书
答辩PPT
任务书
主要研究内容:
掌握物联网相关技术,对论文规划系统涉及到的物联网技术(主要包括传感器技术、无线射频技术以及无线传感器网络)做深入的学习和研究,掌握所规划系统感知控制层的组成及结构,规划设计服务管理层应有的功能模块。
研究方法:
主要通过参阅相关资料,书籍和网上调阅资料。收集相关信息。同时咨询指导老师,以求达到专业知识,完成设计的效果。
要求:
基于物联网技术,实现该场景下的规划,以实际案例为例对其功能实现进行分析与说明。要求论文脉络清晰,逻辑合理,行文流畅。
综上系统需要实现的功能有:
ESP8266Wi-Fi实现物联网控制;温度湿度检测;烟雾浓度检测;光照强度检测;人体检测;自动控制窗帘;设定室内自动控制阈值;
设计说明书
摘要
本文通过对基于物联网技术智能家居系统的研究,深入研究智能家居的控制原理,使用现在火热的ESP8266Wi-Fi模块作为无线传输工具将检测到的数据或者将家庭中的电气设备信息传输到互联网中实现自动化控制。并可以对家庭中的温度、湿度、烟雾、光照、人体进行检查,可以通过步进电机实现室内窗帘的自动化控制。通过调节不同的阈值对室内的窗帘实现自动化控制。整个系统由硬件电路部分与软件设计部分组成。对系统功能分析确认研发方向,确认整体系统研究价格分析后期的拓展性以及可迭代性等。软件设计上考虑系统的架构根据系统的功能性对系统进行功能移植,并且可实现软件系统框架可迭代与调试。本系统的硬件部分由热释电检测电路、电机控制电路、电机控制电路、单片机最小系统控制电路、温湿度检测电路等部分组成。软件设计根据硬件电路的功能性设计软件开发流程。使用EDA软件测试系统的功能性,验证系统的硬件电路的驱动性以及软件的功能性,进行大量流程性测试验证系统是一个满足要求并且性能达标的稳定系统。
设计框架架构
前 言 1
第一章 绪论 2
第一节 研究背景 2
第二节 研究意义 3
第三节 本文的主要研究内容 4
第四节 本章小结 5
第二章 智能家居系统方案设计 6
第一节 系统功能分析与系统架构确认 6
第二节 主要元器件介绍 6
一、红热释电红外传感器介绍 6
二、ESP8266Wi-Fi模块介绍 9
三、步进电机介绍 10
四、烟雾报警器介绍 11
第三节 本章小结 12
第三章 智能家居系统电路设计 13
第一节 单片机最小系统电路设计 13
一、单片机介绍 13
二、单片机最小系统设计 14
第二节 驱动控制电路设计 15
一、按键控制电路设计 15
二、传感器检测电路设计 16
三、电源电路设计 17
四、LCD1602电路设计 18
五、ESP8266电路设计 19
六、电机控制电路设计 19
第三节 总电路设计 20
第四节 本章小结 21
第四章 智能家居系统软件设计 22
第一节 Keil软件介绍 22
第二节 软件总流程设计 22
第三节 人体检测流程设计 24
第四节 按键检测流程设计 24
一、按键检测流程设计 24
二、核心代码 25
第五节 LCD1602显示流程设计 26
一、LCD1602显示流程设计 26
二、核心代码 27
第六节 温湿度流程设计 29
第七节 本章小结 30
第五章 智能家居系统仿真实现 31
第一节 仿真软件介绍 31
第二节 仿真电路搭建 32
一、电路调试 33
二、系统综合调试 34
第三节 仿真功能测试 35
一、烟雾及温湿度检测功能 35
二、光照检测功能 36
三、窗户自动打开功能 36
四、阈值设定功能 37
第四节 本章小结 38
结 论 39
致 谢 40
参考文献 41
附 录 43
一、英文原文 43
二、英文翻译 47
三、工程图纸 51
四、源代码 52
设计说明书及设计文件
低重复率文档,26281字
源码展示
#include "reg51.h"
#include "ADC0832.h"
#include "lcd1602.h"
#include "SHT11.h"
#define uchar unsigned char
#define uint unsigned int
sbit AA=P2^4;//电机
sbit BB=P2^5;
sbit CC=P2^6;
sbit DD=P2^7;
sbit led=P2^3;//指示灯
sbit man=P3^6;//人体红外
uchar yan=0,light=0;//烟雾、光照
uchar lim1=50,lim2=50,lim3=25,lim4=70;//阀值
uchar mode=0,time=0;
uchar disp1[]="00";
uchar disp2[]="000";
uchar key_scan()//按键检测
{
uchar i,j;
i=0;
j=0;
P1=0x0f;
if(P1!=0x0f) //检测有无按下
{
switch(P1)//检测行
{
case 0x0e:i=1;break;
case 0x0d:i=5;break;
case 0x0b:i=9;break;
case 0x07:i=13;
}
P1=0xf0;
switch(P1)//检测列
{
case 0xe0:j=0;break;
case 0xd0:j=1;break;
case 0xb0:j=2;break;
case 0x70:j=3;
}
while(P1!=0xf0);//等待按键松开
}
return i+j;
}
void zheng()//正转
{
uchar i=0;
for(i=0;i<20;i++)
{
BB=1;delay_uint(5000);
AA=0;delay_uint(5000);
CC=1;delay_uint(5000);
BB=0;delay_uint(5000);
DD=1;delay_uint(5000);
CC=0;delay_uint(5000);
AA=1;delay_uint(5000);
DD=0;delay_uint(5000);
}
led=0;
}
void fan() //反转
{
uchar i=0;
for(i=0;i<20;i++)
{
DD=1;delay_uint(5000);
AA=0;delay_uint(5000);
CC=1;delay_uint(5000);
DD=0;delay_uint(5000);
BB=1;delay_uint(5000);
CC=0;delay_uint(5000);
AA=1;delay_uint(5000);
BB=0;delay_uint(5000);
}
led=1;
}
//主函数
void main()
{
uchar i=0;
init_1602();
TMOD|=0X01;
TH0=0X3C;
TL0=0XB0;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
while(1)
{
i=key_scan();//按键检测
if(i==1)//设置
{
mode=1;
write_string(1,0," ");
write_string(2,0," ");
}
if(i==2)//OK
{
mode=0;
write_string(1,0," ");
write_string(2,0," ");
}
//判断,窗户控制
if((yan>lim1)||(sht_temp>lim3)||(sht_humi>lim4))
{
if(led)
zheng();//开窗
}
else
{
if((light>lim2)|| !man)
{
if(!led)
fan();//关窗
}
}
//按键设置
if(mode==1)
{
if(i==3)//温度
{
if(lim3<99)
lim3++;
}
if(i==4)
{
if(lim3>0)
lim3--;
}
if(i==5)//烟雾
{
if(lim1<99)
lim1++;
}
if(i==6)
{
if(lim1>0)
lim1--;
}
if(i==7)//湿度
{
if(lim4<99)
lim4++;
}
if(i==8)
{
if(lim4>0)
lim4--;
}
if(i==9)//光照
{
if(lim2<255)
lim2++;
}
if(i==10)
{
if(lim2>0)
lim2--;
}
}
}
}