想给手边的Arduino之间加个无线通道,不用蹭WiFi也不用配账号,NRF24L01几乎是成本最低的选择。它是工作在2.4GHz的射频收发一体芯片,走SPI接口,一个模块可以同时跟最多6个地址的对方通信,做遥控小车、数据回传、传感器组网都很顺手。这篇把接线和常见坑讲清楚。
NRF24L01的供电为什么是3.3V
模块的核心供电要求是3.3V左右,Arduino的3V3脚刚好能喂饱它。最忌讳的是把它接到5V脚上,几秒钟就可能把芯片烧掉。虽然各型号带不带天线的封装不同,但核心引脚定义和用法完全一致。

除了供电,模块还要求数据线能安全对接。当Arduino的3V3和它自己板上的5V器件混用时,建议在部分信号脚上加个电平处理,避免直接怼高压。
NRF24L01怎么接线到Arduino
它走的是SPI总线,标准接法为:VCC接3V3、GND接地,CE接D9、CSN接D10,剩下SCK、MOSI、MISO分别接D13、D11、D12,这组是Arduino UNO的硬件SPI脚。注意CE和CSN是普通数字脚,另外三个必须匹配硬件SPI。

库用RF24库,收发两端的初始化方式几乎一样,只需把CE、CSN两个脚号传进去;发送端openWritingPipe、接收端openReadingPipe,地址配对好就能开聊了。
一对多与两个避坑点
一个接收端最多能有6个发送地址,也就是能跟最多6个节点通信,这就是常见一主多从组网的基础。数据包每次最大能传几十字节,传那种连续变亮的实时状态够用。
避坑两大重点:一是供电跌落,模块发射瞬间电流不小,电源线长或公头松时数据会丢,建议在模块旁边并联一个大点的电容稳压,别直接用细长杜邦线挂主板上;二是同一空间别用太多套收发,2.4GHz频段也容易被WiFi占掉,脚本里换个传输通道往往就通顺了。




千万别接5V,模块一下就给烧了,血泪教训
供电跌落丢数据,模块旁边并联电容真的管用
CE和CSN是普通脚,SCK/MOSI/MISO要跟硬件SPI配对