zoukankan      html  css  js  c++  java
  • 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (一) 配置与测试

    引脚连接说明

    与树莓派的连线

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

  • 相关阅读:
    【笔记】模电lesson04 晶体管
    [笔记]模电如何判断和识别二极管的正负极
    [笔记]模电用数字万用表判断三极管管脚
    【笔记】模电lesson06 放大电路分析方法I
    【笔记】模电lesson07 放大电路分析方法II
    【翻译】在Verilog设计中使用参数化模块库(Quartus II)(Verilog)
    【原创】DE2实验练习解答—lab5 Clocks and Timers 【Verilog】【Digital Logic】
    【笔记】模电lesson 02 常用半导体器件
    【翻译】modelsim指南 I 之基本仿真(digital logic)
    【原创】DE2 实验练习解答—lab 2:数字和显示(digital Logic)(DE2)
  • 原文地址:https://www.cnblogs.com/wuchaodzxx/p/8436571.html
Copyright © 2011-2022 走看看