(SKU:RB-03T006)NRF24L01无线数传模块
来自ALSROBOT WiKi
目录 |
产品概述
NRF24L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进 行配置。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
规格参数
- 2Mbit/s速率下接收时的峰值电流12.5mA
- 在2Mbit/s速率下@0dBm输出时的峰值电流11mA
- 掉电模式下的功耗400nA
- 待机模式下的功耗32uA
- 130us 的快速切换和唤醒时间
- 具有片内稳压器oltage regulators
- 可在1.9 to 3.6V低电压工作
- MultiCeiverMT硬件提供同时6个接收机的功能,2Mbit/s 使得高质量的VoIP成为可能
使用方法
引脚说明
应用例程
1.库文件下载
mirf 库下载地址
2.连接Arduino和NRF2401模块
NRF2401 | Arduino |
VCC | 3V3 |
GND | GND |
CSN | D7 |
CE | D8 |
MOSI | D11 |
MISO | D12 |
SCK | D13 |
3.代码下载
发送端代码
#include <SPI.h> #include <Mirf.h> #include <nRF24L01.h> #include <MirfHardwareSpiDriver.h> void setup() { Serial.begin(9600); Mirf.spi = &MirfHardwareSpi; Mirf.init(); Mirf.setRADDR((byte *)"clie1"); Mirf.payload = 5; Mirf.channel = 3; Mirf.config(); } void loop(){ unsigned long time = millis(); Mirf.setTADDR((byte *)"serv1"); // 标记对方的地址 Sends("hello"); //发送了一个5字节的hello delay(1000); } void Sends(char *str) { int lens; lens=strlen(str); char msg[lens]; int i; for (i=0;i<lens;i++) { msg[i]= int(str[i]); } Mirf.send((byte *)&msg); while(Mirf.isSending()){} }
接收端代码:
#include <SPI.h> #include <Mirf.h> #include <nRF24L01.h> #include <MirfHardwareSpiDriver.h> void setup(){ Serial.begin(9600); Mirf.spi = &MirfHardwareSpi; Mirf.init(); Mirf.setRADDR((byte *)"serv1"); // 本地名 Mirf.payload = 5; // 长度 Mirf.channel = 3; // 信道 Mirf.config(); } void loop() { byte data[Mirf.payload]; if(!Mirf.isSending() && Mirf.dataReady()) { Mirf.getData(data); int i; String Temp; for (i = 0; i < Mirf.payload; i++) //把收到的信息拼起来,到一个串里面 { Temp += char(data[i]); } Serial.print("Get:"); Serial.print(Mirf.payload); Serial.print(" "); Serial.println(Temp); Mirf.setTADDR((byte *)"clie1"); Mirf.send(data); } }
应用例程2
产品相关推荐
购买地址:NRF24L01无线数传模块