当前位置:
文档之家› NRF24L01无线发射简易教程
NRF24L01无线发射简易教程
30pF XTAL1
C2 12MHz X2
30pF
晶振电路
VCC
KEY2 RST
C3 10uF RST
R1 10K
GND
J4
VCC
1
2 P30
3 P31
4
串口下载 GND
复位电路
PCB 布线图如下:
U1
VCC J5
P10 P11 P12 P13 P14 P15 P16 P17 RST P30 P31 P32 P33 P34 P35 P36 P37 X1 X2
9
10
11
12
13
14
15
16
17
18
19
20
7
5
3
1
5
2
1
1
2
1
8
6
4
2
4
3
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
2
1
2
6
5
4
1
1
2
2 2
3
2
1
1
1
4
3
2
1
2
2
1
2
3
4
5
6
7
8
9
1
1 2
1221源自1222
1
2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
首先您需要了解 NRF24L01,请参阅“NRF24L01 芯片中文资料”或者“NRF24L01 芯片英 文资料”。
我们的教程是以一个简单的小项目为大家展示 NRF24L01 的使用方法与乐趣。我们所写 的教程均是以这种方式的呢,让您在学习的时候明白它能做什么,使您学起来不至于枯燥 无味。欢迎您光临我们小店:,您的支持就是我们最大的动力。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
P10 P11 P12 P13 P14 P15 P16 P17 RST P30 P31 P32/ INT 0 P33/ INT 1 P34/ T0 P35/ T1 P36/ WR P37/ RD X1 X2 GND
1 2 3 4 5 6 7 8 9
排阻
J1 2 1
VCC EA_EN
STC89C52 GND
STC89C52主控
JP1
JP2
P10 P11 P12 P13 P14 P15 P16 P17 RST P30 P31 P32 P33 P34 P35 P36 P37 X1 X2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
VCC P00 P01 P02 P03 P04 P05 P06 P07 E A/ VP ALE/P PSEN P27 P26 P25 P24 P23 P22 P21 P20
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
P00 P01 P02 P03 P04 P05 P06 P07 EA ALE PSEN P27 P26 P25 P24 P23 P22 P21 P20
板子做好了,我们看看 24L01 怎么来操作吧,这也是本教程的重点呢。我们呢就按照上 面的功能要求来设计这个程序。在程序设计之前先了解下 NRF24L01。
NRF24L01 是 NORDIC 公司最近生产的一款无线通信通信芯片,采用 FSK 调制,内部集 成 NORDIC 自己的 Enhanced Short Burst 协议。可以实现点对点或是 1 对 6 的无线通信。 无线通信速度可以达到 2M(bps)。NORDIC 公司提供通信模块的 GERBER 文件,可以直接 加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留 5 个 GPIO,1 个中断 输入引脚,就可以很容易实现无线通信的功能,非常适合用来为 MCU 系统构建无线通信功 能。
式。 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 接收成功闪烁指示。为了保证系统的稳定性,在设计中添加了两个滤 波电容。
作为简易的教程,我们只需要知道它是怎么使用的就够了,我们本教程的目的是用 NRF24L01 发送数据和接收数据,且接收方会对比发送的数据与接收的数据,若完全相同则 控制 LED 闪烁一次,并且把接收到的数据通过串口发送到 PC 端,通过串口工具查看接收到 的数据。
具体的要求如下: 1、 具备发送和接收的能力。 2、 发送 32 个字节的数据,接收方接收到正确数据之后给予提示,通过 LED 闪烁灯形
DoWell 电子版权所有 未经允许不得转载
以上为 IO 口模拟 SPI 的代码,通用于任何拥有可操作 IO 的微处理器,需要做好位运算 处理。代码的解释如程序中的注释所示。非常详细的注释哦!也采用了自己喜欢的编程风格, 您也可以借鉴的呢!
我们主要是来看看它的配置过程。我想对于一种芯片它的正确配置是大家最为关心的, 有时您也许会为了这些配置问题而伤脑筋。我们先来看发射模式改怎么配置的。
DoWell 电子版权所有 未经允许不得转载
VCC
C5
C4
220uF
104
DC1 GND 1
2
KEY1
VCC Switch
DC
GND
J2
VCC
1
2
3
4
5
J3 1 2 3 4 5
VCC
D1 R2
VCC LED 5.1K
GND GND
GND
电源及其扩展
GND
C1 X1
4. 设置允许的接收通道,总共有 6 个通道,我们只使用通道 0,其他通道的功能应 用大家熟悉了 NRF24L01 之后尝试吧。寄存器为:EN_RXADDR
5. 配置自动重发次数。寄存器为:SETUP_RETR 6. 选择通信的频率。寄存器为:RF_CH 7. 设置接收通道 0 的接收数据有效宽度,与第四步对应。寄存器为:RX_PW_P0 8. 配置发射的参数,主要为低噪放大器增益、发射的功率、无线传输的速率。寄存
DoWell 电子版权所有 未经允许不得转载
NRF24L01 简易教程
DoWell 电子版权所有 未经允许不得转载
温馨提示:如果您是新手推荐您按照我们写的顺序看哦! 先来看接口电路,使用的 IO 口不是唯一的哦,可随意定义接口,当然是在使用 IO 口模 拟 SPI 且 IRQ 中断引脚不使用的使用查询方法判断接收状态的情况下了。作为初探我们就是 用简单的 IO 模拟 SPI 的方法了,中断使用查询的方式。那么该教程讲解的接口与单片机的 连接如下:
DoWell 电子版权所有 未经允许不得转载
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:芯片控制数据线(主入从出) MOSI:芯片控制数据线(主出从入) IRQ:中断信号。无线通信过程中 MCU 主要是通过 IRQ 与 NRF24L01 进行通信。 CE: 芯片的模式控制线。 在 CSN 为低的情况下,CE 协同 NRF24L01 的 CONFIG 寄 存器共同决定 NRF24L01 的状态。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
20
20
P00VCC P01 P02 P03 P04 P05 P06 P07 EA ALE PSEN P27 P26 P25 P24 P23 P22 P21 P20
HEADER 20 HEADER 20 GND
NRF24L01 主要有以下几种工作状态: Power Down Mode:掉电模式 Tx Mode:发射模式 Rx Mode:接收模式 Standby-1Mode:待机 1 模式 Standby-2 Mode:待机 2 模式 程序源文件代码:/file/id_80368278446276642.htm 我们使用的模式主要为发射模式和接收模式。下面来看看怎么配置这些模式吧。我们知 道 NRF24L01 的通信协议为 SPSPI 协议怎么写(IO 口模拟,STC89C52 没有硬件 SPI,若您会了 STC12C5Axxxx 系列的单片机那么您可以使用硬件的 SPI,将会更加的方便高效)。