基于单片机无线防丢报警器设计过程分享

目录

【功能介绍】

【原理图】

【PCB】

【实物图】

【元器件清单】

【源代码】

【模块介绍】

【参考资料】

【参考文献】


功能介绍

本设计利用51单片机结合NRF24L01无线模块进行设计,防丢器分为两个部分,分为从机和主机,即发射模块和接收模块,从机放在怕被丢失的物件上,而主机则携带在主人身上,可以实现两大功能:

  • 超出两个模块的通信距离会报警,及时通知主机,防止从机丢失;
  • 在两个模块的通信范围内,从机不知道在哪,主机可以发起寻找。

原理图

发送模块原理图

接收模块原理图

         原理图发送模块与接受模块差异点是接收模块少一个按键,其他都一样,都有单片机最小系统,指示灯电路,蜂鸣器电路,无线模块,串口电路。如需详细资料可私信作者或加微信biyezhan007

PCB

发送模块

 接收模块

实物图

 

元器件清单

  • 单片机底座*2
  • 单片机*2
  • 晶振*2
  • 瓷片电容*4
  • 电阻*4
  • 电解电容*2
  • 四脚按键*3
  • 电源座*2
  • LED灯*4
  • DIP8底座*2
  • NRF24L01模块*2
  • 蜂鸣器*2
  • 三极管*2

源代码

//发送端main.c#include "nRF24L01.h"		   //包含头文件
#include "def.h"			   //包含头文件void Delay_1(unsigned int s)   //延时函数
{unsigned int i;for(i=0; i<s; i++);for(i=0; i<s; i++);
}
void delay(unsigned int z)		//延时函数
{unsigned int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);
}void main(void)					  //主函数
{unsigned int flag;			  //定义变量unsigned char t  =0,flag_1;unsigned char TxBuf[20]={0};	 // 数据暂存数组unsigned char RxBuf[20]={0};	a:  init_io() ;				 //初始化flag_1=0;flag=0;					 //变量清零TxBuf[0]='c';			 //发送数据cwhile(1)				 //进入循环{//SetRX_Mode();if(KEY1 ==0 ) 		 //按下按键{TxBuf[0]=0;TxBuf[1]=1;		 //发送01}else 				 //按键没有按下{TxBuf[0]=1;TxBuf[1]=1;		 //发送11}nRF24L01_TxPacket(TxBuf);	// 发送缓冲区数据SetRX_Mode();				//发送完数据后设置成接收模式if(nRF24L01_RxPacket(RxBuf)) //如果接收缓冲区有数据{nRF24L01_TxPacket(TxBuf);	// 发送缓冲区数据				flag=0;flag_1=0;					//变量清零}else							//接收缓冲区无数据,也就是没有接收到数据{flag++;						//计时变量加if(flag>=80)				//加到80flag_1=1;					//变量置1delay(5);					//计时分辨率是5ms,计80次就是80*5=400ms}if(flag_1)						//如果变量为1,计时400ms,开启报警for(t=0;t<20;t++)				//for循环控制灯和蜂鸣器报警{LED2=~LED2;LED1=~LED1;					//取反,达到闪烁的效果delay(80);					//延时80msif(t==19)					//t加到19时{goto a;					//回到while前面的a:flag_1=0;flag=0;}}}
}
//接收端main.c#include "reg52.h"
#include "nRF24L01.h"
#include "def.h"#include "delay.h"			  //包含头文件uchar count_1,count_2,count_3,count,miao,fen,fen_1,fen_2,fen_3,flag_1,flag_2,flag_3;  //定义全局变量void Delay_1(unsigned int s)		//延时函数
{unsigned int i;for(i=0; i<s; i++);for(i=0; i<s; i++);
}
void delay(unsigned int z)			//延时函数
{unsigned int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);
}void main(void)						 //主函数
{unsigned int flag,f=1000;		 //定义变量unsigned char t ,flag_1;unsigned char TxBuf[20]={0};	 //缓冲区数据清零 unsigned char RxBuf[20]={0};	init_io() ;						 //初始化while(1)						 //进入循环{TxBuf[0] = 0;TxBuf[1] = 1;				 //发送数据01SetRX_Mode();				 //设置接收模式if(nRF24L01_RxPacket(RxBuf))		//如果接收缓冲区有数据{	nRF24L01_TxPacket(TxBuf);		//发送缓冲区数据if(	RxBuf[0]==0&&RxBuf[1]==1)	//如果接收的数据是01{ for(t=0;t<10;t++)			//控制灯和震动工作闪烁{LED1=~LED1;LED2=~LED2;				//取反delay(50);				//延时}}RxBuf[0]= 0;RxBuf[1] = 0x00;	 			//接收缓冲区数据清零flag=0;flag_1=0;						//变量清零}else								//接收缓冲区无数据{flag++;							//计时开始if(flag==200)					//计时到1秒(200*5ms){flag_1=1;					//变量置1}delay(5);						//5ms延时}if(flag_1)							//如果超时没有接收数据,就开启报警for(t=0;t<10;t++)					//for循环启动报警{LED2=~LED2;						//闪烁报警delay(50);						//延时if(t==9)						//闪烁一个周期{flag_1=0;					//变量清零,返回后再次判断是否有信号,如无信号,继续报警flag=0;}}}
}

