使用nRF24L01模块的无线射频通信

设计师使用了很多无线通信系统,比如蓝牙低功耗(BLE4.0)、Zigbee、ESP8266 Wi-Fi模块、433MHz射频模块、Lora、nRF等。传输介质的选择取决于它所使用的应用类型。nRF24L01是一种流行的无线局域网通信。这些模块工作在2.4GHz(ISM频段),波特率从250Kbps到2Mbps,这在许多国家是合法的,可用于工业和医疗应用。通过合适的天线,这些模块之间可以发送和接收高达100米的信号。

在本文中,我们将使用nRF24L01-2.4GHz射频收发模块与Arduino UNO和Raspberry Pi建立无线通信。Raspberry pi将作为发送器,Arduino Uno将监听Raspberry Pi,并使用nRF24L01将Raspberry Pi发送的消息打印在16x2的LCD上。NRF24L01还内置了BLE功能,还可以使用BLE进行无线通信。

本文分为两部分。第一部分将包括连接nRF24L01和Arduino作为接收器,第二部分将包括连接nRF24L01和Raspberry Pi作为发送器。

NRF24L01射频模块

NRF24L01模块是一个收发模块,也就是说每个模块都可以发送和接收数据,但是由于是半双工的,所以可以一次发送或接收数据。模块使用北欧半导体的通用nRF24L01,负责数据的发送和接收。IC SPI协议用于通信,因此它可以很容易地与任何微控制器连接。用Arduino很容易实现,因为这个库很容易获得。标准nRF24L01模块的引脚排列如下

该模块的工作电压为1.9V至3.6V(通常为3.3V),正常工作时仅消耗12mA的电流,这使其具有电池效率,因此它甚至可以在纽扣电池上运行。即使工作电压为3.3V,大部分引脚也有5V容差,可以直接与Arduino等5V微控制器连接。使用这些模块的另一个优点是每个模块有6个管道。这意味着每个模块可以与其他六个模块通信,以发送或接收数据。这使得该模块适合在物联网应用中创建星形或网状网络。它们还具有125个唯一id的宽地址范围,因此在一个封闭的区域中,我们可以使用125个这样的模块而不会相互干扰。

审计唐子红