標(biāo)題: 單片機(jī)無線火災(zāi)報警器設(shè)計資料 通過煙霧和溫度傳感器實現(xiàn)(pcb+原理圖+程序) [打印本頁]

作者: 野火    時間: 2018-1-18 13:34
標(biāo)題: 單片機(jī)無線火災(zāi)報警器設(shè)計資料 通過煙霧和溫度傳感器實現(xiàn)(pcb+原理圖+程序)
功能:通過溫度傳感和煙霧傳感器側(cè)得溫度和煙霧或者可燃?xì)怏w濃度經(jīng)過無線通信傳輸給另一個單片機(jī),另一個單片機(jī)對數(shù)據(jù)進(jìn)行計算判斷顯示溫度、煙霧濃度和安全等級(安全等級從1-3

關(guān)鍵模塊:24L01  MQ-2  LCD1602 18B20  STC12C5A60S2

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機(jī)源程序如下(接受部分):
  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.         }
復(fù)制代碼
發(fā)送部分的源程序:
  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;  //警告標(biāo)志位
  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.         }
復(fù)制代碼

所有資料51hei提供下載:

MQ-2.pdf

150.27 KB, 下載次數(shù): 133, 下載積分: 黑幣 -5

STC12C5A60S2單片機(jī)的AD轉(zhuǎn)換(8位).pdf

276.16 KB, 下載次數(shù): 96, 下載積分: 黑幣 -5

接受.rar

7.85 MB, 下載次數(shù): 136, 下載積分: 黑幣 -5

發(fā)送.rar

7.85 MB, 下載次數(shù): 116, 下載積分: 黑幣 -5

接收程序.rar

47.94 KB, 下載次數(shù): 103, 下載積分: 黑幣 -5

發(fā)送程序.rar

60.44 KB, 下載次數(shù): 114, 下載積分: 黑幣 -5


作者: 野火    時間: 2018-1-18 13:35
附件帶有程序和電路圖,還有關(guān)于資料
作者: nrf2401    時間: 2018-3-14 15:30
樓主,請問下,你們的那個煙霧濃度是如何通過電壓轉(zhuǎn)換過來的,有沒有什么標(biāo)準(zhǔn)和技術(shù)文獻(xiàn)及公式
作者: rj0202    時間: 2018-3-14 20:26
學(xué)到了

作者: 打雜的    時間: 2018-3-15 08:34
這種只能做實驗,實際安防行業(yè)(我就是做安防行業(yè)),都是用紅外接收和發(fā)射做為探頭,用MQ2這個探頭實驗壽命有限制,很少有公司用這個來做探頭
作者: jjsunyj    時間: 2018-3-28 08:43
好人好程序。
作者: 18830266820    時間: 2018-4-25 11:17
你們都好會啊,我才開始學(xué)習(xí)
作者: 1324296579    時間: 2019-5-16 11:10
能不能給pcb圖啊

作者: 23241    時間: 2019-10-31 19:54
野火 發(fā)表于 2018-1-18 13:35
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

電路圖要用什么軟件打開
作者: lbj666666666666    時間: 2019-11-3 18:26
找了半天總算找到了,厲害
作者: 1481714970    時間: 2019-11-3 20:21
這個很實用  真心感謝樓主分享
作者: 1481714970    時間: 2019-11-3 20:26
創(chuàng)意很新奇  學(xué)到了 學(xué)到了  謝謝樓主
作者: 836219677    時間: 2019-11-3 20:56
太感謝樓主了  學(xué)到了 贊
作者: ysl245    時間: 2021-4-28 16:42
關(guān)鍵是數(shù)據(jù)信號轉(zhuǎn)換和傳輸,這個厲害了
作者: 1983397263    時間: 2021-5-20 01:42
你好,我想咨詢一下,發(fā)送端信息采集都合適,為什么接收端液晶顯示的溫度和煙霧濃度不對呢
作者: leiyutian    時間: 2022-9-21 08:35
創(chuàng)意很新奇  學(xué)到了 學(xué)到了  謝謝樓主




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1