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

    文章

    330

    浏览量

    69464
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    186969
收藏 人收藏

    评论

    相关推荐

    PLC无线通信模块的优缺点 PLC无线通信模块开发板使用

    PLC(Programmable Logic Controller,可编程逻辑控制无线通信模块是一种用于工业自动化领域的设备,它允许PLC系统通过无线网络与其他设备或系统进行数据交
    的头像 发表于 12-02 09:16 258次阅读

    PLC无线通信模块的工作原理 PLC无线通信模块网络配置

    PLC无线通信模块的工作原理 PLC(可编程逻辑控制无线通信模块是一种用于实现工业自动化设备之间无线
    的头像 发表于 11-29 18:07 498次阅读

    PLC无线通信模块应用场景 PLC无线通信模块使用手册

    数据交换和通信。以下是一些PLC无线通信模块的主要应用场景: 远程监控与控制 :在远离控制中心的现场,PLC无线模块可以实时监控设备的运行状
    的头像 发表于 11-29 16:59 286次阅读

    nRF24L01P被SI24R1竟然完美兼容替换

    发现一个新一代nRF24L01P与上一代nRF24L01相比寄存没有太大的变化,但是有几个关于通信管道和ACK的寄存的配置还是与上一代不
    发表于 11-28 16:52

    SI24R1与NRF24L01P 对比方案

    Si24R1低功耗2.4GHz收发一体射频芯片量产于2012年,由于其一致性稳定性高、功耗低、远距离、兼容替代NRF24L01+,兼容NORDIC 2.4GHz协议等特点,一直广泛应用于各物联网场景
    发表于 09-30 15:05

    射频收发器就是基带吗

    射频收发器(RF Transceiver)和基带(Baseband)是无线通信系统中两个不同的概念,它们在功能和设计上有所区别。射频收发器主要负责无线信号的发送和接收,而基带则处理信号
    的头像 发表于 09-20 11:12 355次阅读

    SI24R1 TO NRF24L01P 引脚及软硬件中文开发资料

    的视野是与友商的NRF24L01P芯片兼容通信。从而被打上了国产NRF24L01P的标签,更有甚者居然磨掉芯片原本的SI24R1的LOGO打成NRF
    发表于 07-30 14:26

    蓝牙模块、WiFi模块无线通信模块使用规范

      在当今的科技时代,无线通信模块已经广泛应用于各类电子设备中。特别是蓝牙模块、WiFi模块无线模块
    的头像 发表于 05-27 14:07 951次阅读
    蓝牙<b class='flag-5'>模块</b>、WiFi<b class='flag-5'>模块</b>等<b class='flag-5'>无线通信</b><b class='flag-5'>模块</b>使用规范

    NRF24L01加个if就发送不成功的原因?

    我最近在调个NRF24L01其实早已经调试好了,之前都是一个发送一个接,我现在想改成,我发送端发送成功后,接收端能返回信息回来。我调试时发现在把发送函数放到“if”里面发送不成功.把\"
    发表于 05-10 07:06

    nrf24l01+自动应答失败的原因?

    NRF24L01_Write_Reg(NRF_WRITE_REG+RF_CH,40); //设置RF通信频率 NRF24L01_Write_Reg(
    发表于 04-24 07:51

    STM8在低功耗模式(即Active-Halt或者Halt下) RTC还会继续工作吗?

    基于STM8L051的无线通信,主机STM8L051通过配置NRF24L01,接收端用无线转串口模块
    发表于 04-19 06:09

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

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

    NRF24L01P和SI24R1的区别

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

    nrf24l01接收延迟什么原因

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

    模块和光纤收发器的区别 光模块可以和光纤收发器连接吗?

    模块和光纤收发器的区别 光模块可以和光纤收发器连接吗?有什么注意事项? 光模块和光纤收发器是光
    的头像 发表于 12-27 11:13 2308次阅读