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

    文章

    330

    浏览量

    68885
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184845
收藏 人收藏

    评论

    相关推荐

    无线通信时代nRF24L01无线模块的应用与特点

    nRF24L01是一种低功耗、高性能的2.4GHz无线收发器,由Nordic Semiconductor公司开发。它广泛应用于无线通信领域,特别是在低功耗应用和物联网设备中。
    的头像 发表于 04-16 16:05 185次阅读
    <b class='flag-5'>无线通信</b>时代<b class='flag-5'>nRF24L01</b><b class='flag-5'>无线</b><b class='flag-5'>模块</b>的应用与特点

    NRF24L01P和SI24R1的区别

    方案,而且,只需要一5号电池即可。 几年前,以为市场的NRF24L01无线模块都产自于北欧的Nordic公司,但是,近排, 有人告诉我国内也有产N
    发表于 03-29 15:05

    nrf24l01接收延迟什么原因

    NRF24L01是一种低功耗的无线收发模块,广泛应用于各种无线通信系统中。它具有高度集成的特点,具备理想的发射和接收功率,还能提供数据速率高
    的头像 发表于 12-29 10:14 385次阅读

    nRF24L01单片无线收发器芯片中文手册

    电子发烧友网站提供《nRF24L01单片无线收发器芯片中文手册.pdf》资料免费下载
    发表于 11-17 10:07 2次下载
    <b class='flag-5'>nRF24L01</b>单片<b class='flag-5'>无线</b><b class='flag-5'>收发器</b>芯片中文手册

    基于nRF24L01的通用无线通信模块设计案例

    电子发烧友网站提供《基于nRF24L01的通用无线通信模块设计案例.pdf》资料免费下载
    发表于 11-06 16:28 8次下载
    基于<b class='flag-5'>nRF24L01</b>的通用<b class='flag-5'>无线通信</b><b class='flag-5'>模块</b>设计案例

    基于nRF24L01无线通信系统设计

    电子发烧友网站提供《基于nRF24L01无线通信系统设计.pdf》资料免费下载
    发表于 10-26 14:42 0次下载
    基于<b class='flag-5'>nRF24L01</b>的<b class='flag-5'>无线通信</b>系统设计

    基于NR24L01收发器模块组成的Arduino无线网络

    学习如何构建由多个NR24L01收发器模块组成的Arduino无线网络。包含相关代码+线路图+详细说明下
    发表于 09-25 07:40

    来自nrf24L01模块的BLE信标

    电子发烧友网站提供《来自nrf24L01模块的BLE信标.zip》资料免费下载
    发表于 06-16 14:44 1次下载
    来自<b class='flag-5'>nrf24L01</b><b class='flag-5'>模块</b>的BLE信标

    使用NRF24L01Arduino构建无线传感器网络

    电子发烧友网站提供《使用NRF24L01Arduino构建无线传感器网络.zip》资料免费下载
    发表于 06-09 10:07 3次下载
    使用<b class='flag-5'>NRF24L01</b>和<b class='flag-5'>Arduino</b>构建<b class='flag-5'>无线</b>传感器网络

    NRF24L01无线通信介绍

    本节我们要学习的是NRF24L01无线通信NRF24L01无线通信采用的是SPI通信,SPI的内容我们之前学过,也算是一个加强的过程吧。然
    发表于 05-30 14:17 0次下载
    <b class='flag-5'>NRF24L01</b><b class='flag-5'>无线通信</b>介绍

    Arduino使用NRF24L01模块进行无线通信

    其实CSDN有很多关于这个无线模块的使用,包括Arduino的使用例程,但是实际自己跟着做一遍的时候还是发现了有些小问题,于是记录一下方便以后做其他有意思的小项目。(Arduino的库
    发表于 05-30 11:49 0次下载
    <b class='flag-5'>Arduino</b>使用<b class='flag-5'>NRF24L01</b><b class='flag-5'>模块</b><b class='flag-5'>进行</b><b class='flag-5'>无线通信</b>

    nrf24l01无线通信模块介绍

    功能描述: 1 本无线用了NRF24l01作为无线模块进行发射与接收。 2 当左边板的一个按键按下不放,右边板一盏灯点亮。 3 当左
    发表于 05-30 11:08 0次下载
    <b class='flag-5'>nrf24l01</b><b class='flag-5'>无线通信</b><b class='flag-5'>模块</b>介绍

    Arduino开发板使用NRF24L01进行无线通信

    如何使用NRF24L01收发器模块两个Arduino开发板之间
    发表于 05-30 10:22 2次下载
    <b class='flag-5'>Arduino</b>开发板使用<b class='flag-5'>NRF24L01</b><b class='flag-5'>进行</b><b class='flag-5'>无线通信</b>

    2.4G无线通信——NRF24L01

    NRF24L01是NORDIC公司生产的一款无线通信通信芯片,采用FSK 调制,集成NORDIC自家的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信
    发表于 05-24 16:13 0次下载
    2.4G<b class='flag-5'>无线通信</b>——<b class='flag-5'>NRF24L01</b>

    如何使用nRF24L01模块呢?

    小的方案那就非nRF24L01/nRF24L01+模块莫属了。   nRF24L01/nRF24L01+
    发表于 05-15 15:41