本文主要是介绍[ESP32] 用RMT模块做红外遥控发射,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文采用ESP32内部只带的RMT模块作为发送红外遥控的发射器。
红外协议来自 美的R05D功能说明书: https://wenku.baidu.com/view/c46594141ed9ad51f01df2c3.html
- 通常编码格式为: L,A,A’,B,B’,C,C’, S, L,A,A’,B,B’,C,C’ T
- 第一帧和第二帧相同
- 采用MSB在先,LSB在后;也就是高位先发
- L为引导码;S为分隔码;A为识别码(A=10110010=0xB2,预留方案时A=10110111=0xB7),A’为A的反码;B’为B的反码;C’为C的反码。T为终结码
- 数据B,C的部分含义如下图
开机码: b2 4d bf 40 d0 2f - b2 4d bf 40 d0 2f 【自动风,26度,制冷】
关机码: b2 4d 7b 84 e0 1f -b2 4d 7b 84 e0 1f 【B2位是开关位】
6.引导码 Lead : 4400us 低 + 4400us高
7.分割码 Split : 540us 低 + 5220us 高
8. 发送Bit1 : 540us 低 + 1620us 高
9. 发送Bit0: 540us 低 + 540us 高
10.终结符 Terminator: 540us 低 + 一直高
11.两个控制帧信号间最小间隔>5.22ms
这篇关于[ESP32] 用RMT模块做红外遥控发射的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!