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

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

3天内不再提示

如何使用nRF24L01收发器模块启用Arduino无线通信

454398 来源:工程师吴畏 2019-07-29 14:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

今天世界上几乎所有的沟通都是无线(至少从最终用户的角度来看)。你可以在各种应用中找到某种无线通信,如电视遥控器,手机电脑,玩具,汽车等。

我不想进入无线通信的详细信息,但您可以在此处找到相关信息:无线通信:简介,类型和应用。

我们已经看到了一些无线电子枢纽中基于通信的项目,使用蓝牙红外射频(射频)和WiFi(IEEE 802.11)等不同技术实现。

但是在这个项目中,我将使用nRF24L01收发器IC实现基于RF的无线通信项目。如果你还记得,我在早期的几个项目中使用434MHz射频发射器和接收器模块实现了射频通信。

这两个射频模块之间的主要区别在于它们的工作频率。 nRF24L01使用2.4GHz RF频率,而早期的RF模块使用434MHz RF频率。

它们之间还有另一个重要区别:在434MHz射频模块中,我们有两个独立的模块;一个用于传输(发送器),另一个用于接收(接收器)。但是nRF24L0是一个收发器IC,即发送器和接收器都集成在同一个IC上。

关于nRF24L01收发器IC的简要说明

nRF24L01是Nordic Semiconductor开发的单芯片RF收发器IC。它在免许可证的2.4GHz ISM频段(ISM - 工业,科学和医疗)中运行,支持250kbps,1Mbps和2Mbps的数据速率。

对于数据速率250kbps和1Mbps,信道带宽约为1MHz。因此,如果您的数据速率限制在250kbps或1Mbps,则最小和最大工作频率为2400MHz和2525MHz,最多可以实现126个RF通道。

2Mbps数据速率mote,RF信道带宽应为2MHz或更高,以确保不重叠。

nRF24L01 IC中有一项名为MultiCeiver的特殊功能。此功能使每个RF通道具有一组6个唯一的寻址数据管道,以便每个模块可以与同一RF通道中的其他6个模块进行通信。

即将实施nRF24L01 IC,您只需要一个16MHz晶体振荡器,其支持电路和天线。要使用nRF24L01模块设计无线通信系统,您只需要一个微控制器,它通过串行外设接口(SPI)连接。

nRF24L01 IC的重要特性

超低功耗运行(26μA待机I模式,900nA断电模式)

带微控制器的SPI接口

集成射频发射器,接收器和合成器

工作电压为1.9V - 3.6V

输入引脚可以承受5V

有关nRF24L01的更多信息,请参考数据表。

nRF24L01收发器模块

使用nRF24L01 IC,几家制造商开始开发nRF24L0收发器模块板包含用于实现无线电系统的必要组件和引脚。

nRF24L01收发器模块板通常由nRF24组成L01收发器IC,16 MHz晶振,天线走线(在PCB上),用于通信和电源的引脚以及一些无源元件。

以下是典型的图像nRF24L01收发器模块板现已上市。

重要提示:上述模块几乎全部最新的nRF24L01收发器模块使用nRF24L01 + IC。它是nRF24L01 IC的高级版本,事实上,所有讨论都是前面部分关于nRF24L01 + IC。

nRF24L01收发器模块上的组件

下图显示了nRF24L01收发器模块板上的组件。

引脚配置nRF24L01收发器模块

进入nRF24L01收发器模块的引脚配置,它有8个引脚。它们是VCC,GND,MOSI,MISO,SCK,IRQ,CE和CSN。

VCC:电源引脚。只能给出3.3V。

GND:电源的GND引脚。

SCK: SPI时钟引脚。

MOSI: SPI从数据输入引脚。

MISO: SPI从数据输出引脚。

IRQ:低电平有效中断引脚。

CE:芯片启用引脚。

CSN: SPI芯片选择引脚。

将nRF24L01收发器模块与Arduino连接

如前所述,nRF24L01收发器模块通过SPI接口进行通信。因此,为了将nRF24L01收发器模块与Arduino接口,您需要使用Arduino板的SPI引脚。

