龙岗营销网站建设公司哪家好,网页游戏网站电影,html代码例子,滕州做网站哪家好实物演示效果#xff1a;
https://www.bilibili.com/video/BV1bh4y1A7ZW/?vd_source6ff7cd03af95cd504b60511ef9373a1d 51单片机是否适合做多功能智能家居控制系统#xff1f;51单片机的芯片是否具有与WiFi通信的能力#xff1f;如果有的话#xff0c;具体有哪些芯片啊
https://www.bilibili.com/video/BV1bh4y1A7ZW/?vd_source6ff7cd03af95cd504b60511ef9373a1d 51单片机是否适合做多功能智能家居控制系统51单片机的芯片是否具有与WiFi通信的能力如果有的话具体有哪些芯片啊做起来复不复杂新手可以做吗51比32好不好做啊想做的话哪里可以看51做多功能智能家居的教程啊
接下来博主带大家做一个基于51单片机的智能家居终端 以下我大概说明我制作的过程以及用到的资料方便同行能够获取使用。 1通过ESP8266-01S来进行一个信号的传输就是手机与单片机来连接的一个桥梁。通过这个可以实现手机APP上实时显示单片机获取的数据包括LED灯的状态DHT11获取的温湿度当然我们也可以控制单片机做出相应的动作通过手机APP的按键来操作。 2但是随着技术的日益进步通常使用的洞洞板完全可以实现我所说的功能但是不断地通过原理图焊接连线不仅复杂而且需要的时间非常多。那么绘制PCB是非常好的一个思路。它的好处1可以批量生产2大大减少工作量3我们只需做一遍就可以了。按照这个思路首先是我们需要绘制PCB的资料第一步制作或是收集每个原件的原理图其实大多数网上都是有的但是多且杂乱无章。最后我会提供给大家非常齐全且整理好的的原理图库和封装还有3D库。第二步就是给每一个原理图添加封装这里的封装是PCB封装和3D库按照我的理解就是能看到原件本来的模样这个对你后期购买元器件是非常重要的。
一、设计完成主要功能 本设计可分为温湿度检测与烟雾检测和人体检测部分。温湿度检测部分是通过利用单总线型数字式温湿度传感器DHT11实现系统具有测温湿度误差小、分辨率高、抗干扰能力强等特点。烟雾检测电路利用气体传感器MQ-2与ADC0832模数转换器实现基本功能。通过这些传感器和芯片当环境中可燃气体浓度或有毒气体等发生变化时系统会发出相应的灯光报警信号和声音报警信号以此来实现火灾报警智能化提示。人体检测部分是通过HC-SR501模块实现模块主要功能就是热释电红外传感器感应到入侵者的红外热辐射将其转换成超低频信号经电路放大、输出。检测器是利用红外人体检测探头检测预先设定好的范围内的情况一旦有危险便向单片机发出信号再经单片机处理然后控制蜂鸣器和LED点亮发出警告本设计还可以应用于家居防盗、仓库防盗等多种防盗场合具有很强的实用价值和良好的市场前景。温湿度、烟雾和人体防盗检测是三种最基本的环境参数其测量方法和装置对现在的生活、生产具有重要的意义。本课题基本完成预期设想设计并实现了系统的硬件电路完成了系统软件的编写和调试。测试结果证明达到了设计要求
二、课题背景 当今世界随着科技的不断发展智能环境监测成了人类关注的话题。智能家居通过物联网技术将家中的各种设备如照明系统、火灾检测系统、空调控制、安防系统报警控制等连接到一起提供家电控制、照明控制、智能温湿度调节、室内外遥控、防盗报警以及环境监测等多种功能和手段。与普通家居相比智能家居不仅具有传统的居住功能兼备建筑、信息家电、设备自动化集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境而且提供全方位的信息交互功能帮助家庭与外部保持信息交流畅通优化人们的生活方式帮助人们有效安排时间增强家居生活的安全性甚至为各种能源费用节约资金。
本文首先介绍了智能家居的发展前景接着介绍了该课题设计构想各模块电路的选择及其电路工作原理最后对该课题的设计过程进行了总结与展望并附带各个模块的电路原理图和本设计仿真图以及C语言思想。智能家居实验是为智能家居系统实验做准备的是实验的基础智能家居是为了提高学生的动手能力配合各类电子设计大赛科技活动等而开发的设计模型。在此模型上我们可以进行多种实验如测量感应报警等等。为了能更好的控制模拟家居实现手动与自动控制相结合进行各种功能实现并且这个实验对现实生活也有一定的意义所以我们就需要对这个实验进行一定的研究 1.21概述及功能介绍 本次设计主要分五个个功能分别为测温湿度烟雾及红外感应和报警显示信息和报警信息。将这几个个功能巧妙的与家居结合我们已经知道五个单独功能如何实现现在要将五个功能通过单片机系统化反馈以达到能实现综合五种功能的智能家居。
设计涉及主硬件为STC89C52RC单片机DHT11温湿度传感器人体红外感应器MQ-2烟雾传感器按键设置与LCD1602液晶显示模块蜂鸣器报警电路以及超标指示显示模块组成。 1.2.2 功能介绍 (1)通过DHT11温湿度采集数据将信息显示于LCD1602上面如果温湿度超出设定的预警值指示灯有提示并蜂鸣器报警待到坏境温湿度降到低于预警值的时候报警自动关闭。 (2)采用烟雾探头传感器来检测我们周围环境的烟雾可对煤气甲烷以及我们周围着火的烟雾或是抽烟的浓度等实时监测如有超标蜂鸣器报警并有指示灯动作来提醒你解决当前的问题解决之后这些显示和指示指标自动关闭所以能给您带来一定的安全感。 (3)人体红外检测电路能够根据外界移动人体进行判断如果在布防状态并且有人时指示灯有提示并蜂鸣器报警来警告入侵者直至手动撤防才可以解除报警。而且具有掉电保存的功能即使人为关闭电源再开机也能继续报警这样更加智能。
三、论文目录 四、项目子仿真图 1).开机显示界面 2).灯具关闭失败显示界面 3).温度检测显示界面 五、部分源码程序
#includereg52.h
#include I2C.H#define ADDR 0x90 //PCF8591 地址// 此表为 LED 的字模 // 0 1 2 3 4 5 6 7 8 9 A b c d E - L P U Hidden _ (20)
unsigned char code Disp_Tab[] { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x88,0x83,0xC6,0xA1,0x86,0xbf,0xc7,0x8c,0xc1, 0xff, 0xf7 };
unsigned char TABLEW[8] {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char AD_CHANNEL;
unsigned char LedOut[8];
unsigned int D[32];sbit KEY1 P3^2;
sbit KEY2 P3^3;/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay_1ms(unsigned char i)//1ms延时
{unsigned char x,j;for(j0;ji;j)for(x0;x148;x);
}
/*******************************************************************
DAC 变换, 转化函数
*******************************************************************/
bit DACconversion(unsigned char sla,unsigned char c, unsigned char Val)
{Start_I2c(); //启动总线SendByte(sla); //发送器件地址if(ack0)return(0);SendByte(c); //发送控制字节if(ack0)return(0);SendByte(Val); //发送DAC的数值if(ack0)return(0);Stop_I2c(); //结束总线return(1);
}/*******************************************************************
ADC发送字节[命令]数据函数
*******************************************************************/
bit ISendByte(unsigned char sla,unsigned char c)
{Start_I2c(); //启动总线SendByte(sla); //发送器件地址if(ack0)return(0);SendByte(c); //发送数据if(ack0)return(0);Stop_I2c(); //结束总线return(1);
}/*******************************************************************
ADC读字节数据函数
*******************************************************************/
unsigned char IRcvByte(unsigned char sla)
{ unsigned char c;Start_I2c(); //启动总线SendByte(sla1); //发送器件地址if(ack0)return(0);cRcvByte(); //读取数据0Ack_I2c(1); //发送非就答位Stop_I2c(); //结束总线return(c);
}//******************************************************************/
main()
{
unsigned char i,temp1;
while(1)
{/********以下AD-DA处理*************/switch(AD_CHANNEL){case 0: ISendByte(ADDR,0x41);D[0]IRcvByte(ADDR)*2; //ADC0 模数转换1break;case 1: ISendByte(ADDR,0x42);D[1]IRcvByte(ADDR)*2; //ADC1 模数转换2break;case 2: ISendByte(ADDR,0x43);D[2]IRcvByte(ADDR)*2; //ADC2 模数转换3break;case 3: ISendByte(ADDR,0x40);D[3]IRcvByte(ADDR)*2; //ADC3 模数转换4break;case 4: DACconversion(ADDR,0x40, D[4]/4); //DAC 数模转换break;}if(AD_CHANNEL4) AD_CHANNEL0;if(KEY10 || KEY20 ) {Delay_1ms(20); //20毫秒软件防抖if(KEY1 0){temp 1;}else if(KEY2 0){temp2; }}if(temp 1){LedOut[0]Disp_Tab[D[0]%10000/1000];LedOut[1]Disp_Tab[D[0]%1000/100];LedOut[2]Disp_Tab[D[0]%100/10]0x7f;LedOut[3]Disp_Tab[D[0]%10];LedOut[4]Disp_Tab[D[1]%10000/1000];LedOut[5]Disp_Tab[D[1]%1000/100]0x7f;LedOut[6]Disp_Tab[D[1]%100/10];LedOut[7]Disp_Tab[D[1]%10]; }if(temp 2){LedOut[0]Disp_Tab[D[2]%10000/1000];LedOut[1]Disp_Tab[D[2]%1000/100];LedOut[2]Disp_Tab[D[2]%100/10]0x7f;LedOut[3]Disp_Tab[D[2]%10];LedOut[4]Disp_Tab[D[3]%10000/1000];LedOut[5]Disp_Tab[D[3]%1000/100]0x7f;LedOut[6]Disp_Tab[D[3]%100/10];LedOut[7]Disp_Tab[D[3]%10]; }for(i0;i8;i){P0 LedOut[7-i];P2 7-i;Delay_1ms(2); }}
}