【模块介绍】

        此次防丢器所用的无线模块为nRF24L01,nRF24L01是由NORDIC生产的一款工作频率在2.4~2.5GHzISM之间的新型单片射频收发器件,几乎可以连接到各种单片机芯片,并完成无线数据传送工作,nRF24L01内部包含的模块分别为频率合成器、功率放大器、晶体振荡器与调制器,并与增强型的ShockBurst技术结合,可以通过SPI接口对其输出功率、频道选择与协议进行设置,因为nRF24L01有极低的工作电流,不仅功耗较低,而且处于其他低功率工作模式时,即掉电模式和待机模式下电流消耗更低,在节能设计方面占有足够大的优势。

【参考资料】

【参考文献】

[1]肖金球,冯翼.增强型51单片机与仿真技术[M].北京:清华大学出版社社, 

[2]肖金球.单片机原理与接口技术[M].北京:清华大学出版社,2004,17-128. 

[3]周鸿武.基于单片机的酒精浓度检测仪设计[J].制造业自动化2012,02. 

[4] 康华光.电子技术基础模拟部分(第五版)[M].高等教育出版社,2006年

[5] 康华光.电子技术基础数字部分(第五版)[M].高等教育出版社,2006年

[6] 纪宗南.单片机外围器件使用手册—输入通道器件分册[M].北京航空航天大学出版社,2005年 

[7]贾伯年.传感器技术[M].东南大学出版社,2000年

[8]何希才.传感器及其应用[M].国防工业出版社,2001年

[9]郑学坚.微型计算机原理及应用[M].清华大学出版社,2006年

[10]张水利. 单片机原理及应用. 黄河水利出版社,出版年:2008年8月 

[11]谭浩强. C程序设计. 第三版. 清华大学出版社,出版年:2005年7月

        本文介绍了在设计的过程的关键点,供大家参考学习,如需获取实物、或者下载链接失效、对其他单片机硬件设计感兴趣、有不明白的或者错误的,可以添加徽信biyezhan007 

郑重声明,此文章提供给大家做参考模板,杜绝一切不良学术不良行为。

 

         最后说一下,如果大家对硬件和编程感兴趣,可以点击牛客网这个连接看看,是个不错的学习网站,是学长推荐给我的,因为之前找工作的时候没有太多经验,也不知道怎么准备,去哪里搜资源,走了很多弯路,所以推荐给大家,当初在上面大量刷题还看了好多面试经验等,反正上面有很多课程+刷题+面经+求职+讨论区等资源,关键里面的资源全部公开免费,不用花钱,希望能帮助家!    

未经作者允许,不得抄袭转载,转载或有问题请私信或微信作者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31880.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机倾角检测仪设计分享

