引腳連接說明
與樹莓派的連線
NRF24L01 => 樹莓派
GND => GND
VCC => 3.3V
CE => GPIO25 即22管腳
CSN => CE0(GPIO8) 即 24管腳
SCK => SCLK(GPIO11)即23管腳
MOSI => MOSI(GPIO10)即19管腳
MISO => MISO(GPIO9)即21管腳
IRQ => GPIO18即12管腳
nRF24L01硬件連接
此模塊是使用SPI方式連接,在標准SPI口基礎增加CE和CSN引腳: nRF24L01 Arduino Leonardo
VCC <-> 3.3V
GND <-> GND
CE <-> D9
CSN <-> D10
MOSI <-> ICSP MOSI
MISO <-> ICSP MISO
SCK <-> ICSP SCK
IRQ <-> 不接
配置說明
樹莓派
將RF24庫復制到樹莓派(或通過git直接獲取),https://github.com/TMRh20/RF24.git。進入RF24目錄后執行如下命令,進行編譯和安裝(選擇SPI方式)
./configure --driver=SPIDEV sudo make install -B
修改/etc/modprobe.d/raspi-blacklist.conf,如果其中存在
blacklist spi-bcm2708,將其注釋。
修改/etc/modules文件,在其中追加一行,開啟SPI。
spidev
reboot重啟樹莓派后,/dev下會新增spidev0.0和spidev0.1兩個設備文件。
修改RF24/example_linux/GettingStarted.cpp文件,
同上面的Arduino一樣,發送端不必修改,
接收端將radioNumber從默認的0修改為1。
在當前目錄下執行make后,生成GettingStarted的二進制文件。
使用sudo ./ GettingStarted執行,並輸入0進入接收模式。
如Arduino的發送端配置、運行正常,則正常發送回應包:
如果上面圖片中的參數為0x00或者0xff,可能連接存在問題。
Arduino
從https://github.com/TMRh20/RF24.git下載RF24后,將其復制到Arduino安裝目錄下的libraries目錄下,啟動ArduinoIDE后,從例子中選擇RF24->GettingStarted。
發送端不必修改,直接編譯上傳即可。
接收端將代碼中的radioNumber從默認的0修改為1。
如上述配置接線正常,可在Serial Monitor中看到發送方和接收方的輸出,大致如下:
可能由於接線問題導致程序無法正確傳輸數據,此時可以采用下面方法測試arduino是否正確連接nrf24l01:
去https://github.com/tmirun/Arduino-nrf24l01-learn 下載測試代碼下載解壓后你可以在里面找到一個叫 rf24_hardware_test 的文件夾, 打開里面的 rf24_hardware_test.ino 文件,
燒到arduino里面。然后打開串口調試窗口,在arduino加載完代碼后 5 秒后會出現類似下面的內容 證明線全部好了, 如果全部出現 0xff 或 0x00請重新查看下鏈接是否正確。*注意 串口要調到 57600否則會出現亂碼。