標題: NRF24L01無線防丟器制作 含視頻講解與單片機源碼等資料 [打印本頁]

作者: TT土豆    時間: 2018-3-21 16:33
標題: NRF24L01無線防丟器制作 含視頻講解與單片機源碼等資料
之前制作的基于NRF24L01無線防丟器  超過一定距離蜂鳴器會發(fā)出提醒需要的元件有圖片介紹

視頻截圖(防丟器電路原理圖的講解):



單片機接受源程序如下:
  1. #include "reg52.h"
  2. #include "nRF24L01.h"
  3. #include "def.h"

  4. #include "delay.h"                          //包含頭文件

  5. uchar count_1,count_2,count_3,count,miao,fen,fen_1,fen_2,fen_3,flag_1,flag_2,flag_3;  //定義全局變量

  6. void Delay_1(unsigned int s)                //延時函數(shù)
  7. {
  8.         unsigned int i;
  9.         for(i=0; i<s; i++);
  10.         for(i=0; i<s; i++);
  11. }
  12. void delay(unsigned int z)                        //延時函數(shù)
  13. {
  14.         unsigned int x,y;
  15.         for(x=z;x>0;x--)
  16.                 for(y=110;y>0;y--);
  17. }

  18. void main(void)                                                 //主函數(shù)
  19. {
  20.         unsigned int flag,f=1000;                 //定義變量
  21.         unsigned char t ,flag_1;
  22.         unsigned char TxBuf[20]={0};         //緩沖區(qū)數(shù)據(jù)清零
  23.         unsigned char RxBuf[20]={0};       

  24.     init_io() ;                                                 //初始化
  25.         while(1)                                                 //進入循環(huán)
  26.         {
  27.                 TxBuf[0] = 0;
  28.                 TxBuf[1] = 1;                                 //發(fā)送數(shù)據(jù)01
  29.                
  30.                 SetRX_Mode();                                 //設置接收模式

  31.                 if(nRF24L01_RxPacket(RxBuf))                //如果接收緩沖區(qū)有數(shù)據(jù)
  32.                 {       
  33.                         nRF24L01_TxPacket(TxBuf);                //發(fā)送緩沖區(qū)數(shù)據(jù)
  34.                         if(        RxBuf[0]==0&&RxBuf[1]==1)        //如果接收的數(shù)據(jù)是01
  35.                         {
  36.                                 for(t=0;t<10;t++)                        //控制燈和震動工作閃爍
  37.                                 {
  38.                                         LED1=~LED1;
  39.                                         LED2=~LED2;                                //取反
  40.                                         delay(50);                                //延時
  41.                                 }
  42.                         }
  43.                         RxBuf[0]= 0;
  44.                         RxBuf[1] = 0x00;                                 //接收緩沖區(qū)數(shù)據(jù)清零
  45.                         flag=0;
  46.                         flag_1=0;                                                //變量清零
  47.                 }
  48.                 else                                                                //接收緩沖區(qū)無數(shù)據(jù)
  49.                 {
  50.                         flag++;                                                        //計時開始
  51.                         if(flag==200)                                        //計時到1秒(200*5ms)
  52.                         {
  53.                                 flag_1=1;                                        //變量置1
  54.                         }
  55.                         delay(5);                                                //5ms延時
  56.                 }
  57.                 if(flag_1)                                                        //如果超時沒有接收數(shù)據(jù),就開啟報警
  58.                 for(t=0;t<10;t++)                                        //for循環(huán)啟動報警
  59.                 {
  60.                         LED2=~LED2;                                                //閃爍報警
  61.                         delay(50);                                                //延時
  62.                        
  63.                         if(t==9)                                                //閃爍一個周期
  64.                         {
  65.                                 flag_1=0;                                        //變量清零,返回后再次判斷是否有信號,如無信號,繼續(xù)報警
  66.                                 flag=0;
  67.                         }
  68.                 }
  69.         }
  70. }
