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

    文章

    330

    浏览量

    69383
  • 无线连接
    +关注

    关注

    2

    文章

    418

    浏览量

    35745
收藏 人收藏

    评论

    相关推荐

    无线连接测试仪的技术原理和应用场景

      无线连接测试仪的技术原理及应用场景如下:  技术原理  信号产生与发射:测试仪内部的信号发生器能够产生特定频率、功率和调制方式的无线信号,这些信号模拟了实际无线通信中的各种数据传输情况,然后通过
    发表于 11-21 14:51

    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

    怎样用STM8L的PB3/TIM2_TRIG的引脚测量脉宽?

    怎样用STM8L的PB3/TIM2_TRIG的引脚测量脉宽?
    发表于 05-07 06:55

    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 2593次阅读
    <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

    nrf24l01接收延迟什么原因

    NRF24L01是一种低功耗的无线收发模块,广泛应用于各种无线通信系统中。它具有高度集成的特点,具备理想的发射和接收功率,还能提供数据速率高达2Mbps的
    的头像 发表于 12-29 10:14 1113次阅读

    稳定高速!MediaTek Wi-Fi 7 无线连接平台,赋能未来数智生活

    日益革新的需求,Wi-Fi 7 应运而生,为用户带来更快速、稳定、可靠的无线连接体验。 而这项技术的背后,又蕴含着怎样的革新与体验升级呢? 全新 Wi-Fi 7 技术 赋能稳定高速无线连接体验 作为新一代 Wi-Fi 标准,Wi
    的头像 发表于 12-14 19:20 683次阅读

    怎样用ADAU1761设计DRC的压缩/扩展?

    请问怎样用ADAU1761设计DRC的压缩/扩展。我在SigmaStudio 4.5的模块中只找到RMS。如果ADAU1761设计DRC要怎样
    发表于 11-28 06:41