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

    文章

    332

    浏览量

    75543
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197446
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无线通信模块的作用

    简单说:无线模块就是设备之间 “不用线也能通信” 的核心部件,负责把电信号转成无线电波,实现数据 / 指令的
    发表于 04-22 15:03

    CW32L012/F030灵眸X1智能小车——使用NRF24L01通信

    NRF24L01所使用的通讯协议为SPI,SPI又可分为软件SPI和硬件SPI。
    的头像 发表于 04-01 16:49 2536次阅读
    CW32<b class='flag-5'>L</b>012/F030灵眸X1智能小车——使用<b class='flag-5'>NRF24L01</b><b class='flag-5'>通信</b>

    ESP32开发单向点对点ESP-NOW无线通信

    本例程通过两个ESP32开发板实现单向点对点ESP-NOW无线通信,一ESP32开发作为Sender发送方,另一开发
    的头像 发表于 03-19 09:21 304次阅读
    ESP32开发<b class='flag-5'>板</b>单向点对点ESP-NOW<b class='flag-5'>无线通信</b>

    51驱动NRF24L01通信NRF24L01与TTL转NRF24L01模块通信

    NRF24L01 一、简介 NRF24L01 是 NORDIC 公司最近生产的一款无线通信通信芯片,采用 FSK 调制,内部 集成 NORDIC 自己的 Enhanced Short
    的头像 发表于 03-17 14:37 195次阅读
    51驱动<b class='flag-5'>NRF24L01</b><b class='flag-5'>通信</b>,<b class='flag-5'>NRF24L01</b>与TTL转<b class='flag-5'>NRF24L01</b><b class='flag-5'>模块</b><b class='flag-5'>通信</b>

    SI24R2B 单发Tx发射芯片功耗低 可兼容NRF24L01P

    SI24R2是SI24R1的基础上,单独分出来发射部分TX,成为一颗2.4G 单TX。可与NRF24L01P以及SI24R1
    发表于 01-28 11:46

    SI24R1:一款低功耗国产兼容 NRF24L01+开发资料

    影响无线通信。故,用户可以更改电源走线设计,LDO出来后分路,一路给到RF,一路给到MCU+ADC。3.用户一直使用nRF24L01P,替换成Si
    发表于 01-28 10:50

    Arduino UNO 可视化GT-24工业级无线透传

    一、前言 无线透传市面上较为常见的是基于蓝牙、esp的多种透传模块,今天介绍的则是用NRF24L01芯片构成的电路。(nRF24L01是由NORDIC生产的工作
    的头像 发表于 01-27 10:14 349次阅读
    <b class='flag-5'>Arduino</b> UNO 可视化GT-<b class='flag-5'>24</b>工业级<b class='flag-5'>无线</b>透传

    探究博通AFBR - FS50B00:高速光无线通信收发器的卓越之选

    独特的优势,为光无线通信领域带来了新的活力。下面,我们就来详细了解一下这款产品。 文件下载: Broadcom AFBR-FS50B00光无线收发器.pdf 一、产品概述 AFBR - FS50B00作为一款光
    的头像 发表于 12-30 14:25 481次阅读

    NRF24L01——2.4GHz无线通信

    ARQ 基带协议引擎的无线收发器芯片。工作频率范围为 2400MHz-2525MHz,共有 126 1MHz 带宽的信道。 Si24R1 采用 GFSK/FSK 数字调制与解调技
    发表于 12-30 14:08

    SI24R1完美代替NRF24L01

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

    使用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

    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 1384次阅读
    基于<b class='flag-5'>nRF24L01</b>+的2.4GHz<b class='flag-5'>无线</b><b class='flag-5'>模块</b>设计与应用