找回密码
 立即注册

QQ登录

只需一步,快速开始

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

NRF24L01无线防丢器制作 含视频讲解与单片机源码等资料

  [复制链接]
跳转到指定楼层
楼主
ID:249631 发表于 2018-3-21 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前制作的基于NRF24L01无线防丢器  超过一定距离蜂鸣器会发出提醒需要的元件有图片介绍

视频截图(防丢器电路原理图的讲解):



单片机接受源程序如下:
  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)                //延时函数
  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)                        //延时函数
  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)                                                 //主函数
  19. {
  20.         unsigned int flag,f=1000;                 //定义变量
  21.         unsigned char t ,flag_1;
  22.         unsigned char TxBuf[20]={0};         //缓冲区数据清零
  23.         unsigned char RxBuf[20]={0};       

  24.     init_io() ;                                                 //初始化
  25.         while(1)                                                 //进入循环
  26.         {
  27.                 TxBuf[0] = 0;
  28.                 TxBuf[1] = 1;                                 //发送数据01
  29.                
  30.                 SetRX_Mode();                                 //设置接收模式

  31.                 if(nRF24L01_RxPacket(RxBuf))                //如果接收缓冲区有数据
  32.                 {       
  33.                         nRF24L01_TxPacket(TxBuf);                //发送缓冲区数据
  34.                         if(        RxBuf[0]==0&&RxBuf[1]==1)        //如果接收的数据是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;                                 //接收缓冲区数据清零
  45.                         flag=0;
  46.                         flag_1=0;                                                //变量清零
  47.                 }
  48.                 else                                                                //接收缓冲区无数据
  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)                                                        //如果超时没有接收数据,就开启报警
  58.                 for(t=0;t<10;t++)                                        //for循环启动报警
  59.                 {
  60.                         LED2=~LED2;                                                //闪烁报警
  61.                         delay(50);                                                //延时
  62.                        
  63.                         if(t==9)                                                //闪烁一个周期
  64.                         {
  65.                                 flag_1=0;                                        //变量清零,返回后再次判断是否有信号,如无信号,继续报警
  66.                                 flag=0;
  67.                         }
  68.                 }
  69.         }
  70. }
复制代码

全部资料51hei下载地址:
3-视频讲解.zip (6.38 MB, 下载次数: 241)
1-源程序.zip (115.2 KB, 下载次数: 243)
nrf24l01介绍及例程.pdf (171.02 KB, 下载次数: 137)
nRF24L01芯片资料英文.pdf (461.93 KB, 下载次数: 66)
NRF24L01功能使用文档.pdf (650.05 KB, 下载次数: 111)


评分

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

查看全部评分

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

使用道具 举报

沙发
ID:370162 发表于 2018-8-2 02:59 | 只看该作者
谢谢分享
回复

使用道具 举报

板凳
ID:380389 发表于 2018-8-8 06:49 来自手机 | 只看该作者
好资料,谢谢楼主分享
回复

使用道具 举报

地板
ID:406225 发表于 2018-10-7 19:20 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
ID:397548 发表于 2018-10-9 21:51 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
ID:218757 发表于 2019-1-1 19:15 | 只看该作者
楼主 ,发送源程序有吗
回复

使用道具 举报

7#
ID:482165 发表于 2019-2-28 23:17 | 只看该作者
这个程序的距离大概能实现多远?15m可以吗?
回复

使用道具 举报

8#
ID:100089 发表于 2019-3-31 18:41 | 只看该作者
谢谢分享,学习学习。。。。
回复

使用道具 举报

9#
ID:501893 发表于 2019-3-31 18:41 | 只看该作者
楼主真棒
回复

使用道具 举报

10#
ID:517463 发表于 2019-4-20 22:23 | 只看该作者
怎样实现可以调节距离
回复

使用道具 举报

11#
ID:517463 发表于 2019-4-20 22:27 | 只看该作者
谢谢楼主分享              想问一下怎样实现在安全范围内提示距离可调
回复

使用道具 举报

12#
ID:452731 发表于 2019-4-22 22:18 | 只看该作者
这个值得学习
回复

使用道具 举报

13#
ID:115740 发表于 2019-6-2 13:24 | 只看该作者
感谢分享
回复

使用道具 举报

14#
ID:657577 发表于 2019-12-6 15:01 | 只看该作者
谢谢分享
回复

使用道具 举报

15#
ID:253767 发表于 2019-12-7 07:10 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

16#
ID:712808 发表于 2020-3-21 13:07 | 只看该作者
有PCB的文件吗
回复

使用道具 举报

17#
ID:517951 发表于 2020-11-15 16:27 | 只看该作者
不错,值得学习。51hei有你更精彩!!
回复

使用道具 举报

18#
ID:980370 发表于 2021-11-12 22:44 | 只看该作者
为啥我的显示C(7): error C129: missing ';' before 'count_1'
回复

使用道具 举报

19#
ID:262 发表于 2021-11-12 22:56 | 只看该作者
AWSL。。 发表于 2021-11-12 22:44
为啥我的显示C(7): error C129: missing ';' before 'count_1'

用Keil5编译 2个程序都是 0个错误 3个警告(可以无视)
回复

使用道具 举报

20#
ID:980370 发表于 2021-11-12 22:59 | 只看该作者
keil4 不可以吗?
回复

使用道具 举报

21#
ID:980370 发表于 2021-11-12 23:03 | 只看该作者
heicad 发表于 2021-11-12 22:56
用Keil5编译 2个程序都是 0个错误 3个警告(可以无视)

必须用keil 5吗?
回复

使用道具 举报

22#
ID:980370 发表于 2021-11-13 14:38 | 只看该作者
#include "nRF24L01.h"
#include "def.h"
#include "delay.h"  
这三个的头文件该如何编写呢?
回复

使用道具 举报

23#
ID:1069491 发表于 2023-4-2 12:58 | 只看该作者

keil4也没问题的,0errors  1warnings
回复

使用道具 举报

24#
ID:1069491 发表于 2023-4-10 19:08 来自手机 | 只看该作者
这个接电以后,为什么两个模块一直报警啊,距离很近了
回复

使用道具 举报

25#
ID:1104699 发表于 2023-12-29 10:20 | 只看该作者
xnm 发表于 2023-4-10 19:08
这个接电以后,为什么两个模块一直报警啊,距离很近了

博主,你的问题解决了没有,我也遇到了一样的问题
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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