使用RF接收器,无需始终从RF发射器进行发射

时间:2017-07-11 17:11:24

标签: arduino wireless

我已经通过将它的DATA引脚连接到我的Arduino的模拟引脚并将其发送到串行监视器来读取此RF Receiver的输入。如果我没有传输任何东西,它会读取一些嘈杂的输入。我已经通过在它和地之间放置一个10K电阻来检查模拟引脚是否引入任何噪声。但是,当我进行传输时,让我们说,一个持续的ON-OFF脉冲序列,延迟为100ms,它就像没有噪声一样读取。如果我仔细观察串行监视器,我会注意到零点都没有受到干扰,它只是简单的零和700(大约)。所以我的结论是,如果RF接收器没有检测到任何东西,它会变得疯狂。我已经读到你应该一直传输一些脉冲序列,即使你不想特别传输任何东西以保持接收器安静,并且它不会弄乱你的重要数据。我的问题是,有没有办法绕过这个? RF发射器侧将由电池供电,我想这个恒定的脉冲序列会很快耗尽它。提前谢谢。

1 个答案:

答案 0 :(得分:1)

这是正常的,接收器输出噪声。

那些非常便宜的RF发射器和接收器在RF板上没有处理协议的芯片(如何调制无线电信号以及如何将数据转换为RF数据)。 Arduino必须做所有事情,时间,协议,数据检测,一切。

可以打开和关闭发射器。这就是为什么它被称为ASK调制(打开和关闭) 接收器具有自动增益并接收所有内容。当没有任何传输时,接收器会增加增益,直到它收到很多噪声。当数字输入与中断一起使用时,每秒可能会产生数千次无用噪声中断。

要使这些工作,您需要一个执行发送和接收的库,包括传输数据的协议。最好的库是VirtualWire / RadioHead。我建议在RH_ASK模式下使用RadioHead。有"问"示例显示如何使用库。

VirtualWire / RadioHead非常适合检测噪声之间的数据包。

如果您不想牺牲Arduino的RF协议,那么您可以购买收发器模块。他们在RF板上有一个芯片,负责发送和接收。

相关问题