復制代碼

全部資料51hei下載地址:
3-視頻講解.zip (6.38 MB, 下載次數(shù): 257)
1-源程序.zip (115.2 KB, 下載次數(shù): 262)
nrf24l01介紹及例程.pdf (171.02 KB, 下載次數(shù): 149)
nRF24L01芯片資料英文.pdf (461.93 KB, 下載次數(shù): 71)
NRF24L01功能使用文檔.pdf (650.05 KB, 下載次數(shù): 124)



作者: zhangyusong    時間: 2018-8-2 02:59
謝謝分享
作者: xsj1877578806    時間: 2018-8-8 06:49
好資料,謝謝樓主分享
作者: kingsky    時間: 2018-10-7 19:20
謝謝分享
作者: 可樂可口    時間: 2018-10-9 21:51
謝謝分享
作者: eason丶    時間: 2019-1-1 19:15
樓主 ,發(fā)送源程序有嗎
作者: ichery    時間: 2019-2-28 23:17
這個程序的距離大概能實現(xiàn)多遠?15m可以嗎?
作者: aminoacid    時間: 2019-3-31 18:41
謝謝分享,學習學習。。。。
作者: 1355780619    時間: 2019-3-31 18:41
樓主真棒
作者: 仰望藍天e族    時間: 2019-4-20 22:23
怎樣實現(xiàn)可以調節(jié)距離
作者: 仰望藍天e族    時間: 2019-4-20 22:27
謝謝樓主分享              想問一下怎樣實現(xiàn)在安全范圍內提示距離可調
作者: azi197417    時間: 2019-4-22 22:18
這個值得學習
作者: zyt心有所寄    時間: 2019-6-2 13:24
感謝分享
作者: 楓飄過的地方    時間: 2019-12-6 15:01
謝謝分享

作者: tieq1952    時間: 2019-12-7 07:10
謝謝分享!!!
作者: 吃米飯長胖怪誰    時間: 2020-3-21 13:07
有PCB的文件嗎
作者: rayin    時間: 2020-11-15 16:27
不錯,值得學習。51hei有你更精彩!!
作者: AWSL。。    時間: 2021-11-12 22:44
為啥我的顯示C(7): error C129: missing ';' before 'count_1'
作者: heicad    時間: 2021-11-12 22:56
AWSL。。 發(fā)表于 2021-11-12 22:44
為啥我的顯示C(7): error C129: missing ';' before 'count_1'

用Keil5編譯 2個程序都是 0個錯誤 3個警告(可以無視)
作者: AWSL。。    時間: 2021-11-12 22:59
keil4 不可以嗎?
作者: AWSL。。    時間: 2021-11-12 23:03
heicad 發(fā)表于 2021-11-12 22:56
用Keil5編譯 2個程序都是 0個錯誤 3個警告(可以無視)

必須用keil 5嗎?

作者: AWSL。。    時間: 2021-11-13 14:38
#include "nRF24L01.h"
#include "def.h"
#include "delay.h"  
這三個的頭文件該如何編寫呢?

作者: xnm    時間: 2023-4-2 12:58
AWSL。。 發(fā)表于 2021-11-12 22:59
keil4 不可以嗎?

keil4也沒問題的,0errors  1warnings

作者: xnm    時間: 2023-4-10 19:08
這個接電以后,為什么兩個模塊一直報警啊,距離很近了
作者: 2813311967    時間: 2023-12-29 10:20
xnm 發(fā)表于 2023-4-10 19:08
這個接電以后,為什么兩個模塊一直報警啊,距離很近了

博主,你的問題解決了沒有,我也遇到了一樣的問題
作者: 418Jessica    時間: 2024-5-9 18:05
2813311967 發(fā)表于 2023-12-29 10:20
博主,你的問題解決了沒有,我也遇到了一樣的問題

解決了嗎?我也遇見了主機一直報警




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