引脚连接说明

与树莓派的连线

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否则会出现乱码。

最新文章

  1. BZOJ 4184: shallot
  2. Prototypes in Javascript 收集.__proto__
  3. Maven使用第三方jar文件的两种方法
  4. 【转】【WPF】WPF 登录窗口关闭时打开主窗口
  5. Struts2 语法--action
  6. 屌爆了的两个在线编辑网站runjs和jsbin
  7. [Google Codejam] Round 1A 2016 - The Last Word
  8. M03 利用Accord 进行机器学习的第一个小例子
  9. ABP官方文档翻译 4.1 应用服务
  10. Java集合类常见的问题
  11. git pull的理解 以及 git conflict的解决
  12. 解决tomcat报错javax.imageio.IIOException: Can&#39;t create output stream!
  13. Saltstack如何修改主机名或者minion id
  14. python基础数据篇
  15. Uniform Generator HDU1014
  16. LeetCode OJ 144. Binary Tree Preorder Traversal
  17. docker 开发常用命令总结
  18. php如何实现统计一个数字在排序数组中出现的次数(代码)
  19. IOS上z-index和fixed定位无效
  20. Python开发环境(3):使用Eclipse+PyDev插件创建Django项目

热门文章

  1. C语言学习记录_2019.02.09
  2. Scala模式匹配常用
  3. 2-7 hash
  4. 17-[JavaScript]- 内置对象 Array,String,Date,Math
  5. cogs 421 [SDOI2009]HH的项链
  6. [JLOI2013]地形生成[组合计数]
  7. vs2015新功能和其他
  8. java多线程系列(二)---对象变量并发访问
  9. Spring学习(十四)----- Spring Auto Scanning Components —— 自动扫描组件
  10. [PLC]ST语言五:STL/RET/CMP/ZCP