步骤1:NRF24L01功能和规格
NRF24L01无线收发器模块的功能:
žCost(对于类型版本,费用在1 $到3 $之间)
žRange
žAvailability
ž易于使用
NRF24L01无线收发器模块的类型:
NRF24LO1有两种类型:
žNRF24L01具有天线(在开放空间中大约为公里)
žNRF24L01(无天线)(在开放空间中大约为50米)
NRF24L01无线收发器模块的应用:
ž无线家庭自动化
žDrones远程控制
ž远程传感器,用于温度,压力,警报等
ž机器人控制和监视
NRF24L01无线收发器模块的功耗:
ž此模块的功耗在传输过程中仅为12mA左右
ž模块的电压范围是1.9至3.6V
第2步:观看视频以了解更多详情
第3步:要克服的问题
许多用户遇到NRF24L01模块的问题。这些问题的根源通常来自3.3v Power。由于该模块没有足够的电流能力。这是为什么我建议使用以下任一方式:
ž带有稳压器和旁路电容器的基本模块,以保持稳定性
OR
ž从+ 3.3V到Gnd直接在模块上的3.3 uF至10 uF(MicroFarad)电容器
步骤4:原理图




CE和CSN引脚可以连接到任何数字引脚。然后,在RF24库中,您可以指定使用的引脚。我选择了引脚8和9,因为我将在示例中使用它们。
在我们的例子中,我们将使用Arduino Uno,这就是为什么您应该遵循以下说明(或遵循上图)的原因:
MOSI连接到数字引脚11
MISO连接到数字引脚12
SCK连接到数字引脚13
SS(未使用)
注意:使用NRF24L01时,您必须记住这些数字引脚不可用。
请观看以下视频
步骤5:下载RF24库
在此项目中,我们使用了RF24库,该库可以在Github上下载:RF24库
1。首先,您需要单击“下载ZIP”按钮
2。将zip文件解压缩到您的Arduino主目录中:Linux/Linux上的Arduino/库或Windows中的文档/Arduino/库。
步骤6:发射器Arduino代码
发送器草图将如下所示:
/** Arduino Wireless Communication Tutorial
* Transmitter Code
*
* by Smart Technology, https://makesmarttech.blogspot.com/
*
* Library: TMRh20/RF24,https://tmrh20.github.io/RF24
*/
#include
#include
#include
#define button 7
RF24 radio(8, 9); // CE, CSN
const byte address[6] = “00001”;
boolean buttonState = 0;
void setup() {
pinMode(button, INPUT);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MAX);
radio.stopListening();
}
void loop() {
delay(5);
radio.stopListening();
buttonState = digitalRead(button);
radio.write(&buttonState, sizeof(buttonState));
}
第7步:接收器Arduino代码
接收器草图将如下所示:
/** Arduino Wireless Communication Tutorial
* Receiver Code
*
* by Smart Technology, https://makesmarttech.blogspot.com/
* Library: TMRh20/RF24, https://tmrh20.github.io/RF24
*/
#include
#include
#include
#define led 7
RF24 radio(8, 9); // CE, CSN
const byte address[6] = “00001”;
boolean buttonState = 0;
void setup() {
pinMode(7, OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MAX);
radio.startListening();
}
void loop() {
delay(5);
radio.startListening();
while (!radio.available());
radio.read(&buttonState, sizeof(buttonState));
if (buttonState == HIGH) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
第8步:获得支持

责任编辑:wv
-
nRF24L01
+关注
关注
17文章
331浏览量
72902 -
Arduino
+关注
关注
190文章
6515浏览量
195982
发布评论请先 登录
SI24R1完美代替NRF24L01
使用NRF24l01软件包注册设备失败怎么解决?
官网nrf24l01的例程demo会出现互斥锁报错是为什么?
THVD24X2VEVM全双工RS-485收发器评估模块技术解析
SI24R1:答题卡方案芯片替代NRF24L01+
基于nRF24L01+的2.4GHz无线模块设计与应用
【道生物联TKB-620开发板试用】无线通信脱机测试
stmf103c8t6使用nrf24l01发送和接收数据,接收端STATUS寄存器的值始终为0x0E, FIFO_STATUS的值为0x11。
TSX-3225爱普生晶体谐振器在无线通信模块中的应用
无线通信的基本概念
CW32模块使用 NRF24L01无线2.4G模块

如何使用NRF24L01收发器模块在两个Arduino板之间进行无线通信
评论