基于51单片机的智能家居防火防盗系统设计

   日期:2021-01-07     浏览:230    评论:0    
核心提示:基于51单片机的智能家居防火防盗系统设计系统设计人体红外采集电路设计温度传感器电路设计烟雾传感器电路设计光线采集电路设计AD电路设计液晶显示电路设计部分代码展示(按键部分)系统设计人体红外采集电路设计在人体红外采集电路设计中,选用热释电红外传感器(PIR),它能将波长为8-12um之间的红外信号变化转变为电信号,并能对自然界中的白光信号具有抑制作用。人体发射的10微米左右的红外线通过菲涅尔滤光片增强后聚集到热释电元件上,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电

基于51单片机的智能家居防火防盗系统设计

自动开关灯,温度,烟雾浓度报警,数值可调节等;附赠资料包含原理图,仿真,代码(C语言),实物的元件清单及功能演示视频。适合课设。
CSDN内下载地址:下载地址

系统设计

    • 基于51单片机的智能家居防火防盗系统设计
    • 人体红外采集电路设计
    • 温度传感器电路设计
    • 烟雾传感器电路设计
    • 光线采集电路设计
    • AD电路设计
    • 液晶显示电路设计
    • 部分代码展示(按键部分)

人体红外采集电路设计

在人体红外采集电路设计中,选用热释电红外传感器(PIR),它能将波长为8-12um之间的红外信号变化转变为电信号,并能对自然界中的白光信号具有抑制作用。人体发射的10微米左右的红外线通过菲涅尔滤光片增强后聚集到热释电元件上,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。

温度传感器电路设计

在温度传感器电路设计模块中,选用智能温度传感器DS18B20作为温度测量装置,这种温度传感器有独特的单线接口方式,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;其测温范围 -55℃~+125℃,固有测温分辨率0.5℃,当在-10℃~+85℃范围内,可确保测量误差不超过0.5℃,在-55~+125℃范围内,测量误差也不超过2℃;可用数据线供电,供电电压范围:+3.0V~+5.5V;用户可自设定非易失性的报警上下限值;并且DS18B20的转换速率比较高,进行9位的温度值转换只需93.75ms。

烟雾传感器电路设计

在烟雾传感器电路设计中,采用的是MQ-2型烟雾传感器。该烟雾传感器是二氧化锡半导体型气敏材料,当处于200-300°C温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒受到该烟雾的调制而变化,就会引起表而电导率的变化。利用这一点可以获得烟雾存在的信息。MQ-2型烟雾传感器对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感。

光线采集电路设计

在光线采集电路设计中,使用的探测元件是LY-C1光敏传感器。这种类型的光敏电阻对周围环境光强最敏感,一般用来检测周围环境光强。入射光强,电阻减小,入射光弱,电阻增大。输出状态灵敏度可调。光敏与电位器串联分压,节点接到三极管基极,三极管将电阻的变化转换成电平的变化送给单片机,单片机读取电平,判断是白天还是夜晚。

AD电路设计

AD转换模块选用ADC0809。ADC0809采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内有锁存功能的8路选1的模拟开关,由C、B、A引脚的功能来决定所选的通道。0809完成一次转换需100us左右,输出具有TTL三态锁存缓冲器,可直接连接到MCS-51单片机的数据总线上。通过适当的外接电路,0809可对0-5V的模拟信号进行转换。

液晶显示电路设计

液晶显示电路采用LCD1602液晶显示屏。其显示的内容为16X2,即可以显示两行,每行16个字符。LCD1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符图有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

部分代码展示(按键部分)

void Key()
{ 
	//模式选择
	if(Key1==0&&flag_owner==0)	   //主人在家时按下设置键有效
	{ 
		delay(20);				   //延时去抖
		if(Key1==0)				   //再次判断按键
		{ 
			flag_set=1;
			BJ=0; LED_yanwu=1;LED_wenduH=1;LED_wenduL=1;		//按下设置键关闭报警
			Mode++;				   //模式加
			if(Mode>=4)			   //模式加到最大
			{ 
				Mode=0;			   //清零
				flag_set=0;		   //设置变量清零
			}
			while(Key1==0);
		}
	}
	
	///
	if(Key2==0)		  //按下加按键时,相对应的上下限做加运算
	{ 
		delay(20);	  //延时去抖
		if(Key2==0)				//再次判断按键按下
		{ 
				shanshuo=0;		//闪烁变量清零
				m=0;
				if(Mode==1)		//模式为1,设置上限
				{ 
					wendu_H++;
					if(wendu_H>=99)
					wendu_H=99;
				}
				else if(Mode==2)			 //模式为2,设置下限
				{ 
					wendu_L++;
					if(wendu_L>=wendu_H)		//下限不能超过上限
					wendu_L=wendu_H-1;							          
				}
				else if(Mode==3)			 //模式为3,设置烟雾
				{ 
					yanwu_H++;
					if(yanwu_H>=255)
					yanwu_H=255;			
				}
		}
		while(!Key2);				//按键释放
	}
	
	if(Key3==0)		  //按下减按键时,相应上下限做减运算
	{ 
		delay(20);
		if(Key3==0)
		{ 
				shanshuo=0;
				m=0;
				if(Mode==1)
				{ 
					wendu_H--;
					if(wendu_H<=wendu_L)	  //同理,上限不能小于下限
					wendu_H=wendu_L+1;	
				}
				else if(Mode==2)
				{ 
					wendu_L--;
					if(wendu_L<=0)
					wendu_L=0;	
				}
				else if(Mode==3)
				{ 
					yanwu_H--;
					if(yanwu_H<=0)
					yanwu_H=0;				
				}
		}
		while(!Key3);
	}
	//
	if (light==0&&flag_owner==0) LED_LED=0;			  //光线暗并且主人在家时开灯
	else LED_LED=1;									  //否则关灯
	if(owner==0)									  //主人是否在家切换按键
	{ 
		delay(20);
		if(owner==0)
		{ 
			Mode=0;
			flag_owner=!flag_owner;					  //主人是否在家标志位
		}
		while(!owner);								  //按键释放
	}
	if(door==1&&hongwai==1&&flag_owner==1) flag_BJ=1; //主人不在家时门开并且热释电检测到有人进来时报警
	else flag_BJ=0;									  //否则不报警

// delay(200); //延时
// write_com(0x38);//屏幕初始化
// write_com(0x0c);//打开显示 无光标 无光标闪烁
}

CSDN内下载地址:下载地址

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服