标题: 单片机无线火灾报警器设计资料 通过烟雾和温度传感器实现(pcb+原理图+程序) [打印本页]
作者: 野火 时间: 2018-1-18 13:34
标题: 单片机无线火灾报警器设计资料 通过烟雾和温度传感器实现(pcb+原理图+程序)
功能:通过温度传感和烟雾传感器侧得温度和烟雾或者可燃气体浓度经过无线通信传输给另一个单片机,另一个单片机对数据进行计算判断显示温度、烟雾浓度和安全等级(安全等级从1-3)
关键模块:24L01 MQ-2 LCD1602 18B20 STC12C5A60S2
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
单片机源程序如下(接受部分):
- #include <reg51.h>
- #include "def.h"
- #include "sbits.h"
- #include "TC1602AFC.h"
- #include "beep.h"
- #define uchar unsigned char
- #define uint unsigned int
- uchar r1,r2,r3,r4;
- uchar RxBuf[3];
- void main()
- {
-
- uchar a,b,c,d,e,f,g;
- beep=1;
- lcd_init();
- init_NRF24L01();
- write_charstr( 0 , 1 , "TEMP " );
- write_charstr( 6 , 1 , "DENS " );
- write_charstr( 11 , 1 , "GRADE" );
- while(1)
- {
- SetRX_Mode();
- if(nRF24L01_RxPacket(RxBuf))
- {
- r1=RxBuf[0]; // 温度
- r2=RxBuf[1]; // 烟雾/气体浓度百位千位
- r3=RxBuf[2]; // 烟雾/气体浓度个位十?
- }
- a=r1/100;
- b=r1%100/10;
- c=r1%10;
- d=r2/10;
- e=r2%10;
- f=r3/10;
- g=r3%10;
-
- write_char( 1 , 2 ,a );
- write_char( 2 , 2 ,b );
- write_char( 3 , 2 ,c );
- write_char( 6 , 2 ,d );
- write_char( 7 , 2 ,e );
- write_char( 8 , 2 ,f );
- write_char( 9 , 2 ,g );
- fengming();
- }
- }
复制代码 发送部分的源程序:
- #include <reg51.h>
- #include"defines.h"
- #include "18b20.h"
- #include "def.h"
- #include "sbits.h"
- #include "60s2ad.h"
- #include "mq2.h"
- uchar TxBuf[3];
- extern uint ppm; //浓度单位 用于表示浓度
- extern uint vol; //采集的电压值
- extern uchar warning; //警告标志位
- uchar a,b,c;
- void main()
- {
-
- double temp;
- extern uint ppm; //浓度单位 用于表示浓度
- extern uint vol; //采集的电压值
- /**********************************************/
- ppm=0;
- INputchange(0x01); //用的是P1.0端口
- beep=1;
- ppm=0;
- vol=0;
- /************************************************/
- init_NRF24L01() ;
- nRF24L01_TxPacket(TxBuf); // Transmit Tx buffer data
- Delay3(6000);
- while(1)
- {
-
- /*************************************************/
- temp=ReadTemperature();
- temp=temp*0.0625;
- a=(int)temp*10/10;
- /***************************************************/
-
- value_TTL();
- value_analog();
-
- b=ppm/100;
- c=ppm%100;
-
-
- TxBuf[0]=a; //温度
- TxBuf[1]=b; // 烟雾/气体浓度百位千位
- TxBuf[2]=c; // 烟雾/气体浓度个位十位
-
- nRF24L01_TxPacket(TxBuf); // Transmit Tx buffer data
- Delay3(20000);
- SPI_RW_Reg(WRITE_REG+STATUS,0XFF);//clear RX_DR or TX_DS or MAX_RT interrupt
- }
- }
复制代码
所有资料51hei提供下载:
-
-
MQ-2.pdf
150.27 KB, 下载次数: 133, 下载积分: 黑币 -5
-
-
STC12C5A60S2单片机的AD转换(8位).pdf
276.16 KB, 下载次数: 96, 下载积分: 黑币 -5
-
-
接受.rar
7.85 MB, 下载次数: 136, 下载积分: 黑币 -5
-
-
发送.rar
7.85 MB, 下载次数: 116, 下载积分: 黑币 -5
-
-
接收程序.rar
47.94 KB, 下载次数: 103, 下载积分: 黑币 -5
-
-
发送程序.rar
60.44 KB, 下载次数: 114, 下载积分: 黑币 -5
作者: 野火 时间: 2018-1-18 13:35
附件带有程序和电路图,还有关于资料
作者: nrf2401 时间: 2018-3-14 15:30
楼主,请问下,你们的那个烟雾浓度是如何通过电压转换过来的,有没有什么标准和技术文献及公式
作者: rj0202 时间: 2018-3-14 20:26
学到了
作者: 打杂的 时间: 2018-3-15 08:34
这种只能做实验,实际安防行业(我就是做安防行业),都是用红外接收和发射做为探头,用MQ2这个探头实验寿命有限制,很少有公司用这个来做探头
作者: jjsunyj 时间: 2018-3-28 08:43
好人好程序。
作者: 18830266820 时间: 2018-4-25 11:17
你们都好会啊,我才开始学习
作者: 1324296579 时间: 2019-5-16 11:10
能不能给pcb图啊
作者: 23241 时间: 2019-10-31 19:54
野火 发表于 2018-1-18 13:35
**** 作者被禁止或删除 内容自动屏蔽 ****
电路图要用什么软件打开
作者: lbj666666666666 时间: 2019-11-3 18:26
找了半天总算找到了,厉害
作者: 1481714970 时间: 2019-11-3 20:21
这个很实用 真心感谢楼主分享
作者: 1481714970 时间: 2019-11-3 20:26
创意很新奇 学到了 学到了 谢谢楼主
作者: 836219677 时间: 2019-11-3 20:56
太感谢楼主了 学到了 赞
作者: ysl245 时间: 2021-4-28 16:42
关键是数据信号转换和传输,这个厉害了
作者: 1983397263 时间: 2021-5-20 01:42
你好,我想咨询一下,发送端信息采集都合适,为什么接收端液晶显示的温度和烟雾浓度不对呢
作者: leiyutian 时间: 2022-9-21 08:35
创意很新奇 学到了 学到了 谢谢楼主

欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |