【问题标题】:NRF24L01 and arduino does not communicate correctlyNRF24L01 和 arduino 无法正确通信
【发布时间】:2016-01-22 20:27:29
【问题描述】:

我正在尝试通过 NRF24L01 在 2 个 Atmega328P 之间交换数据。

1) 库和草图 我使用 Tmh20 库 here 。并使用入门草图启动here

我使用代码 bool radioNumber = 0 发送到第一个 arduino; 和第二个 bool radioNumber = 1;

但我什么也没得到(串行控制台上只有 5 个奇怪的字符)。

2) 架构和电子

这是原理图的图片 这是我在面包板上的照片

Also i plug 
CE -> D7
CSN -> D8
SCK -> D13
MOSI ->D11
MISO ->D12

我在 NRF24L01 的 GND 和 VCC 之间添加了一个 10 微法拉电容。

我的电压供应来自一个发电机(两个 arduino 和 2 NRF24L01 的电流消耗为 0.6 A)。电源提供 5 V 电压,我使用 LM3940 导出 3.3 V 电压,使用此处数据表中的第一个模式(简化)

3) 症状

除了 5 个奇怪的字符外,串行控制台上什么也没有出现。我看不到 NRF24 模块上的任何活动灯。

如果有人知道我可以调试那个东西吗?

一切顺利

文森特

【问题讨论】:

    标签: networking arduino arduino-uno


    【解决方案1】:

    如果您在代码的设置部分中没有看到任何内容:

    Serial.begin(115200);
    Serial.println(F("RF24/examples/GettingStarted"));
    Serial.println(F("*** PRESS 'T' to begin transmitting to the other node"));
    

    它可能与 NRF 通信本身以外的其他事物有关。您是否记得将串行监视器中的波特率设置为 115200 波特? 波特率不匹配是串行监视器中显示奇怪字符的常见原因。

    最好的问候, 比约恩·埃里克

    【讨论】:

    • 谢谢!它帮助我处理奇怪的角色,所以现在我有另一个问题,我使用link 进行测试,但我收到很多“发送失败”然后它工作了一段时间(但循环时间真的很长半秒钟然后它会疯狂到 10 秒。然后停止工作它看起来完全随机
    • 我之前遇到过很多类似的问题,因为公共库在每次传输后都会关闭收发器……一个叫 Freg Copeland 的人分叉了 RF24 库并修复了 PowerDown 问题。之后,我的代码至少在我的设备上运行稳定。这里是分叉的 RF24 库的链接:github.com/gcopeland/RF24。 -BE
    • 谢谢,我想那是因为我得到了更好的结果,但是我仍然有奇怪的行为。我使用 pingpair 示例并且延迟随着时间的推移而增加(参见图片here跨度>
    猜你喜欢
    • 2020-07-08
    • 2016-04-14
    • 2022-10-16
    • 2022-11-17
    • 1970-01-01
    • 2016-07-16
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多