由于nRF24L01是收发器模块,因此您只能在通信的一端使用一个nRF24L01收发器模块来发送和接收数据。

因此,在在这个项目中,我将使用nRF24L01收发器模块实现两个电路。在第一个电路中,我将向您展示如何使用两个nRF24L01收发器模块在两个Arduino板之间启用无线通信,其中一个Arduino-nRF24L01收发器模块对充当发送器,而另一个Arduino-nRF24L01收发器模块对充当接收器

进入第二个电路,我将使用nRF24L01收发器模块的收发器选项,并将Arduino-nRF24L01收发器模块对同时用作发送器和接收器。

但在继续使用Arduino nRF24L01收发器模块接口之前,您需要做一件重要的事情。

nRF24L01收发器模块适配器

如果您注意到nRF24L01收发器模块,则引脚不是面包板友好的,直接连接导线将不是理想的设置。

要解决此问题,您有两种选择。首先是制作一个小型穿孔板,用于将nRF24L01收发器模块插入顶部,并在底部安装面包板友好引脚。

第二个选择是购买适配器nRF24L01收发器模块,如下图所示。

如您所见,nRF24L01收发器模块的适配器包含用于插入nRF24L01收发器模块的母头和相应的公头,用于连接其他电路板,如Arduino。

nRF24L01收发器模块适配器上还有一个3.3V稳压器IC,以便您可以为适配器提供5V电源(仅适用于带3.3V稳压器的适配器,而不是直接连接到nRF24L01收发器模块本身)。

所需组件

Arduino UNO x 2

nRF24L01收发器模块x 2

操纵杆

TowerPro SG90伺服电机

LED

按钮

1KΩ电阻器

使用nRF24L01收发器模块的简单Arduino无线通信

电路图

连接

以下是Arduino UNO之间的连接和发送器端的nRF24L01模块。

nRF24L01 - Arduino

VCC - 3.3V

GND - GND

MOSI - 11

MISO - 12

SCK - 13

CE - 9

CSN - 10

因为我在接收器端使用了Arduino UNO,所以我使用了相同的连接。如果您正在使用Mega等其他Arduino板,请检查SPI引脚。

代码

发送器代码

接收器代码

注意:两个Arduino板之间的双向无线通信将很快更新。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • nRF24L01
    +关注

    关注

    17

    文章

    331

    浏览量

    72867
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SI24R1完美代替NRF24L01

    NRF24L01无线模块广泛地运用于:无线门禁、无线数据通讯、安防系统、遥控装置、遥感勘测、智能运动设备、工业传感
    发表于 11-28 11:10

    SI24R1与NRF24L01P的兼容资料

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

    新品 | Module CC1101,高性能无线通信模块

    ModuleCC1101是一款高性能无线通信模块。采用E07-900M10S模组方案(内置CC1101低功耗Sub-1GHz射频收发器)。工作频段为855~925MHz,支持配置2-FSK
    的头像 发表于 11-07 18:25 422次阅读
    新品 | Module CC1101,高性能<b class='flag-5'>无线通信</b><b class='flag-5'>模块</b>

    使用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收发器评估模块技术解析

    Texas Instruments THVD24X2VEVM收发器评估模块(EVM)可快速评估TI的THVD24X2V系列器件。THVD24
    的头像 发表于 08-22 11:18 745次阅读
    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+ Altium Designer库文件

    nRF24L01+ Altium Designer库文件下载链接
    发表于 04-30 15:26

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

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

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

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

    射频收发器与基带的区别

    射频收发器(Radio Frequency Transceiver),是一种能够发送和接收射频信号的电子设备。它在无线通信系统中扮演着核心角色,负责将基带信号调制到射频载波上,并将调制后的信号发送
    的头像 发表于 02-05 17:20 1146次阅读

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

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

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

    NRF24L01是一款工作在2.4-2.5GHz世界通用ISM频段的单片收发芯片, 使用4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单;输出功率、频道选择和协议的设置
    的头像 发表于 01-23 13:00 1064次阅读
    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的参数。 我只知道NRF24L01需要调整收发模式,是不是接上这个模块后,会自动切换收发
    发表于 01-08 17:12