标题:
DIY燃气报警器(电路+视频+程序)
[打印本页]
作者:
dashan
时间:
2015-3-21 17:32
标题:
DIY燃气报警器(电路+视频+程序)
本帖最后由 dashan 于 2015-3-21 17:36 编辑
配件列表:STC15F104W单片机一片,MQ-4燃气检测模块,5V有源蜂鸣器一个,S8550三极管一个,DC005电源插座一个,220u和104电容各一个,10K、200R、100R、10R电阻各一个,微动按键一个,发光二极管一个。
http://player.youku.com/player.php/sid/XNjY0OTEzNDQ0/v.swf
下面附上原理图。系统通电后,单片机控制发光隔3秒闪烁一次,表示系统运行正常。循环检测MQ-4模块是否发送低电平,如果是低电平表示检测到天然气。当检测到低电平后,控制蜂鸣器发出声音。按键是测试蜂鸣器是否正常发声。
下面是焊接好的样子。
下图是板子的背面
找一个塑料外壳
成品图。
下面附上源码:
/*********************************************************************************************
程序名: DIY燃气报警器
编写人: 栗玉金
编写时间: 2016年1月
硬件支持: STC15F104W 12MHz
接口说明: P3.2 工作状态灯,P3.3蜂鸣器 P3.4 MQ-4 P3.5微动按键 P3.0 P3.1下载接口
************************************************************************************************/
#include "stc15f2k60s2.h"
#include <intrins.h>
sbit LED = P3^2; //LED灯,工作状态灯
sbit BEEP =P3^3; //蜂鸣器
sbit MQ4 = P3^4; //天然气检测模块
sbit KEY = P3^5; //测试键
void DELAY_MS(unsigned int a){
unsigned char i, j;
while( --a != 0){
_nop_();
_nop_();
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
}
}
main()
{
unsigned char iCount = 0;
int key_s = 0;//按下测试键的时间
//设置 P3.2口为退完输出,增加LED的电流
P3M1 = 0x00;
P3M0 = 0x04;
//初始喇叭为无声,LED为灭
BEEP = 1;
LED = 0;
while(1)
{
DELAY_MS(100);
if(MQ4==0)//当浓度高于设定值时 ,执行条件函数
{
DELAY_MS(20);//延时抗干扰
if(MQ4==0)//确定 浓度高于设定值时 ,执行条件函数
{
//报警
BEEP = 0;
DELAY_MS(100);
BEEP = 1;
DELAY_MS(100);
BEEP = 0;
DELAY_MS(100);
BEEP = 1;
DELAY_MS(100);
BEEP = 0;
DELAY_MS(500);
BEEP = 1;
DELAY_MS(200);
}
}
iCount ++;
if(iCount == 30)
{
iCount = 0;
//隔3秒 LED闪烁一下,表示正在正常工作中。
LED = 1;
DELAY_MS(100);
LED = 0;
}
if(KEY==0){
key_s++;
if(key_s>=30) //按下测试键超过 3秒
{
key_s=0;
while(KEY==0){
BEEP = 0;
}
BEEP = 0;
DELAY_MS(1000);
BEEP = 1;
}
}
if(KEY==1 && key_s<30)
key_s=0;
}
}
作者:
6ningning
时间:
2015-4-12 15:03
不错。
作者:
ztflove51
时间:
2015-4-12 19:52
天然气可以用吗?你那个测量烟雾 的传感器叫什么名字
作者:
lbt
时间:
2015-4-19 10:37
编写时间:2016年!还没到呢
作者:
hjx5548
时间:
2015-4-20 05:55
谢谢分享
作者:
腾飞的龙
时间:
2015-10-6 11:30
不错很实用,再加上个驱动电磁阀的就可以关断燃气管路啦。
作者:
HRY
时间:
2018-4-14 11:44
想做一个。。。
作者:
ping02188
时间:
2020-10-26 14:41
头文件怎么会编译不过
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1