首页 > 解决方案 > RCSwitch 库似乎不适用于 ESP32 NodeMCU 上的 433 Hz 接收器

问题描述

我对 Arduino 非常陌生,尤其是 ESP32。但是 - 在我收到“使用 Arduino”的提示之前 - 我决定选择 ESP32,因为它的大小和将其连接到 WLAN 的能力。

然而,我正在尝试为我的玻璃容器建造一些控制箱,它应该 - 在第一个设计中 - 通过遥控插座控制各种灯和雨泵。为此,我得到了一个 ESP32 NodeMCU、一个 RTC 时间模块(似乎工作得很好)和一个 433 Hz 接收器/发送器集。

我遵循了几个有关接线的教程并将示例文件上传到 ESP32。无论我将接收器连接到哪个引脚(我需要先连接接收器才能读出插座附带的 433 Hz 控件的信号),我都不会在接收器上接收到任何信号。

我嵌入了库 RCSwitch 并尝试按如下方式配置我的开关(这里以 PIN 13 为例 - 我也尝试了其他几个引脚):

mySwitch.enableReceive(13)

正如我在其他博客中所读到的,可能需要将引脚号转换为其中断地址,因此我尝试了以下方法:

mySwitch.enableReceive(digitalPinToInterrupt(13))

结果总是一样的:串行监视器上的死寂(除了启动消息等)。

我使用了错误的库还是我在这里做错了什么?

我读到应该有一个名为 RFSwitch 的库,但我发现的唯一版本只有 433 Hz 发送器,而不是接收器。

对于有关此问题的任何提示,我将不胜感激-我现在在这里被困了好几个小时...

标签: arduinoarduino-ideesp32

解决方案


我知道这已经很老了,也许你现在已经解决了这个问题,但也许它会帮助其他人。我有同样的问题,帮助我的是设置 pinMode:

pinMode(GPIO_NUM_35, INPUT);
mySwitch.enableReceive(digitalPinToInterrupt(GPIO_NUM_35));

推荐阅读