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