如何使用一对NRF24L01收发器控制LED

电子说

1.2w人已加入

描述

步骤1:关于NRF 24L01收发器的小介绍

nRF24L01是一款高度集成的超低功耗(ULP)2Mbps RF收发器IC,适用于2.4GHz ISM(工业,科学和医学)频段。 nRF24L01具有RX/TX峰值电流低于14mA,低于μA的掉电模式,先进的电源管理以及1.9V至3.6V的电源范围,提供了真正的ULP解决方案,可在纽扣电池或纽扣电池上运行数月至数年的电池寿命。 AA/AAA电池。

步骤2:材料要求

led

led

led

led

2 PCS NRF24L01 + 2.4 GHz无线收发器module

2 Arduino any(我用过一个arduino R3和nano)

Male。女性跳线

LED

任何开关

10K电阻

步骤3:连接

led

led

led

led

led

将以下引脚连接到Arduino:在图中

Pin 9-CE

Pin 10-CS(N)

Pin 11-MOSI

Pin 12-MISO

Pin 13-SCK

3.3v-VCC

GND-GND

在接收器引脚3上-LED

在发送器引脚7-按钮上

接收器和发送器的连接相同,您可以使用任何arduino板

步骤4:编写Arduino

首先要为arduino编码,我们需要一些库文件,因此请遵循以下步骤:

1。下载ZIP文件(附件中的库文件zip文件夹)。

3。解压缩ZIP文件。

4。转到arduino库文件夹

5。然后将名为“ nFR24L01”和“ RF24”的文件夹粘贴到其中。

现在,对Arduino接收器和发送器进行编程

接收器代码

#include

#include “nRF24L01.h”

#include “RF24.h”

int msg[1];

RF24 radio(9,10);

const uint64_t pipe = 0xE8E8F0F0E1LL;

int LED1 = 3;

void setup(void){

Serial.begin(9600);

radio.begin();

radio.openReadingPipe(1,pipe);

radio.startListening();

pinMode(LED1, OUTPUT);}

void loop(void){

if (radio.available()){

bool done = false;

while (!done){

done = radio.read(msg, 1);

Serial.println(msg[0]);

if (msg[0] == 111){delay(10);digitalWrite(LED1, HIGH);}

else {digitalWrite(LED1, LOW);}

delay(10);}}

else{Serial.println(“No radio available”);}}

发射机代码

#include

#include “nRF24L01.h”

#include “RF24.h”

int msg[1];

RF24 radio(9,10);

const uint64_t pipe = 0xE8E8F0F0E1LL;

int SW1 = 7;

void setup(void){

Serial.begin(9600);

radio.begin();

radio.openWritingPipe(pipe);}

void loop(void){

if (digitalRead(SW1) == HIGH){

msg[0] = 111;

radio.write(msg, 1);}}

步骤5:测试

这是完成电路和编码部分后的最后一步通过切换“ ON”和“ OFF”轻松测试它。

当连接到arduino的引脚7的发射器侧的开关为“ ON”时,led发光,连接到arduino的引脚3的接收器侧。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
小董123 2020-05-18
0 回复 举报
好帖子 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分