步驟1:NRF24L01功能和規格
NRF24L01無線收發器模塊的功能:
?Cost(對于類型版本,費用在1 $到3 $之間)
?Range
?Availability
?易于使用
NRF24L01無線收發器模塊的類型:
NRF24LO1有兩種類型:
?NRF24L01具有天線(在開放空間中大約為公里)
?NRF24L01(無天線)(在開放空間中大約為50米)
NRF24L01無線收發器模塊的應用:
?無線家庭自動化
?Drones遠程控制
?遠程傳感器,用于溫度,壓力,警報等
?機器人控制和監視
NRF24L01無線收發器模塊的功耗:
?此模塊的功耗在傳輸過程中僅為12mA左右
?模塊的電壓范圍是1.9至3.6V
第2步:觀看視頻以了解更多詳情
第3步:要克服的問題
許多用戶遇到NRF24L01模塊的問題。這些問題的根源通常來自3.3v Power。由于該模塊沒有足夠的電流能力。這是為什么我建議使用以下任一方式:
?帶有穩壓器和旁路電容器的基本模塊,以保持穩定性
OR
?從+ 3.3V到Gnd直接在模塊上的3.3 uF至10 uF(MicroFarad)電容器
步驟4:原理圖




CE和CSN引腳可以連接到任何數字引腳。然后,在RF24庫中,您可以指定使用的引腳。我選擇了引腳8和9,因為我將在示例中使用它們。
在我們的例子中,我們將使用Arduino Uno,這就是為什么您應該遵循以下說明(或遵循上圖)的原因:
MOSI連接到數字引腳11
MISO連接到數字引腳12
SCK連接到數字引腳13
SS(未使用)
注意:使用NRF24L01時,您必須記住這些數字引腳不可用。
請觀看以下視頻
步驟5:下載RF24庫
在此項目中,我們使用了RF24庫,該庫可以在Github上下載:RF24庫
1。首先,您需要單擊“下載ZIP”按鈕
2。將zip文件解壓縮到您的Arduino主目錄中:Linux/Linux上的Arduino/庫或Windows中的文檔/Arduino/庫。
步驟6:發射器Arduino代碼
發送器草圖將如下所示:
/** Arduino Wireless Communication Tutorial
* Transmitter Code
*
* by Smart Technology, https://makesmarttech.blogspot.com/
*
* Library: TMRh20/RF24,https://tmrh20.github.io/RF24
*/
#include
#include
#include
#define button 7
RF24 radio(8, 9); // CE, CSN
const byte address[6] = “00001”;
boolean buttonState = 0;
void setup() {
pinMode(button, INPUT);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MAX);
radio.stopListening();
}
void loop() {
delay(5);
radio.stopListening();
buttonState = digitalRead(button);
radio.write(&buttonState, sizeof(buttonState));
}
第7步:接收器Arduino代碼
接收器草圖將如下所示:
/** Arduino Wireless Communication Tutorial
* Receiver Code
*
* by Smart Technology, https://makesmarttech.blogspot.com/
* Library: TMRh20/RF24, https://tmrh20.github.io/RF24
*/
#include
#include
#include
#define led 7
RF24 radio(8, 9); // CE, CSN
const byte address[6] = “00001”;
boolean buttonState = 0;
void setup() {
pinMode(7, OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MAX);
radio.startListening();
}
void loop() {
delay(5);
radio.startListening();
while (!radio.available());
radio.read(&buttonState, sizeof(buttonState));
if (buttonState == HIGH) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
第8步:獲得支持

責任編輯:wv
-
nRF24L01
+關注
關注
17文章
331瀏覽量
74808 -
Arduino
+關注
關注
190文章
6526瀏覽量
196905
發布評論請先 登錄
SI24R2B 單發Tx發射芯片功耗低 可兼容NRF24L01P
SI24R1:一款低功耗國產兼容 NRF24L01+開發資料
Arduino UNO 可視化GT-24工業級無線透傳
探究博通AFBR - FS50B00:高速光無線通信收發器的卓越之選
NRF24L01——2.4GHz無線通信
探索 THVD24x0:工業通信的可靠 RS - 485 收發器解決方案
SI24R1完美代替NRF24L01
使用NRF24l01軟件包注冊設備失敗怎么解決?
官網nrf24l01的例程demo會出現互斥鎖報錯是為什么?
THVD24X2VEVM全雙工RS-485收發器評估模塊技術解析
SI24R1:答題卡方案芯片替代NRF24L01+
基于nRF24L01+的2.4GHz無線模塊設計與應用
如何使用NRF24L01收發器模塊在兩個Arduino板之間進行無線通信
評論