目录 【功能介绍】 【原理图】 【PCB】 【实物图】 【元器件清单】 【源代码】 【参考资料】 【参考文献】 【功能介绍】 本设计利用51单片机为主控系统&#xff0c;采用三轴加速度传感器ADXL345进行倾角测量&#xff0c;可以实现两大功能&#xff1a; 实时显示当前测…

360数科港交所上市:市值超160亿港元 周鸿祎为大股东

雷递网 雷建平 11月29日 360数科股份有限公司 (股票代码&#xff1a;3660)今日在港交所主板上市&#xff0c;发行价为50.03港元&#xff0c;募资净额为2.77亿港元。 360数科开盘价为50.6港元&#xff0c;较发行价小幅上涨&#xff0c;收盘价为51.75港元&#xff0c;较发行价上涨…

80%的能力问题,都是态度问题

置顶 “进击的阿秀” 和优秀的人一起成长&#xff0c;做牛逼闪闪的职场青年 咱们开头先分享一个故事。 周鸿祎在创办3721的时候&#xff0c;有一次开会后嘱咐傅盛一定要做好会议记录。 周鸿祎天马行空地讲了好久&#xff0c;傅盛不仅把内容全记了下来&#xff0c;还仔细研究每段…

雷军以为会当一辈子码农,不料后来成了小米董事长

本文转自&#xff1a;IT时代网 不会写代码的CEO&#xff0c;不是好技术。在科技互联网行业&#xff0c;其创始人大都由技术人员组成&#xff0c;百度李彦宏&#xff0c;腾讯马化腾&#xff0c;360周鸿祎、特斯拉、SpaceX创始人马斯克&#xff0c;微软创始人比尔盖茨&#xff0…

周鸿鸿蒙系统,鸿蒙系统终于来了,它能否取代安卓?周鸿祎的观点一针见血!...

文|聪明小生 校对|李蓉婳 原创内容&#xff0c;请勿搬运抄袭&#xff0c;违者必究 如果说芯片是手机的心脏&#xff0c;那么操作系统则是手机的灵魂。这些年&#xff0c;尽管我国智能手机崛起速度飞快&#xff0c;但遗憾的是&#xff0c;不管是芯片还是操作系统&#xff0c;都比…

【送书福利-第十四期】ChatGPT时代 + PowerBI助力快速创建动态报表

大家好&#xff0c;我是洲洲&#xff0c;欢迎关注&#xff0c;一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我&#xff01; 本文目录 一、前言二、内容介绍三、抽奖方…

chatGPT如何助力devops

随着软件开发行业的不断发展&#xff0c;DevOps已成为软件开发的主流方法。DevOps是一种将开发和运维工作结合起来的实践&#xff0c;旨在提高软件交付速度和质量&#xff0c;以及优化整个软件开发过程。最近&#xff0c;聊天机器人技术的崛起为DevOps带来了全新的变革&#xf…

100+国产大模型排行榜!部分超越ChatGPT-4

国产大模型的发展速度惊人。至少说明在国内的显卡数量是足够多的。如果能集中资源&#xff0c;或许能快速跟进ChatGPT。 不过&#xff0c;其中不少厂家号称已经超越ChatGPT-4。让人感到欣慰。 觉得哪个好&#xff0c;评论区见&#xff01;

ChatGPT 的 18 种玩法,惊到我了

原创 | Java 2021 超神之路&#xff0c;很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-…

如何夯实数字经济时代的算力基石?

如今&#xff0c;快速发展的数字经济与数字产业正在成为经济增长的新动能。根据第三方研究报告&#xff1a;2021年中国数字经济规模已经达到45.5万亿元人民币&#xff0c;占中国国内生产总值的39.8%。而以人工智能、大数据、边缘计算、并行计算、元宇宙为代表的新兴信息技术&am…

chatgpt赋能python:Python自动下单:提高效率的必备利器

Python自动下单&#xff1a;提高效率的必备利器 随着电商市场的不断发展&#xff0c;越来越多的商家开始使用自动下单工具来提高生产力和效率。Python作为一种高级编程语言&#xff0c;具有功能强大&#xff0c;易于学习和使用的优点&#xff0c;其自动下单的能力也受到了广泛…

解决 openwrt/Lede pppoe拨号频繁掉线的问题

我自己的软路由是J1900刷的lede&#xff0c;近期电信pppoe拨号频繁掉线&#xff0c;排除了网线&#xff0c;更换了光猫&#xff0c;最终锁定软路由为的问题。目前才用了下面的方法&#xff0c;尝试解决该问题 转载自http://ninecmd.com/?p948 WRT1900AC路由器,自从宽带换到联…

tlwdr5660间歇性掉线_tplink路由器频繁掉线的原因及解决办法

tplink路由器频繁掉线是怎么回事&#xff1f;tplink是大家最常使用的路由器&#xff0c;很多朋友都会遇到路由器频繁掉线的情况&#xff0c;这真的很郁闷。那么&#xff0c;tplink路由器频繁掉线是什么原因导致的呢&#xff1f;主要有三大方面&#xff0c;下面小编就给大家介绍…

为什么win11连接wifi频繁掉线?

如果网络波动比较大的话&#xff0c;就会导致电脑使用过程中不顺畅&#xff0c;网页打开速度都会很缓慢。就有win11用户跟小编反映自己的电脑连接WiFi后总是掉线&#xff0c;非常烦人&#xff0c;这该怎么办&#xff1f;下面就来看看小编为大家整理的几个解决办法&#xff0c;希…

mac频繁掉线的解决方案汇总

mac频繁掉线的解决方案汇总 最近一个月我的mac回到家用的时候经常掉线&#xff0c;但是在公司一切正常&#xff0c;找了很多方法都没有解决到&#xff0c;最后在我实在受不了的情况下&#xff0c;终于解决了&#xff0c;以下将试过的方法都汇总一下&#xff0c;因为每台机的情况…

VM16-ubuntu16桥接网络频繁掉线

故障说明 旧电脑使用的vm15-ubuntu16&#xff0c;通过移植安装到新电脑&#xff0c;后又通过升级把虚拟机升级到vm16&#xff0c;更改网络连接的NAT模式到桥接模式&#xff0c;发现网络即使出现正常连接的图标和正确的IP地址但是还是会有频繁掉线的情况。 解决方案 1.依次打…

解决WiFi共享大师频繁掉线问题

查看当前网卡驱动是否支持承载网络 使用winr输入cmd打开命令行界面输入netsh wlan show drivers执行查看支持承载网络是否为是&#xff0c;如果为否&#xff0c;请执行下面的步骤将网卡驱动回滚 打开设备管理器&#xff0c;回滚网卡驱动 驱动程序->更新驱动程序->浏览我…

PC、手机老是掉线该如何排查?

连通性、ARP 欺骗、硬件、省电模式。 1、查看电脑的数据连通性 PING测网络运营商&#xff08;114.114.114.114&#xff09;&#xff0c;看是否有延迟或者是丢包 ping 114.114.114.114 -t 2、ARP 欺骗 arp -a //通过询问当前协议数据&#xff0c;显示当前 ARP 项。如果指定…

微信机器人换了服务器掉线,故障2:微信频繁掉线

微信频繁掉线先排查问题 可能原因&#xff1a; 1.手机端微信不可以退出和切换其他微信&#xff0c;否则必掉线。(手机没网/关机等情况没事) 2. 在电脑上登陆了这个机器人微信&#xff0c; 一定会将机器人挤下线。 以上操作百分百会导致软件上微信掉线。切记&#xff0c;挂机时不…

案例23-服务出现频繁掉线情况

目录 一、背景介绍 二、分析原因 1.nacos中data文件的作用 2. data路径下protocol文件的作用 3.nacos ip混乱的问题 三、Naocs服务注册和发现 服务注册 服务发现 一、背景介绍 在springCloud项目中&#xff0c;通过使用nacos来对服务进行管理。但是其中一个服务总会出现…