2.2 Arduino各类模块-3(NRF24L01 2.4G无线模块单向双向传输)

本文介绍了如何在Arduino中使用NRF24L01 2.4G无线模块进行单向和双向通信。通过Mirf库和RF24-master库实现不同级别的通信,讲解了模块的供电、接线方式及关键步骤,如开启通信管道、设置功率等级。在实际应用中,还提到了避免数据溢出的方法和发射端的防抖动处理。
摘要由CSDN通过智能技术生成

6、2.4G无线模块(NRF24L01)

说明:

使用1.9-3.6v供电,典型供电3.3v

NRF24L01 2.4G无线模块我们分为两个部分,使用两个不同的库进行实现。

NRF24L01硬件上具有六个管道,每一个终端可以占据一个管道,因此NRF24L01可以实现一对五的双向传输或者一对无限个的单向传输,此时接收端为静默监听状态。

1.初学版

我使用Mirf库进行实现

在使用Mirf库进行一对一单向或双向传输时,是更为便捷的,开发的速度也会更快,建议初学者使用

接线方式:

3.3V                  ---       VCC

GND     ---       GND

7                       ---      CSN

8                       ---        CE

11                     ---       MOSI 

13                    ---        SCK

12                    ---        MISO

发射端:

#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>

int value;

void setup()
{
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"ABCDE"); //设置自己的地址(发送端地址),使用5个字符
  Mirf.payload = sizeof(value);
  Mirf.channel = 90;              //设置所用信道
  Mirf.config();
}

void loop()
{
  Mirf.setTADDR((byte *)"FGHIJ");           //设置接收端地址
  value = random(255);                      //0-255的随机数
  Mirf.send((byte *)&value);                //发送指令,发送随机数va
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值