arduino笔记31:NRF24L01通信,控制一个LED灯亮灭

 

目录

性能参数编辑

模块电气特性

通讯相关


 

调了两天,终于实现简单的信号传递了。

查找资料解决问题的过程走了很多弯路,包括去了解了arduino的SPI通信,尝试了RF24、Mirf库,增加电解电容、电源问题、修改程序,最后是调整接线顺序调好的,但是估计最开始不是接线的问题,期间修正了其他问题,不断调整之后最终调好了。

其间参考了很多网上的资料,包括b站的视频、How To Mechtronics、arduinoo中文社区,以及个人博客、csdn等等。感谢各位大佬的指引!相关参考资料都会整理汇总在文末。

 

nRF24L01,工作于2.4 GHz~2.5 GHz ISM频段, 最高工作速率2Mbps,125 频道,满足多点通信和跳频通信需要,低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA,可以用SPI控制

 

性能参数编辑


◆ 小体积,QFN20 4x4mm封装
◆ 宽电压工作范围,1.9V~3.6V,输入引脚可承受5V电压输入
◆ 工作温度范围,-40℃~+80℃
◆ 工作频率范围,2.400GHz~2.525GHz
◆ 发射功率可选择为0dBm、-6dBm、-12dBm和-18dBm
◆ 数据传输速率支持1Mbps、2Mbps[1] 
◆ 低功耗设计,接收时工作电流12.3mA,0dBm功率发射时11.3mA,掉电模式时仅为900nA
◆ 126个通讯通道,6个数据通道,满足多点通讯和调频需要
◆ 增强型“ShockBurst”工作模式,硬件的CRC校验和点对多点的地址控制
◆ 数据包每次可传输1~32Byte的数据
◆ 4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单
◆ 可通过软件设置工作频率、通讯地址、传输速率和数据包长度
◆ MCU可通过IRQ引脚快判断是否完成数据接收和数据发送


 

 

模块电气特性

 

认识NRF24L01模块:

这是引脚

 

这个产品特性:

本模块采用国产射频芯片SI24R1,内部集成了所有与RF协议相关的高速信号处理部分,由于链路层完全集成在模块上,非常便于开发。自动检测和自动重发丢失的数据包,重发时间及重发次数可软件控制,自动存储未收到应答信号的数据包;在收到有效数据后,模块自动发送应答信号,无须另行编程;载波检测—固定频率检测,内置硬件CRC检错和点对多点通信地址控制数据包传输错误计数器及载波检测功能可用于跳频设置可同时设置六路接收通道地址,可有选择性的打开接收通道。SI24R1的SPI接口可以利用单片机的硬件SPI口连接或用单片机I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。

 

产品参数:

 

  • 板载2.4G PCB天线,ISM频段,标准插针DIP 2.54mm间距接口,体积小巧,便于嵌入式应用。
  • 支持六路通道的数据接收(一对六)
  • 支持GFSK/FSK等通用调制方式
  • 支持2Mbps/1Mbps/250Kbps 数据速率,可设不同的发射功率
  • 多频点:126频点,满足多点通信和跳频通信需要,2400MHz~2525MHz,1MHz跳频步进
  • 内部集成高PSRR的LDO
  • 宽电源电压范围:1.9~3.6V,典型3.3V
  • 平均发射电流低至25mA(7dBm)
  • 接收灵敏度:-96dBm@250kbps
  • 发射功率可高达+7±1dBm
  • 采用四线SPI接口ÿ
  • 10
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: ArduinonRF24L01是两个非常流行的电子设备,可用于进行无线通信nRF24L01是一种2.4GHz无线收发器,可用于传输数据。它可以与Arduino一起使用,以便您可以将数据从一个Arduino板传输到另一个Arduino板或其他设备。 要在ArduinonRF24L01之间进行通信,您需要使用nRF24L01库。您可以在Arduino IDE中下载并安装此库。然后,您可以使用库中提供的示例代码作为起点,并将其修改为满足您的需求。 您需要连接nRF24L01收发器模块到Arduino板上,并在代码中设置其参数,如频道、地址和数据速率。然后,您可以使用库中提供的函数发送和接收数据。 在编写代码时,请确保您了解数据的格式和传输方式,以便您可以正确解析接收到的数据。同时,您需要确保Arduino板和nRF24L01模块之间的连接正确,以便通信可以正常进行。 ### 回答2: ArduinoNRF24L01通信是一种常见的无线通信方式,可以实现远距离的通信控制和数据传输。NRF24L01是一种集成在小型芯片内的2.4GHz无线收发器,它可以提供高速的数据传输速度和较长的通信范围。 使用ArduinoNRF24L01进行通信的过程需要几个步骤。首先,在ArduinoNRF24L01之间进行硬件连接。这需要在Arduino上连接SPI通信口和中断线,然后将NRF24L01模块连接到Arduino上。接下来,需要使用Arduino编写代码来实现通信。这个代码需要包含初始化NRF24L01模块的命令、指定通信工作模式的命令、以及在接收或发送数据时发送和接收信息的命令。 在ArduinoNRF24L01之间进行通信时,需要注意一些问题。首先,通信距离是有限的,所以需要避免信号干扰。这可以通过避免使用相同的频点或使用干扰较小的频率带来解决。另外,需要注意调整通信频率、发射功率和传输速度,以便使通信效果尽可能稳定和准确。 总之,使用ArduinoNRF24L01通信是一种便捷、简单、快速的方式,能够实现相对较短距离的无线通信。在实际应用场景中,可以使用这种通信方式来控制传感器、采集数据、控制机器人等。 ### 回答3: ArduinonRF24L01是两个非常常见的电子设备,它们可以结合使用来进行通信nRF24L01是一种通信模块,它基于射频通信技术,能够在较长的距离和障碍物背后进行无线数据传输。而Arduino是一种微控制器板,可以用来控制电子设备的各种操作,如LED或电机。 要在ArduinonRF24L01之间进行通信,需要进行以下步骤: 1.将nRF24L01模块连接到Arduino板上。这个过程需要连接Junper线或线缆。连接时需要将VCC引脚连接到Arduino 3.3V引脚,将GND引脚连接到Arduino的GND引脚,将CE引脚连接到Arduino 9号引脚,将CSN引脚连接到Arduino 10号引脚,将SCK引脚连接到Arduino 13号引脚,将MOSI引脚连接到Arduino 11号引脚,将MISO引脚连接到Arduino 12号引脚。 2.下载并安装RF24库,即将RF24文件夹放在Arduino的库目录下,可以在Arduino IDE上进行下载。 3.编写Arduino代码,使用RF24库进行通信。具体代码可以使用Arduino IDE上的“File”-“Examples”-“RF24”中的范例程序作为参考,通过修改库中的配置来与nRF24L01通讯。 可以使用nRF24L01进行点对点通信和广播通信,也可以使用多个nRF24L01相互通信,形成网络。通过使用nRF24L01,可以实现图像传输、传感器数据传输、机器人通信等。 总的来说,通过ArduinonRF24L01实现通信是非常简单和方便的。需要注意的是,使用时需要确保nRF24L01的连接和配置正确,并且Arduino代码可以正确识别和解析来自nRF24L01的信息。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值