“(SKU:RB-03T006)NRF24L01无线数传模块”的版本间的差异

来自ALSROBOT WiKi
跳转至: 导航搜索
应用例程1
第14行: 第14行:
 
===引脚说明===
 
===引脚说明===
 
[[文件:hohn7.jpg|500px|有框|居中]]
 
[[文件:hohn7.jpg|500px|有框|居中]]
==应用例程1==
+
==应用例程==
[[文件:hohn8.jpg|500px|有框|居中]]
+
1.库文件下载<br/>
[[文件:hohn49.jpg|500px|有框|居中]]
+
[http://playground.arduino.cc/uploads/InterfacingWithHardware/Mirf.zip  mirf 库下载地址]<br/>
 +
2.连接Arduino和NRF2401模块<br/>
 +
{|border="1" cellspacing="0" align="center" cellpadding="5" width="400px"
 +
|-
 +
|align="center"|NRF2401
 +
|align="center"|Arduino
 +
|-
 +
|align="center"|VCC
 +
|align="center"|3V3
 +
|-
 +
|align="center"|GND
 +
|align="center"|GND
 +
|-
 +
|align="center"|CSN
 +
|align="center"|D7
 +
|-
 +
|align="center"|CE
 +
|align="center"|D8
 +
|-
 +
|align="center"|MOSI
 +
|align="center"|D11
 +
|-
 +
|align="center"|MISO
 +
|align="center"|D12
 +
|-
 +
|align="center"|SCK
 +
|align="center"|D13
 +
 
 +
|}
 +
<br>
 +
 
 +
3.代码下载<br/>
 +
发送端代码<br/>
 +
<pre style='color:blue'>
 +
#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()){}
 +
 
 +
}</pre>
 +
<br/>
 +
接收端代码:<br/>
 +
<pre style='color:blue'>#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);
 +
}
 +
}</pre>
 +
 
 
==应用例程2==
 
==应用例程2==
 
[[文件:hohn10.jpg|500px|有框|居中]]
 
[[文件:hohn10.jpg|500px|有框|居中]]

2015年7月2日 (四) 16:49的版本

RB-03T006.jpg

目录

产品概述

NRF24L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进 行配置。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

规格参数

  1. 2Mbit/s速率下接收时的峰值电流12.5mA
  2. 在2Mbit/s速率下@0dBm输出时的峰值电流11mA
  3. 掉电模式下的功耗400nA
  4. 待机模式下的功耗32uA
  5. 130us 的快速切换和唤醒时间
  6. 具有片内稳压器oltage regulators
  7. 可在1.9 to 3.6V低电压工作
  8. MultiCeiverMT硬件提供同时6个接收机的功能,2Mbit/s 使得高质量的VoIP成为可能

使用方法

引脚说明

Hohn7.jpg

应用例程

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

Hohn10.jpg
Hohn11.jpg

产品相关推荐

购买地址:NRF24L01无线数传模块