nRF24L01 介紹:
nRF24L01是一款工作在 2.4~2.5GHz 世界通用ISM頻段的單片無線收發(fā)器芯片,輸出功率、頻道選擇和協(xié)議的設(shè)置可以通過SPI接口進(jìn)行設(shè)置。有極低的電流消耗,當(dāng)工作在發(fā)射模式下發(fā)射功率為-6dBm時電流消耗為9.0mA,接收模式時為12.3mA。掉電模式和待機(jī)模式下電流消耗更低。
nRF24L01參考數(shù)據(jù):
- 供電電壓:1.9 V~3.6V;
- 最大發(fā)射功率:0 dBm;
- 最大數(shù)據(jù)傳輸率:2000 kbps;
- 發(fā)射模式下電流消耗(0dBm時):11.3 mA;
- 接收模式下電流消耗(2000kbps):12.3 mA;
- 接收模式數(shù)據(jù)傳輸率為1000kbps下的
- 靈敏度:-85 dBm;
- 掉電模式下電流消耗:900 nA。
淘寶上面有兩種nRF24L01模塊,一種是單純的nRF24L01模塊,號稱傳輸距離250m的,幾塊錢就有交易;另外一種是NRF24L01+PA+LNA模塊,包含放大,號稱可以傳輸1000m,價格幾十塊。實(shí)際距離視地形和障礙物而定,是否夠遠(yuǎn)只能通過試用確定。
單純nRF24L01模塊做示例:
此模塊是使用SPI方式連接,在標(biāo)準(zhǔn)SPI口基礎(chǔ)增加CE和CSN引腳:
nRF24L01 Arduino UNO
VCC <-> 3.3V
GND <-> GND
CE <-> D9
CSN <-> D10
MOSI<-> D11
MISO<-> D12
SCK <-> D13
IRQ <-> 不接
還有就是nRF24L01屬于對傳模塊。每塊芯片既是發(fā)射器,也是接收器。所以一般來說,要使用兩塊nRF24L01+兩塊Arduino才能進(jìn)行測試。
實(shí)驗(yàn)1
將Sender機(jī)A0的AD轉(zhuǎn)換值無線發(fā)送到Receiver機(jī),Sender機(jī)(A0端與電源兩端接一個電位器,阻值隨意,一般1k~100k均可)
原理圖如截圖:
代碼:
首先需要安裝Mirf庫,可以在https://playground.arduino.cc/InterfacingWithHardware/Nrf24L01下載或者本文附件下載。
實(shí)驗(yàn)2
將上述的數(shù)據(jù)繪圖表。修改一下輸出格式,然后用現(xiàn)成的串口圖表軟件顯示出來。詳見附件內(nèi)容操作說明文檔。
上位機(jī):
直接用現(xiàn)成軟件比如這個串口獵人。配置如圖。依照圖片順序配置成截圖一樣即可。
附件內(nèi)容截圖: