具有 315 MHz 或 433 MHz EV1527、HS1572、PT2240 等的 ESP32 RMT 外设

55 篇文章 68 订阅 ¥49.90 ¥99.00

今天,我们将使用 ESP32 捕获遥控器的信号,然后将相同的信号发送到我们想要控制的设备。完成本教程后,您将能够通过 ESP32 RMT 外设的帮助,使用 ESP32 433MHz 发射器发送 EV1527 信号来控制您的无线设备,例如遥控车库门、智能插头等。

组件

在开始之前,您将需要以下组件:

  1. ESP32 微控制器:您正在阅读一篇有关 ESP32 的文章,所以您肯定需要这个。如果您可以使用 USB 电缆将任何板连接到计算机来传输程序,则任何板都应该可以工作。在这里查看不同类型的 ESP32 芯片。
  2. 433MHz 发射器和接收器模块:市场上有许多 433MHz 发射器模块,您应该使用最适合您的项目的模块,但如果您不确定选择什么,我们将看看最流行的选项
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ESP32RMT(Remote Control)模块可以用于发射和接收红外遥控信号。其中,NEC是一种广泛使用的红外遥控协议。要设置RMT模块的NEC Tick,可以按照以下步骤进行: 1. 确定RMT通道号。ESP32有8个RMT通道,每个通道都可以独立地设置和使用。假设我们选择通道0来发送NEC信号。 2. 计算NEC的Tick值。NEC协议的一帧数据包含一个9位的地址码和一个8位的命令码,每个码位都由一个连续的38kHz载波信号表示。在NEC协议中,一个码位的持续时间为560us,其中前面的9位码位和后面的8位码位之间有一段1.68ms的间隔。因此,我们可以将一个NEC码位的持续时间设置为560us,将码位之间的间隔时间设置为1.68ms。 3. 设置RMT模块的参数。在ESP-IDF中,可以使用rmt_config_t结构体来设置RMT模块的参数,其中包括通道号、时钟分频、发送缓冲区大小等。例如,我们可以设置RMT通道0的时钟分频为80MHz,发送缓冲区大小为128个码位。 4. 将NEC数据写入RMT发送缓冲区。在ESP-IDF中,可以使用rmt_item32_t结构体来表示一个32位的RMT数据项。对于NEC协议,每个码位需要发送一个高电平和一个低电平,因此我们需要使用两个rmt_item32_t结构体来表示一个码位。例如,我们可以将地址码和命令码依次写入RMT发送缓冲区中。 5. 启动RMT发送。在设置好RMT模块的参数并将NEC数据写入发送缓冲区后,可以使用rmt_write_items函数启动RMT发送。该函数会阻塞当前任务,直到所有数据发送完成。 综上所述,要设置ESP32RMT模块发送NEC信号,需要计算NEC的Tick值并将NEC数据写入RMT发送缓冲区,然后启动RMT发送。具体实现可以参考ESP-IDF官方文档中的RMT示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TD程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值