找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11952|回复: 15
打印 上一主题 下一主题
收起左侧

单片机无线火灾报警器设计资料 通过烟雾和温度传感器实现(pcb+原理图+程序)

  [复制链接]
跳转到指定楼层
楼主
功能:通过温度传感和烟雾传感器侧得温度和烟雾或者可燃气体浓度经过无线通信传输给另一个单片机,另一个单片机对数据进行计算判断显示温度、烟雾浓度和安全等级(安全等级从1-3

关键模块:24L01  MQ-2  LCD1602 18B20  STC12C5A60S2

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)


单片机源程序如下(接受部分):
  1. #include <reg51.h>
  2. #include "def.h"
  3. #include "sbits.h"
  4. #include "TC1602AFC.h"
  5. #include "beep.h"

  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. uchar r1,r2,r3,r4;
  9. uchar RxBuf[3];

  10. void main()
  11.         {
  12.                
  13.                 uchar a,b,c,d,e,f,g;

  14.                 beep=1;
  15.                 lcd_init();
  16.                 init_NRF24L01();
  17.                 write_charstr( 0 , 1 , "TEMP " );
  18.                 write_charstr( 6 , 1 , "DENS " );
  19.                 write_charstr( 11 , 1 , "GRADE" );                                                                                                                                                  

  20.                 while(1)
  21.                         {
  22.                                 SetRX_Mode();
  23.                                 if(nRF24L01_RxPacket(RxBuf))
  24.                                         {
  25.                                                 r1=RxBuf[0];  //   温度
  26.                                                 r2=RxBuf[1];  //   烟雾/气体浓度百位千位
  27.                                                 r3=RxBuf[2];  //   烟雾/气体浓度个位十?
  28.                                         }

  29.                                 a=r1/100;
  30.                                 b=r1%100/10;
  31.                                 c=r1%10;

  32.                                 d=r2/10;
  33.                                 e=r2%10;

  34.                                 f=r3/10;
  35.                                 g=r3%10;
  36.                                
  37.                                 write_char( 1 , 2 ,a );
  38.                                 write_char( 2 , 2 ,b );
  39.                                 write_char( 3 , 2 ,c );


  40.                                 write_char( 6 , 2 ,d );
  41.                                 write_char( 7 , 2 ,e );
  42.                                 write_char( 8 , 2 ,f );
  43.                                 write_char( 9 , 2 ,g );

  44.                                 fengming();

  45.                         }
  46.         }
复制代码
发送部分的源程序:
  1. #include <reg51.h>
  2. #include"defines.h"
  3. #include "18b20.h"
  4. #include "def.h"
  5. #include "sbits.h"
  6. #include "60s2ad.h"
  7. #include "mq2.h"

  8. uchar TxBuf[3];
  9. extern uint ppm;  //浓度单位  用于表示浓度
  10. extern uint vol;  //采集的电压值
  11. extern uchar warning;  //警告标志位
  12. uchar a,b,c;
  13. void main()
  14.         {
  15.                
  16.                 double temp;

  17.                 extern uint ppm;  //浓度单位  用于表示浓度
  18.                 extern uint vol;  //采集的电压值
  19. /**********************************************/
  20.                 ppm=0;
  21.                 INputchange(0x01);          //用的是P1.0端口
  22.                 beep=1;
  23.                 ppm=0;
  24.                 vol=0;
  25. /************************************************/
  26.                 init_NRF24L01() ;
  27.                 nRF24L01_TxPacket(TxBuf);        // Transmit Tx buffer data
  28.                 Delay3(6000);
  29.                 while(1)
  30.                         {
  31.                                
  32.         /*************************************************/
  33.                                 temp=ReadTemperature();
  34.                                  temp=temp*0.0625;
  35.                                 a=(int)temp*10/10;
  36.         /***************************************************/
  37.        
  38.                                 value_TTL();
  39.                                 value_analog();
  40.                                                        

  41.                                 b=ppm/100;
  42.                                 c=ppm%100;

  43.                                
  44.                                

  45.                                 TxBuf[0]=a;                   //温度
  46.                                 TxBuf[1]=b;                   //   烟雾/气体浓度百位千位
  47.                                 TxBuf[2]=c;                   //   烟雾/气体浓度个位十位
  48.                        


  49.                                 nRF24L01_TxPacket(TxBuf);        // Transmit Tx buffer data
  50.                                 Delay3(20000);
  51.                                 SPI_RW_Reg(WRITE_REG+STATUS,0XFF);//clear RX_DR or TX_DS or MAX_RT interrupt

  52.                         }
  53.         }
