0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用nRF24l01模块创建无线连接

454398 来源:工程师吴畏 2019-07-26 10:45 次阅读

nRF24L01无线电收发器提供了非常有效和廉价的通信方式。

nRF24l01模块实际上是一个无线电收发器模块,它工作在2.4 GHz频率上。该模块具有同时发送和接收数据的功能,可用于各种IOT项目以创建无线连接。通过显示它是一个非常小的模块,但它的功能是惊人的。

这个模块可以用于两个方式沟通的目的,在本教程中我们设置两个Arduino uno之间的单向通信。

开始之前我们有下载一些Arduino库,以便顺利运行程序。您可以在此处下载库文件。

nRF24lL01的引脚图

怎样用nRF24l01模块创建无线连接

Reciver Circuit

按照上图,将nRF24L01和伺服电机连接到arduino。

重要提示:输入电压为1.9V~3.6V,不要超过此电压,否则会烧毁模块。

的Arduino ------------- nRF24L01的

Pin 9 ----------- CE

Pin 10 --------- CS(N)

Pin 11 ---------- MOSI

Pin 12 --------- MISO

Pin 13 ---------- SCK

引脚3 -------------伺服信号引脚

3.3v ---------- --- VCC

GND ---------- - GND

现在将下面给出的接收器代码上传到第一个Arduino。

#include
#include
#include
#include//includetheServolibrary
ServomyServo;

intmsg[1];
RF24radio(9,10);//checkyourpinnumberonRF24githubcheckyouhavetheright
//pinnumberforthearduinoyou'reusing.thispinisdiffrentfordiffrentarduinomodels.

constuint64_tpipe=0xF0F0F0F0D2L;


voidsetup(void)
{
myServo.attach(3);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
myServo.write(0);//initialpositionofservoatangle0

}

voidloop(void)
{
if(radio.available()){
booldone=false;
while(!done){
done=radio.read(msg,1);
Serial.println(msg[0]);
if(msg[0]==212){
myServo.write(180);
}
else{
myServo.write(0);
}
}
}
}

发送器电路

按照上图,将nRF24L01和伺服电机连接到arduino。

重要提示:输入电压为1.9V~3.6V,不要超过此电压,否则会炸毁模块。

的Arduino ------------- nRF24L01的

Pin 9 ----------- CE

Pin 10 --------- CS(N )

Pin 11 ---------- MOSI

Pin 12 --------- MISO

Pin 13 ---------- SCK

5脚-------------按钮

3.3v ------------- VCC

GND ------------ GND

现在将下面给出的发射机代码上传到第二个Arduino。

现在给Arduino板供电并按下按钮,发现伺服旋转。

#include
#include
#include

intmsg[1];
RF24radio(9,10);//checkyourpinnumberonRF24githubcheckyouhavetheright
//pinforthearduinoyou'reusing.thispinnumberisdiffrentfordiffrentarduinomodels.

constuint64_tpipe=0xF0F0F0F0D2L;

intbuttonPin1=5;
intbuttonState1=0;

voidsetup(void)
{
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
pinMode(buttonPin1,INPUT);

}

voidloop(void)
{
buttonState1=digitalRead(buttonPin1);


if(buttonState1==HIGH)
{
msg[0]=212;
radio.write(msg,1);
}

}

谢谢你,希望教程帮助你......

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • nRF24L01
    +关注

    关注

    17

    文章

    331

    浏览量

    70006
  • 无线连接
    +关注

    关注

    2

    文章

    428

    浏览量

    36630
