Nrf24l01模块是非常小巧的2.4ghz无线传输模块 通过arduino可以很方便的控制 做一些简单的diy制作
要用到电脑的串口的哦。。。。
首先是发送端 这里是电脑输入数据给arduino 经过芯片转换以后发送给接收端 以字符格式发送与接收
代码如下
#include "SPI.h" //24L01库文件
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"
char words;
void setup(){
Serial.begin(9600);
Mirf.spi = &MirfHardwareSpi; //加载24L01 SPI
Mirf.init(); //开始
Mirf.setTADDR((byte *)"serv1");//发送到"接收地址"
Mirf.payload = sizeof(char);
Mirf.config();
}
void loop(){
while(Serial.available()>0)
{words=Serial.read();
Mirf.send((byte *)&words);
while(Mirf.isSending())
{ }
}
}
然后是接收端 这里是通过电脑的串口显示arduino接收到的字符数据
代码如下
#include "SPI.h" //24L01库文件
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"
char data;
char words';
void setup(){
Serial.begin(9600);
Mirf.spi = &MirfHardwareSpi; //加载24L01 SPI
Mirf.init();
Mirf.setRADDR((byte *)"serv1"); //接收地址" "
Mirf.payload = sizeof(char); //数据类型(整数)
Mirf.config();
}
void loop(){
if(Mirf.dataReady())
{ //如果接收到数据则执行
Mirf.getData((byte *)&data); //接收数据
words=data;
Mirf.rxFifoEmpty(); //清理24L01援存??
Serial.print(words); //显示X向 1至1024
}}
注意 请使用同种规格的arduino通信 比如UNO和UNO之间 2560和2560之间 否则 可能会出现一些不希望出现的情况 具体什么的 好奇的同学可以试一试哦。。。。
新建文件夹.rar
12.50KB
RAR
34次下载