NRF24L01无线发射简易教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NRF24L01 简易教程
先来看接口电路,使用的IO 口不是唯一的哦,可随意定义接口,当然是在使用IO 口模拟SPI 且IRQ 中断引脚不使用的使用查询方法判断接收状态的情况下了。作为初探我们就是用简单的IO 模拟SPI 的方法了,中断使用查询的方式。那么该教程讲解的接口与单片机的连接如下:
首先您需要了解NRF24L01,请参阅“NRF24L01 芯片中文资料”或者“NRF24L01 芯片英文资料”。
我们的教程是以一个简单的小项目为大家展示NRF24L01 的使用方法与乐趣。我们所写的教程均是以这种方式的呢,让您在学习的时候明白它能做什么,使您学起来不至于枯燥无味。
作为简易的教程,我们只需要知道它是怎么使用的就够了,我们本教程的目的是用NRF24L01 发送数据和接收数据,且接收方会对比发送的数据与接收的数据,若完全相同则控制LED 闪烁一次,并且把接收到的数据通过串口发送到PC 端,通过串口工具查看接收到的数据。
具体的要求如下:
1、具备发送和接收的能力。
2、发送32 个字节的数据,接收方接收到正确数据之后给予提示,通过LED 闪烁灯形
式。
3、把接收到的数据传送到PC 进行查看。
4、发送端每隔大约1.5 秒发送一次数据,永久循环。以上是程序的要求,若您想自行
设计出硬件接口,您也是可以添加一条呢:使用DIY 方
式设计NRF24L01 的接口板,且包含含单片机平台,使用PCB 方式或者万用板方式均可。如果您想让自己学的很扎实,那么推荐您自行做出接口板子呢。当然若您的能力不足,那么我们不推荐自行做板呢,因为这样会增加您学习的难度,反而起到了反效果呢。
我们使用的方式是画PCB 的方式呢,若您自己做了接口板子,那么您可以对比下一呢,O(∩_∩)O!
我们知道NRF24L01 的供电电压是1.9V~3.6V 不能超过这个范围,低了不工作,高了可能烧毁NRF24L01 芯片。我们常用的STC89C52 的单片机的供电电压是5V,我们不能直接给24L01 这个模块供电,我们需要使用AMS1117-3.3V 稳压芯片把5V 转成3.3V 的电压为24L01 模块供电。
为此我们的设计原理图如下:包含单片机最小系统、供电系统、下载程序接口、5V 转3.3V 电路、NRF24L01 模块接口。并且全部引出单片机的IO 口,另外还加了5 个电源输出接口,为扩展使用。还包括了电源指示LED 以及一个IO 口独立控制的LED,这个独立控制的LED用于NRF24L01 接收成功闪烁指示。为了保证系统的稳定性,在设计中添加了两个滤波电容。
CE CSN IRQ
PCB 布线图如下:
完成效果图如下:
0 14039 38 37 36 35 34 33 32 12345 1 2
11112212345678910 1112131415 16 171819 20123456789 1
112131415 16 171819 20
背面图:
上面PCB 的背面有个小芯片和两个0805 的元件,他们是什么呢?他们就是AMS1117-3.3V 和两个贴片的滤波电容,为NRF24L01 提供3.3V 电源的电源转换部分。
大家有兴趣也可以自己做呢。
也许大家有疑问,能不能用呢?放心好了,我们的例程就是以这个板子为基板的,没有任何问题。这个板子是不是感觉很不错呢,呵呵!它不仅仅是可作为最小系统使用,而且还是NRF24L01 的接口板呢,省去了另外还要做电源转接板以及各种插线的痛苦,O(∩_∩)O!写这个教程时我也觉得非常好使呢。
板子做好了,我们看看24L01 怎么来操作吧,这也是本教程的重点呢。我们呢就按照上面的功能要求来设计这个程序。在程序设计之前先了解下NRF24L01。
NRF24L01 是NORDIC 公司最近生产的一款无线通信通信芯片,采用FSK 调制,内部集成NORDIC 自己的Enhanced Short Burst 协议。可以实现点对点或是1 对6 的无线通信。无线通信速度可以达到2M(bps)。NORDIC 公司提供通信模块的GERBER 文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留5 个GPIO,1 个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为MCU 系统构建无线通信功能。
功能描述:
真正的GFSK 单片式收发芯片
内置硬件链路层
增强型ShockBurstTM 功能
自动应答及自动重发功能
地址及CRC 检验功能无线
速率:1 或2Mbps SPI 接
口速率:0~8Mbps 125 个
可选工作频道
很短的频道切换时间,可用于跳频
与nRF 24XX 系列完全兼容
I/O 可接受5V 电平的输入
20 脚QFN 4×4mm 封装
极低成本晶振±60ppm
使用低成本电感和双面PCB 板
低工作电压:1.9~3.6V
应用领域:
无线鼠标,键盘,游戏机操纵杆无线数据通
讯
无线门禁安防
系统遥控装置
遥感勘测智能
运动设备工业
传感器玩具
我们常见的2.4GHz 无线键盘鼠标有些就是使用此无线技术实现的呢。
NRF24L01 引脚功能说明:
引脚分别为CSN、SCK、MISO、MOSI、IRQ、CE。
CSN:芯片的片选线,CSN 为低电平芯片工作。
SCK:芯片控制的时钟线(SPI 时钟)MISO:芯
片控制数据线(主入从出)M OSI:芯片控制数据
线(主出从入)
IRQ:中断信号。无线通信过程中MCU 主要是通过IRQ 与NRF24L01 进行通信。
CE:芯片的模式控制线。在CSN 为低的情况下,CE 协同NRF24L01 的CONFIG 寄
存器共同决定NRF24L01 的状态。
NRF24L01 主要有以下几种工作状态:
Power Down Mode:掉电模式
Tx Mode:发射模式
Rx Mode:接收模式
Standby-1Mode:待机1 模式
Standby-2 Mode:待机2 模式
我们使用的模式主要为发射模式和接收模式。下面来看看怎么配置这些模式吧。我们知
道NRF24L01 的通信协议为SP(I SPI的协议请大家查阅相应资料,百度一下你就会有收获哦!),所以我们看看SPI 协议怎么写(IO 口模拟,STC89C52 没有硬件SPI,若您会了STC12C5Axxxx 系列的单片机那么您可以使用硬件的SPI,将会更加的方便高效)。