收藏 人收藏

    评论

    相关推荐

    CW32模块使用 NRF24L01无线2.4G模块

    NRF24L01是一款工作在2.4-2.5GHz世界通用ISM频段的单片收发芯片, 使用4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单;输出功率、频道选择和协议的设置
    的头像 发表于 01-23 13:00 262次阅读
    CW32<b class='flag-5'>模块</b>使用 <b class='flag-5'>NRF24L01</b><b class='flag-5'>无线</b>2.4G<b class='flag-5'>模块</b>

    有人用过USB转NRF24L01模块吗,求指教

    如图,我买了一个这个模块,然后买了两个NRF24L01。 其中一个接上了USB转NRF24L01模块,另外一个直连了stm32。 我想问接到转换
    发表于 01-08 17:12

    处理能力提高一倍,支持边缘ML应用:基于nRF54L的ME54BS系列BLE模块,性能全面升级!

    作为全球化的一站式物联网无线连接模块供应商,创新微(MinewSemi)宣布推出基于Nordic Semiconductor新一代无线 SoC nRF54L 系列的ME54BS
    的头像 发表于 12-06 13:47 325次阅读
    处理能力提高一倍,支持边缘ML应用:基于<b class='flag-5'>nRF54L</b>的ME54BS系列BLE<b class='flag-5'>模块</b>,性能全面升级!

    创新微推出基于Nordic nRF54L系列的ME54BS01低功耗蓝牙模块

    作为全球化的一站式物联网无线连接模块供应商,创新微(MinewSemi)宣布推出基于NordicSemiconductor新一代无线 SoCnRF54L 系列的ME54BS
    的头像 发表于 12-05 14:17 415次阅读

    nRF24L01P被SI24R1竟然完美兼容替换

    发现一个新一代nRF24L01P与上一代nRF24L01相比寄存器没有太大的变化,但是有几个关于通信管道和ACK的寄存器的配置还是与上一代不同的。另外,个人理解shockburst和enhanced
    发表于 11-28 16:52

    SI24R1与NRF24L01P 对比方案

    Si24R1低功耗2.4GHz收发一体射频芯片量产于2012年,由于其一致性稳定性高、功耗低、远距离、兼容替代NRF24L01+,兼容NORDIC 2.4GHz协议等特点,一直广泛应用于各物联网场景
    发表于 09-30 15:05

    SI24R1 TO NRF24L01P 引脚及软硬件中文开发资料

    导致内部电路不能关断,而使得功耗增加。 2.当使用Si24R1号称7dbm的发射功率的时候,距离好像没有增加太多,而且无线音频客户觉得会有很大的噪声。 解决办法: 一、友商的nRF24L01+不要
    发表于 07-30 14:26

    如何使用RTOS SDK才能正确驱动NRF24L模块呢?

    你好,我刚接触 ESP8266 TROS SDK,想用ESP8266的HSPI驱动NRF24L01模块,自己模拟SPI时序可以正常驱动NRF24L01,但通信速率只有350K左右。请问
    发表于 07-19 14:15

    STM8L做的计步器总是复位的原因?

    STM8L做的计步器总是复位,主芯片STM8L151K4T6,CR2477供电,无线模块NRF24L01,水银球计步,请高手帮下,可能导致复
    发表于 05-16 08:14

    NRF24L01加个if就发送不成功的原因?

    我最近在调个NRF24L01其实早已经调试好了,之前都是一个发送一个接,我现在想改成,我发送端发送成功后,接收端能返回信息回来。我调试时发现在把发送函数放到“if”里面发送不成功.把\"
    发表于 05-10 07:06

    nrf24l01+自动应答失败的原因?

    目前调试24L01+,非自动应答可以收到数据,但自动应答时,一直出现达到最大重发次数,但接收方有收到数据。 发送端: oid ANO_NRF_TX_MODE(void
    发表于 04-24 07:51

    STM8在低功耗模式(即Active-Halt或者Halt下) RTC还会继续工作吗?

    基于STM8L051的无线通信,主机STM8L051通过配置NRF24L01,接收端无线转串口
    发表于 04-19 06:09

    无线通信时代nRF24L01无线模块的应用与特点

    nRF24L01是一种低功耗、高性能的2.4GHz无线收发器,由Nordic Semiconductor公司开发。它广泛应用于无线通信领域,特别是在低功耗应用和物联网设备中。
    的头像 发表于 04-16 16:05 2905次阅读
    <b class='flag-5'>无线</b>通信时代<b class='flag-5'>nRF24L01</b><b class='flag-5'>无线</b><b class='flag-5'>模块</b>的应用与特点

    NRF24L01P和SI24R1的区别

    SI24R1无线模块;只有少 部分的商家标上“南京产的”,其他的基本上都是“挂着羊头,卖狗肉”,甚至,芯片上的LOGO 标 的是“NRF24L01”,但是,实际上是台产的“SI
    发表于 03-29 15:05