找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 11238|回復(fù): 25
收起左側(cè)

NRF24L01無(wú)線防丟器制作 含視頻講解與單片機(jī)源碼等資料

  [復(fù)制鏈接]
ID:249631 發(fā)表于 2018-3-21 16:33 | 顯示全部樓層 |閱讀模式
之前制作的基于NRF24L01無(wú)線防丟器  超過一定距離蜂鳴器會(huì)發(fā)出提醒需要的元件有圖片介紹

視頻截圖(防丟器電路原理圖的講解):
0.jpg
DSC_5987.JPG DSC_5988.JPG DSC_5989.JPG DSC_5990.JPG

元件介紹

元件介紹


單片機(jī)接受源程序如下:
  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í)函數(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í)函數(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)                                                 //進(jìn)入循環(huán)
  26.         {
  27.                 TxBuf[0] = 0;
  28.                 TxBuf[1] = 1;                                 //發(fā)送數(shù)據(jù)01
  29.                
  30.                 SetRX_Mode();                                 //設(shè)置接收模式

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

全部資料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)


評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:370162 發(fā)表于 2018-8-2 02:59 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:380389 發(fā)表于 2018-8-8 06:49 來自手機(jī) | 顯示全部樓層
好資料,謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:406225 發(fā)表于 2018-10-7 19:20 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:397548 發(fā)表于 2018-10-9 21:51 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:218757 發(fā)表于 2019-1-1 19:15 | 顯示全部樓層
樓主 ,發(fā)送源程序有嗎
回復(fù)

使用道具 舉報(bào)

ID:482165 發(fā)表于 2019-2-28 23:17 | 顯示全部樓層
這個(gè)程序的距離大概能實(shí)現(xiàn)多遠(yuǎn)?15m可以嗎?
回復(fù)

使用道具 舉報(bào)

ID:100089 發(fā)表于 2019-3-31 18:41 | 顯示全部樓層
謝謝分享,學(xué)習(xí)學(xué)習(xí)。。。。
回復(fù)

使用道具 舉報(bào)

ID:501893 發(fā)表于 2019-3-31 18:41 | 顯示全部樓層
樓主真棒
回復(fù)

使用道具 舉報(bào)

ID:517463 發(fā)表于 2019-4-20 22:23 | 顯示全部樓層
怎樣實(shí)現(xiàn)可以調(diào)節(jié)距離
回復(fù)

使用道具 舉報(bào)

ID:517463 發(fā)表于 2019-4-20 22:27 | 顯示全部樓層
謝謝樓主分享              想問一下怎樣實(shí)現(xiàn)在安全范圍內(nèi)提示距離可調(diào)
回復(fù)

使用道具 舉報(bào)

ID:452731 發(fā)表于 2019-4-22 22:18 | 顯示全部樓層
這個(gè)值得學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:115740 發(fā)表于 2019-6-2 13:24 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:657577 發(fā)表于 2019-12-6 15:01 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:253767 發(fā)表于 2019-12-7 07:10 | 顯示全部樓層
謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

ID:712808 發(fā)表于 2020-3-21 13:07 | 顯示全部樓層
有PCB的文件嗎
回復(fù)

使用道具 舉報(bào)

ID:517951 發(fā)表于 2020-11-15 16:27 | 顯示全部樓層
不錯(cuò),值得學(xué)習(xí)。51hei有你更精彩!
回復(fù)

使用道具 舉報(bào)

ID:980370 發(fā)表于 2021-11-12 22:44 | 顯示全部樓層
為啥我的顯示C(7): error C129: missing ';' before 'count_1'
回復(fù)

使用道具 舉報(bào)

ID:262 發(fā)表于 2021-11-12 22:56 | 顯示全部樓層
AWSL。。 發(fā)表于 2021-11-12 22:44
為啥我的顯示C(7): error C129: missing ';' before 'count_1'

用Keil5編譯 2個(gè)程序都是 0個(gè)錯(cuò)誤 3個(gè)警告(可以無(wú)視)
回復(fù)

使用道具 舉報(bào)

ID:980370 發(fā)表于 2021-11-12 22:59 | 顯示全部樓層
keil4 不可以嗎?
回復(fù)

使用道具 舉報(bào)

ID:980370 發(fā)表于 2021-11-12 23:03 | 顯示全部樓層
heicad 發(fā)表于 2021-11-12 22:56
用Keil5編譯 2個(gè)程序都是 0個(gè)錯(cuò)誤 3個(gè)警告(可以無(wú)視)

必須用keil 5嗎?
回復(fù)

使用道具 舉報(bào)

ID:980370 發(fā)表于 2021-11-13 14:38 | 顯示全部樓層
#include "nRF24L01.h"
#include "def.h"
#include "delay.h"  
這三個(gè)的頭文件該如何編寫呢?
回復(fù)

使用道具 舉報(bào)

ID:1069491 發(fā)表于 2023-4-2 12:58 | 顯示全部樓層

keil4也沒問題的,0errors  1warnings
回復(fù)

使用道具 舉報(bào)

ID:1069491 發(fā)表于 2023-4-10 19:08 來自手機(jī) | 顯示全部樓層
這個(gè)接電以后,為什么兩個(gè)模塊一直報(bào)警啊,距離很近了
回復(fù)

使用道具 舉報(bào)

ID:1104699 發(fā)表于 2023-12-29 10:20 | 顯示全部樓層
xnm 發(fā)表于 2023-4-10 19:08
這個(gè)接電以后,為什么兩個(gè)模塊一直報(bào)警啊,距離很近了

博主,你的問題解決了沒有,我也遇到了一樣的問題
回復(fù)

使用道具 舉報(bào)

ID:626355 發(fā)表于 2024-5-9 18:05 | 顯示全部樓層
2813311967 發(fā)表于 2023-12-29 10:20
博主,你的問題解決了沒有,我也遇到了一樣的問題

解決了嗎?我也遇見了主機(jī)一直報(bào)警
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表