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

    浏览量

    68883
  • 无线连接
    +关注

    关注

    2

    文章

    389

    浏览量

    35563
收藏 人收藏

    评论

    相关推荐

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

    nRF24L01是一种低功耗、高性能的2.4GHz无线收发器,由Nordic Semiconductor公司开发。它广泛应用于无线通信领域,特别是在低功耗应用和物联网设备中。
    的头像 发表于 04-16 16:05 178次阅读
    <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 380次阅读

    请问nrf24l01最远能达到多远?

    nrf24l01最远能达到多远,淘宝上有几千米的,是真的吗?
    发表于 11-07 07:02

    利用SPI控制器控制nRF24L01射频模块的驱动程序设计

    电子发烧友网站提供《利用SPI控制器控制nRF24L01射频模块的驱动程序设计.pdf》资料免费下载
    发表于 11-06 16:34 1次下载
    利用SPI控制器控制<b class='flag-5'>nRF24L01</b>射频<b class='flag-5'>模块</b>的驱动程序设计

    基于nRF24L01的通用无线通信模块设计案例

    电子发烧友网站提供《基于nRF24L01的通用无线通信模块设计案例.pdf》资料免费下载
    发表于 11-06 16:28 8次下载
    基于<b class='flag-5'>nRF24L01</b>的通用<b class='flag-5'>无线</b>通信<b class='flag-5'>模块</b>设计案例

    基于nRF24L01无线通信系统设计

    电子发烧友网站提供《基于nRF24L01无线通信系统设计.pdf》资料免费下载
    发表于 10-26 14:42 0次下载
    基于<b class='flag-5'>nRF24L01</b>的<b class='flag-5'>无线</b>通信系统设计

    基于NRF24L01的IMU数据无线传输系统设计

    电子发烧友网站提供《基于NRF24L01的IMU数据无线传输系统设计.doc》资料免费下载
    发表于 10-26 11:21 0次下载
    基于<b class='flag-5'>NRF24L01</b>的IMU数据<b class='flag-5'>无线</b>传输系统设计

    nrf51822怎么和nrf24l01通讯?

    51822可以不使用蓝牙协议栈,然后怎么和nrf24l01通讯
    发表于 09-27 06:50

    来自nrf24L01模块的BLE信标

    电子发烧友网站提供《来自nrf24L01模块的BLE信标.zip》资料免费下载
    发表于 06-16 14:44 1次下载
    来自<b class='flag-5'>nrf24L01</b><b class='flag-5'>模块</b>的BLE信标

    使用NRF24L01和Arduino构建无线传感器网络

    电子发烧友网站提供《使用NRF24L01和Arduino构建无线传感器网络.zip》资料免费下载
    发表于 06-09 10:07 3次下载
    使用<b class='flag-5'>NRF24L01</b>和Arduino构建<b class='flag-5'>无线</b>传感器网络

    NRF24L01无线通信介绍

    过串口打印到电脑上。 NRF24L01 无线模块,采用的芯片是 NRF24L01,该芯片的主要特点如下: 1. 2.4G 全球开放的 ISM 频段,免许可证使用。 2. 最高工作速率
    发表于 05-30 14:17 0次下载
    <b class='flag-5'>NRF24L01</b><b class='flag-5'>无线</b>通信介绍

    nrf24l01无线通信模块介绍

    功能描述: 1 本无线用了NRF24l01作为无线模块,进行发射与接收。 2 当左边板的一个按键按下不放,右边板一盏灯点亮。 3 当左边板的一个按键松开,右边板一盏灯熄灭。
    发表于 05-30 11:08 0次下载
    <b class='flag-5'>nrf24l01</b><b class='flag-5'>无线</b>通信<b class='flag-5'>模块</b>介绍

    2.4G无线通信——NRF24L01

    NRF24L01是NORDIC公司生产的一款无线通信通信芯片,采用FSK 调制,集成NORDIC自家的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线
    发表于 05-24 16:13 0次下载
    2.4G<b class='flag-5'>无线</b>通信——<b class='flag-5'>NRF24L01</b>

    如何使用nRF24L01模块呢?

    ,但ACK丢了。那同样,发送端没等到ACK过一段时间还是会重新发送一次。   电路连接   那么,接下去让我们两块nRF24L01/nRF24L01+
    发表于 05-15 15:41