问题咨询及项目源码下载请加群:
群名:IT项目交流群
群号:245022761
一、学习目的
- 了解霍尔传感器工作原理
- 了解雨滴传感器工作原理
- 学会使用霍尔传感器检测门窗是否关好
- 学会使用雨滴传感器检测是否下雨
- 学会使用蜂鸣器发出报警声
二、实施步骤
设计思路:本实验的设计思路是通过使用雨滴传感器和霍尔传感器来实现智下雨智能报警系统。系统要实现的效果是只有在下雨没关窗的情况下会发声报警提醒。
方案实现步骤;
第一步:构思实现智能下雨报警的构思需要,初步设计思路;
第二步:在构思完成的前提下实现设计系统电路图,并按照需要连接各器件;
第三步:根据设计的电路编写程序来实现相应的控制功能;
第四步:将编写好的程序下载的连接灯控系统中,检验实验效果;
第五步:根据初步试验效果与实验要求作比较做出跟进一步的完善。
三、系统图连接
代码实现部分:
//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秒
}
}
//**********************************
}
}
}
}
附上本人在大学学习期间所有学习实现的demo,这些项目的实现都通过本人亲自测试运行,也是自己学习中知识的一点一点积累,整理不易,希望能帮到大家,不足之处大家多多交流。
QQ:1805523903
邮箱:1805523603@qq.com
昵称:忘尘
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询