“(SKU:RB-03T006)NRF24L01無(wú)線數(shù)傳模塊”的版本間的差異
來(lái)自ALSROBOT WiKi
(→?應(yīng)用例程1) |
|||
第14行: | 第14行: | ||
===引腳說(shuō)明=== | ===引腳說(shuō)明=== | ||
[[文件:hohn7.jpg|500px|有框|居中]] | [[文件:hohn7.jpg|500px|有框|居中]] | ||
? | == | + | ==應(yīng)用例程== |
? | [ | + | 1.庫(kù)文件下載<br/> |
? | [[ | + | [http://playground.arduino.cc/uploads/InterfacingWithHardware/Mirf.zip mirf 庫(kù)下載地址]<br/> |
+ | 2.連接Arduino和NRF2401模塊<br/> | ||
+ | {|border="1" cellspacing="0" align="center" cellpadding="5" width="400px" | ||
+ | |- | ||
+ | |align="center"|NRF2401 | ||
+ | |align="center"|Arduino | ||
+ | |- | ||
+ | |align="center"|VCC | ||
+ | |align="center"|3V3 | ||
+ | |- | ||
+ | |align="center"|GND | ||
+ | |align="center"|GND | ||
+ | |- | ||
+ | |align="center"|CSN | ||
+ | |align="center"|D7 | ||
+ | |- | ||
+ | |align="center"|CE | ||
+ | |align="center"|D8 | ||
+ | |- | ||
+ | |align="center"|MOSI | ||
+ | |align="center"|D11 | ||
+ | |- | ||
+ | |align="center"|MISO | ||
+ | |align="center"|D12 | ||
+ | |- | ||
+ | |align="center"|SCK | ||
+ | |align="center"|D13 | ||
+ | |||
+ | |} | ||
+ | <br> | ||
+ | |||
+ | 3.代碼下載<br/> | ||
+ | 發(fā)送端代碼<br/> | ||
+ | <pre style='color:blue'> | ||
+ | #include <SPI.h> | ||
+ | #include <Mirf.h> | ||
+ | #include <nRF24L01.h> | ||
+ | #include <MirfHardwareSpiDriver.h> | ||
+ | void setup() | ||
+ | { | ||
+ | Serial.begin(9600); | ||
+ | Mirf.spi = &MirfHardwareSpi; | ||
+ | Mirf.init(); | ||
+ | Mirf.setRADDR((byte *)"clie1"); | ||
+ | Mirf.payload = 5; | ||
+ | Mirf.channel = 3; | ||
+ | Mirf.config(); | ||
+ | } | ||
+ | void loop(){ | ||
+ | unsigned long time = millis(); | ||
+ | Mirf.setTADDR((byte *)"serv1"); // 標(biāo)記對(duì)方的地址 | ||
+ | Sends("hello"); //發(fā)送了一個(gè)5字節(jié)的hello | ||
+ | delay(1000); | ||
+ | } | ||
+ | void Sends(char *str) | ||
+ | { | ||
+ | int lens; | ||
+ | lens=strlen(str); | ||
+ | char msg[lens]; | ||
+ | int i; | ||
+ | for (i=0;i<lens;i++) | ||
+ | { | ||
+ | msg[i]= int(str[i]); | ||
+ | } | ||
+ | Mirf.send((byte *)&msg); | ||
+ | while(Mirf.isSending()){} | ||
+ | |||
+ | }</pre> | ||
+ | <br/> | ||
+ | 接收端代碼:<br/> | ||
+ | <pre style='color:blue'>#include <SPI.h> | ||
+ | #include <Mirf.h> | ||
+ | #include <nRF24L01.h> | ||
+ | #include <MirfHardwareSpiDriver.h> | ||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | Mirf.spi = &MirfHardwareSpi; | ||
+ | Mirf.init(); | ||
+ | Mirf.setRADDR((byte *)"serv1"); // 本地名 | ||
+ | Mirf.payload = 5; // 長(zhǎng)度 | ||
+ | Mirf.channel = 3; // 信道 | ||
+ | Mirf.config(); | ||
+ | } | ||
+ | void loop() | ||
+ | { | ||
+ | byte data[Mirf.payload]; | ||
+ | if(!Mirf.isSending() && Mirf.dataReady()) | ||
+ | { | ||
+ | Mirf.getData(data); | ||
+ | int i; | ||
+ | String Temp; | ||
+ | for (i = 0; i < Mirf.payload; i++) //把收到的信息拼起來(lái),到一個(gè)串里面 | ||
+ | { | ||
+ | Temp += char(data[i]); | ||
+ | } | ||
+ | Serial.print("Get:"); | ||
+ | Serial.print(Mirf.payload); | ||
+ | Serial.print(" "); | ||
+ | Serial.println(Temp); | ||
+ | Mirf.setTADDR((byte *)"clie1"); | ||
+ | Mirf.send(data); | ||
+ | } | ||
+ | }</pre> | ||
+ | |||
==應(yīng)用例程2== | ==應(yīng)用例程2== | ||
[[文件:hohn10.jpg|500px|有框|居中]] | [[文件:hohn10.jpg|500px|有框|居中]] |
2015年7月2日 (四) 16:49的版本
目錄 |
產(chǎn)品概述
NRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過(guò)程序進(jìn) 行配置。NRF24L01功耗低,在以-6 dBm的功率發(fā)射時(shí),工作電流也只有9 mA;接收時(shí),工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便。
規(guī)格參數(shù)
- 2Mbit/s速率下接收時(shí)的峰值電流12.5mA
- 在2Mbit/s速率下@0dBm輸出時(shí)的峰值電流11mA
- 掉電模式下的功耗400nA
- 待機(jī)模式下的功耗32uA
- 130us 的快速切換和喚醒時(shí)間
- 具有片內(nèi)穩(wěn)壓器oltage regulators
- 可在1.9 to 3.6V低電壓工作
- MultiCeiverMT硬件提供同時(shí)6個(gè)接收機(jī)的功能,2Mbit/s 使得高質(zhì)量的VoIP成為可能
使用方法
引腳說(shuō)明
應(yīng)用例程
1.庫(kù)文件下載
mirf 庫(kù)下載地址
2.連接Arduino和NRF2401模塊
NRF2401 | Arduino |
VCC | 3V3 |
GND | GND |
CSN | D7 |
CE | D8 |
MOSI | D11 |
MISO | D12 |
SCK | D13 |
3.代碼下載
發(fā)送端代碼
#include <SPI.h> #include <Mirf.h> #include <nRF24L01.h> #include <MirfHardwareSpiDriver.h> void setup() { Serial.begin(9600); Mirf.spi = &MirfHardwareSpi; Mirf.init(); Mirf.setRADDR((byte *)"clie1"); Mirf.payload = 5; Mirf.channel = 3; Mirf.config(); } void loop(){ unsigned long time = millis(); Mirf.setTADDR((byte *)"serv1"); // 標(biāo)記對(duì)方的地址 Sends("hello"); //發(fā)送了一個(gè)5字節(jié)的hello delay(1000); } void Sends(char *str) { int lens; lens=strlen(str); char msg[lens]; int i; for (i=0;i<lens;i++) { msg[i]= int(str[i]); } Mirf.send((byte *)&msg); while(Mirf.isSending()){} }
接收端代碼:
#include <SPI.h> #include <Mirf.h> #include <nRF24L01.h> #include <MirfHardwareSpiDriver.h> void setup(){ Serial.begin(9600); Mirf.spi = &MirfHardwareSpi; Mirf.init(); Mirf.setRADDR((byte *)"serv1"); // 本地名 Mirf.payload = 5; // 長(zhǎng)度 Mirf.channel = 3; // 信道 Mirf.config(); } void loop() { byte data[Mirf.payload]; if(!Mirf.isSending() && Mirf.dataReady()) { Mirf.getData(data); int i; String Temp; for (i = 0; i < Mirf.payload; i++) //把收到的信息拼起來(lái),到一個(gè)串里面 { Temp += char(data[i]); } Serial.print("Get:"); Serial.print(Mirf.payload); Serial.print(" "); Serial.println(Temp); Mirf.setTADDR((byte *)"clie1"); Mirf.send(data); } }
應(yīng)用例程2
產(chǎn)品相關(guān)推薦
購(gòu)買地址:NRF24L01無(wú)線數(shù)傳模塊