基于单片机无线防丢报警器设计过程分享
目录
【功能介绍】
【原理图】
【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
郑重声明,此文章提供给大家做参考模板,杜绝一切不良学术不良行为。
最后说一下,如果大家对硬件和编程感兴趣,可以点击牛客网这个连接看看,是个不错的学习网站,是学长推荐给我的,因为之前找工作的时候没有太多经验,也不知道怎么准备,去哪里搜资源,走了很多弯路,所以推荐给大家,当初在上面大量刷题还看了好多面试经验等,反正上面有很多课程+刷题+面经+求职+讨论区等资源,关键里面的资源全部公开免费,不用花钱,希望能帮助家!
未经作者允许,不得抄袭转载,转载或有问题请私信或微信作者。
基于单片机无线防丢报警器设计过程分享相关推荐
- 21、基于51单片机无线防丢器设计寻物跟踪儿童防丢系统设计
毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.程序源码 七.资料包括 摘要 正现代城市生活节奏越来越快,在城市中生活的 ...
- android防丢器设计,☆基于51单片机的无线防丢器设计|可以防止儿童走丢的神奇...
当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放总体概述 本设计是基于51单片机和2.4g无线模块NRF24L01实现的防丢器.当发射器模块在无线接收范围的区域内时,接收器便会得到报警和指示 ...
- c语言单片机温度调节系统设计,基于单片机的温度控制系统的设计
熊浚儒 何文孝 摘 要:该文在详细分析单片机应用于温度控制系统可实现功能及其工作原理后,提出一种合理的应用方法,使得将单片机应用于温度控制系统中成为可能.同时结合传感器理论分析研究单片机的实际应用, ...
- 基于单片机波形发生器PCB原理图报告设计资料-基于单片机比赛计时计分电路仿真设计-基于单片机报警器与旋转灯设计-基于单片机八路数据电压采集报警控制系统-基于单片机病房呼叫系统控制系统设计【毕设课设资】
1302基于单片机波形发生器PCB原理图报告设计资料-毕设课设原理图程序资料 设计一个信号发生器,能在单片机的基础上控制并产生三角波.方波.正弦波和矩形波,且频率幅度和波形可以通过按键改变. #inc ...
- 用c语言编写篮球过程运行结果,基于单片机的篮球计时计分器设计(c语言编程、含proteus仿真图) 本科毕业论文.doc...
基于单片机的篮球计时计分器设计(c语言编程.含proteus仿真图) 本科毕业论文 摘要 单片机,亦称单片微电脑或单片微型计算机.它是把中央处理器(CPU).随机存取存储器(RAM).只读存储器(RO ...
- 基于51单片机的CO浓度报警器设计
目录 基于51单片机的CO浓度报警器设计 1.原理图 2.protus仿真图 3.PCB图 4.飞线图 5.焊接图 6.程序代码 7.资源获取 基于51单片机的CO浓度报警器设计 注:本毕设资源可在微 ...
- 基于单片机的压力流量报警器(附代码+仿真+论文)
基于单片机的压力流量报警器(附代码+仿真+论文) **==完整论文+代码+仿真可关注我在主页私我==** 摘要 关键字 第一章绪论 1.1课题背景及其意义 1.2 国内外的研究状况 1.3本文的主要研 ...
- 基于单片机的音乐播放器设计
word完整版可点击如下下载>>>>>>>> 基于单片机的音乐播放器设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告 ...
- 单片机多功能电子琴课设_基于单片机的简易电子琴课程设计.doc
基于单片机的简易电子琴课程设计.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 15 14可在实际的应用时这些是不能被忽略的,我们不 ...
- 基于单片机的智能宠物喂食器设计
word完整版可点击如下下载>>>>>>>> 基于单片机的智能宠物喂食器设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题 ...
最新文章
- html效果属性是,htmltransition属性
- eureka自我保护时间_SpringCloud Eureka自我保护机制
- Python 内置模块之 ConfigParser - 解析 ini 文件
- 直播P2P技术2-低延迟模型
- 查询公司资产数据库中的主机是否在zabbix的监控中
- 打造Android微信朋友圈下拉刷新控件
- excel打开空白不显示内容 没有隐藏_办公软件操作技巧097:如何隐藏excel表格中没有数据的空白区域...
- 心路历程19 -- 回顾整个历程 by tsui
- 2019小程序没必要做了_2019年,小程序还要不要做
- 多个条码标签如何在一张纸上打印
- 看大神如何玩转微信小程序日历插件?
- Python sklearn 实现过采样和欠采样
- SQL使用(一)-----联合查询
- vue element 项目 表单校验 保姆级教程 纳税人识别号 公司电话传真 银行卡校验(包含注意点)
- 热乎乎的蚂蚁金服面经分享,offer已到手建议收藏(Java岗、附答案解析)
- 算法笔记.胡凡 第11章 动态规划专题
- bugku convert [MISC]
- 今日头条笔试之字母交换
- android实现新闻内容显示功能,Android 类似新闻界面评论框
- 毫米波/激光/超声波雷达的区别
热门文章
- 电脑软件推荐【含软件链接】:压缩,插件,截屏,录制,办公,电脑防护与修复,磁盘清理,软件卸载......
- 安装SQL 2008的错误 等待数据库引擎恢复句柄失败。请查看 SQL Server 错误日志以了解可能的原因
- 百度文库免费下载文档方法
- 微信开通检测软件使用心得与技巧
- matlab 取整数命令,matlab取整函数命令代码
- 第6-5课:五子棋游戏的相关算法
- Drools规则引擎入门小demo
- github客户端使用简易教程
- mysql key语句_mysql建表语句key的含义
- centos7配置ip