nRF24L01是一款高度集成的超低功耗(ULP)2Mbps RF收發器IC,適用于2.4GHz ISM(工業,科學和醫學)頻段。 nRF24L01具有RX/TX峰值電流低于14mA,低于μA的掉電模式,先進的電源管理以及1.9V至3.6V的電源范圍,提供了真正的ULP解決方案,可在紐扣電池或紐扣電池上運行數月至數年的電池壽命。 AA/AAA電池。
步驟2:材料要求
2 PCS NRF24L01 + 2.4 GHz無線收發器module
2 Arduino any(我用過一個arduino R3和nano)
Male。女性跳線
任何開關
10K電阻
步驟3:連接
將以下引腳連接到Arduino:在圖中
Pin 9-CE
Pin 10-CS(N)
Pin 11-MOSI
Pin 12-MISO
Pin 13-SCK
3.3v-VCC
GND-GND
在接收器引腳3上-LED
在發送器引腳7-按鈕上
接收器和發送器的連接相同,您可以使用任何arduino板
步驟4:編寫Arduino
首先要為arduino編碼,我們需要一些庫文件,因此請遵循以下步驟:
1。下載ZIP文件(附件中的庫文件zip文件夾)。
3。解壓縮ZIP文件。
4。轉到arduino庫文件夾
5。然后將名為“ nFR24L01”和“ RF24”的文件夾粘貼到其中。
現在,對Arduino接收器和發送器進行編程
接收器代碼
#include
#include “nRF24L01.h”
#include “RF24.h”
int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int LED1 = 3;
void setup(void){
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(LED1, OUTPUT);}
void loop(void){
if (radio.available()){
bool done = false;
while (!done){
done = radio.read(msg, 1);
Serial.println(msg[0]);
if (msg[0] == 111){delay(10);digitalWrite(LED1, HIGH);}
else {digitalWrite(LED1, LOW);}
delay(10);}}
else{Serial.println(“No radio available”);}}
發射機代碼
#include
#include “nRF24L01.h”
#include “RF24.h”
int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int SW1 = 7;
void setup(void){
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);}
void loop(void){
if (digitalRead(SW1) == HIGH){
msg[0] = 111;
radio.write(msg, 1);}}
步驟5:測試
這是完成電路和編碼部分后的最后一步通過切換“ ON”和“ OFF”輕松測試它。
當連接到arduino的引腳7的發射器側的開關為“ ON”時,led發光,連接到arduino的引腳3的接收器側。
-
led
+關注
關注
242文章
23347瀏覽量
662524 -
收發器
+關注
關注
10文章
3454瀏覽量
106180
發布評論請先 登錄
相關推薦
評論