基于51单片机的智能检测雨滴报警器

目录

 下雨关窗报警器

 

一、学习目的

1. 了解霍尔传感器工作原理

2. 了解雨滴传感器工作原理

3. 学会使用霍尔传感器检测门窗是否关好

4. 学会使用雨滴传感器检测是否下雨

5. 学会使用蜂鸣器发出报警声

 

二、实施步骤

 

设计思路:本实验的设计思路是通过使用雨滴传感器和霍尔传感器来实现智下雨智能报警系统。系统要实现的效果是只有在下雨没关窗的情况下会发声报警提醒。

方案实现步骤;

第一步:构思实现智能下雨报警的构思需要,初步设计思路;

第二步:在构思完成的前提下实现设计系统电路图,并按照需要连接各器件;

第三步:根据设计的电路编写程序来实现相应的控制功能;

第四步:将编写好的程序下载的连接灯控系统中,检验实验效果;

第五步:根据初步试验效果与实验要求作比较做出跟进一步的完善。

 

三、系统图连接

基于51单片机的智能检测雨滴报警器

 代码实现部分:

 

//main函数实现

#include<config.h>
#include<uart.h>

sbit vibrate=P2^4; //震动传感器引脚
sbit vibrate1=P2^0; //震动传感器引脚

sbit beep=P2^3;	//蜂鸣器引脚

void delay_ms(u16 x)//毫秒延时函数
{u16 i;
 u8 j;
 for(i=0;i<x;i++)
    for(j=0;j<115;j++);
}

void delay_us(u8 t) //10倍微秒延时函数,延时10*t微秒
{u8 i;
 for(i=0;i<=t;i++);
}

void Alarm(u8 t) //蜂鸣器报警,持续t秒
{
 u8 i,j,k; 	
 for(j=0;j<t;j++)
 { for(i=0;i<200;i++)
      {beep=0;delay_us(50);beep=1;delay_us(50);}
   //for(k=0;k<100;k++)
     // {beep=0;delay_us(110);beep=1;delay_us(110);}
 }
}

void main()
{
	Init_COM();   //初始化
    while(1)
    {
        if(vibrate==0)//判断如果没关门//vibrate
	    {
		     delay_ms(10);	  //消抖动
		     if(vibrate==0)	  //确认触发
		     {
			 	// Print_str_COM("vibrating!");
			  	 //Alarm(5);//启动报警响5秒
				//**********************************
				if(vibrate1==0)//如果下雨
				{
					delay_ms(10);	  //消抖动
					if(vibrate1==0)	  //确认触发
					{
					Print_str_COM("vibrating!");
					Alarm(5);//启动报警响5秒
					}                 
				}	
	    
	   
				
				
				
				
				//**********************************
				
		     }                 
        }	
	    

    }
}