复制代码

所有资料51hei提供下载:

MQ-2.pdf

150.27 KB, 下载次数: 132, 下载积分: 黑币 -5

STC12C5A60S2单片机的AD转换(8位).pdf

276.16 KB, 下载次数: 95, 下载积分: 黑币 -5

接受.rar

7.85 MB, 下载次数: 135, 下载积分: 黑币 -5

发送.rar

7.85 MB, 下载次数: 115, 下载积分: 黑币 -5

接收程序.rar

47.94 KB, 下载次数: 102, 下载积分: 黑币 -5

发送程序.rar

60.44 KB, 下载次数: 112, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏7 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:277348 发表于 2018-1-18 13:35 | 只看该作者
附件带有程序和电路图,还有关于资料
回复

使用道具 举报

板凳
ID:289593 发表于 2018-3-14 15:30 | 只看该作者
楼主,请问下,你们的那个烟雾浓度是如何通过电压转换过来的,有没有什么标准和技术文献及公式
回复

使用道具 举报

地板
ID:291991 发表于 2018-3-14 20:26 | 只看该作者
学到了
回复

使用道具 举报

5#
ID:218360 发表于 2018-3-15 08:34 | 只看该作者
这种只能做实验,实际安防行业(我就是做安防行业),都是用红外接收和发射做为探头,用MQ2这个探头实验寿命有限制,很少有公司用这个来做探头
回复

使用道具 举报

6#
ID:298117 发表于 2018-3-28 08:43 | 只看该作者
好人好程序。
回复

使用道具 举报

7#
ID:313743 发表于 2018-4-25 11:17 | 只看该作者
你们都好会啊,我才开始学习
回复

使用道具 举报

8#
ID:517651 发表于 2019-5-16 11:10 | 只看该作者
能不能给pcb图啊
回复

使用道具 举报

9#
ID:633433 发表于 2019-10-31 19:54 来自手机 | 只看该作者
野火 发表于 2018-1-18 13:35
**** 作者被禁止或删除 内容自动屏蔽 ****

电路图要用什么软件打开
回复

使用道具 举报

10#
ID:630763 发表于 2019-11-3 18:26 来自手机 | 只看该作者
找了半天总算找到了,厉害
回复

使用道具 举报

11#
ID:634898 发表于 2019-11-3 20:21 | 只看该作者
这个很实用  真心感谢楼主分享
回复

使用道具 举报

12#
ID:634898 发表于 2019-11-3 20:26 | 只看该作者
创意很新奇  学到了 学到了  谢谢楼主
回复

使用道具 举报

13#
ID:634994 发表于 2019-11-3 20:56 | 只看该作者
太感谢楼主了  学到了 赞
回复

使用道具 举报

14#
ID:357029 发表于 2021-4-28 16:42 | 只看该作者
关键是数据信号转换和传输,这个厉害了
回复

使用道具 举报

15#
ID:918765 发表于 2021-5-20 01:42 | 只看该作者
你好,我想咨询一下,发送端信息采集都合适,为什么接收端液晶显示的温度和烟雾浓度不对呢
回复

使用道具 举报

16#
ID:64696 发表于 2022-9-21 08:35 | 只看该作者
创意很新奇  学到了 学到了  谢谢楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表