0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:网络整理 2019-11-13 09:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤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

    ,而且,只需要一5号电池即可。年前,小编以为市场的NRF24L01无线模块都产自于北欧的Nordic公司,但是,近排,有人告诉我***也
    发表于 11-28 11:10

    SI24R1与NRF24L01P的兼容资料

    SI24R1 无线通信模块开发 嵌入式系统中,无线通信模块的应用越来越广泛。SI
    发表于 11-28 11:04

    使用NRF24l01软件包注册设备失败怎么解决?

    1.根据软件包提示第一步先打开了SPI驱动框架 2.然后软件包添加了 nrf24l01最新版本以及demo、debug 3.board.h #define using_spi1 board.c
    发表于 09-23 06:51

    官网nrf24l01的例程demo会出现互斥锁报错是为什么?

    我在用nrf24L01官网下载的例程包,用stm32进行开发,串口助手显示互斥锁错误,有朋友遇到这个问题吗
    发表于 09-10 06:05

    THVD24X2VEVM全双工RS-485收发器评估模块技术解析

    RS-485收发器,具有可选数据速率。Texas Instruments THVD24X2VEVM开箱即用,其中包含一安装在上U1位置的D封装THVD2452VDR
    的头像 发表于 08-22 11:18 761次阅读
    THVD<b class='flag-5'>24</b>X2VEVM全双工RS-485<b class='flag-5'>收发器</b>评估<b class='flag-5'>模块</b>技术解析

    SI24R1:答题卡方案芯片替代NRF24L01+

    SI24R1简介Si24R1低功耗2.4GHz收发一体射频芯片量产于2012年,由于其一致性稳定性高、功耗低、远距离、兼容替代NRF24L01+,兼容NORDIC 2.4GHz协议等特
    发表于 07-31 10:29

    NRF24L01项目资料(2.4G通信)实例项目下载

    NRF24L01项目资料(2.4G通信)实例项目,推荐下载!
    发表于 06-03 20:46

    基于nRF24L01+的2.4GHz无线模块设计与应用

    nRF24L01+是一款由Nordic Semiconductor设计的单片射频收发芯片,工作于2.4~2.5GHz ISM频段,采用GFSK调制技术,支持高达2Mbps的数据传输速率,具备低功耗特性,适用于2.4G无线通信应用
    的头像 发表于 04-28 11:19 982次阅读
    基于<b class='flag-5'>nRF24L01</b>+的2.4GHz<b class='flag-5'>无线</b><b class='flag-5'>模块</b>设计与应用

    【道生物联TKB-620开发试用】无线通信脱机测试

    感谢这次能够获得道生物联TKB-620开发的试用机会。收到的板卡也是有块一样的,并且板卡不仅有无线通信模块TKB-620,板卡也板载有STM32F103,可以使用这个芯片实现对
    发表于 04-21 20:47

    stmf103c8t6使用nrf24l01发送和接收数据,接收端STATUS寄存的值始终为0x0E, FIFO_STATUS的值为0x11。

    (NRF24L01_CSN_PORT, NRF24L01_CSN_PIN, GPIO_PIN_SET); // 初始化NRF24L01寄存
    发表于 04-19 23:32

    TSX-3225爱普生晶体谐振无线通信模块中的应用

    物联网(IoT)和智能设备快速发展的当下,无线通信模块已成为设备与云端连接的核心部件。爱普生推出的TSX-3225晶体谐振,凭借其高精度频率稳定性、低相位噪声、小尺寸封装以及低功耗
    的头像 发表于 03-03 13:13 698次阅读
    TSX-3225爱普生晶体谐振<b class='flag-5'>器</b><b class='flag-5'>在</b><b class='flag-5'>无线通信</b><b class='flag-5'>模块</b>中的应用

    无线通信的基本概念

    、随时连接的优势。 蓝牙通信:短距离无线通信技术,可用于连接个人设备,如手机、耳机、蓝牙音响等,具有高速率、低功耗、安全性高等优点。 NFC 通信:近场通信技术,主要用于近距离
    发表于 02-28 13:45

    无线收发器工作原理,无线收发器怎么使用

    无线收发器作为现代通信技术的重要组成部分,广泛应用于各个领域,包括无线通信、物联网、远程控制和无线传感
    的头像 发表于 01-29 15:31 2552次阅读

    CW32模块使用 NRF24L01无线2.4G模块

    NRF24L01是一款工作2.4-2.5GHz世界通用ISM频段的单片收发芯片, 使用4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单;输出功率、频道选择和协议的设置
    的头像 发表于 01-23 13:00 1072次阅读
    CW32<b class='flag-5'>模块</b>使用 <b class='flag-5'>NRF24L01</b><b class='flag-5'>无线</b>2.4G<b class='flag-5'>模块</b>

    有人用过USB转NRF24L01模块吗,求指教

    如图,我买了一这个模块,然后买了两个NRF24L01。 其中一接上了USB转NRF24L01
    发表于 01-08 17:12