自制红外空调遥控器

@自制空调红外遥控器

自制红外空调遥控器

一开始网上看了很所红外的协议NEC,RC-5,RC-6,SIRC。。。。太多了,据说国内用的最多的是NEC的协议。

在这里插入图片描述

这个图见过吧,一查都是这个图,结果一点用也没有。
看看实际的波形图吧:

这是家里格力空调遥控器的开机波形。

先讲一下红外接收头,市面上的有很多种,但总结下就是没信号高电平,有型号低电平,还有就是需要38khz的载波对应。发送头简单理解就是一个LED灯,搞不清楚正负(简单通个电,用手机摄像头照一下发光就对啦!可以先用你家的电视遥控器看看)。

然后就是在网上找了好久,总算找到了几个可以用的。
https://blog.csdn.net/u013247982/article/details/37914581
https://wenku.baidu.com/view/538ee52dbe23482fb4da4cc8.html

都是一个YB0F2的协议为啥位数都不一样呢,只能自己来了。

亲数36位


亲数33位

亲数36位

亲数33位

1、实际测试信号有4段
2、开始信号(9ms信号,4.5ms无信号)
3、第一段:36位
4、等待20ms(为什么我也不知道)
5、第二段:33位
6、等待40ms(这也不要问我,我也是照着发的)
7、再发一个开始信号
8、第三段:36位
9、等待20ms
10、第四段:33位
基本就这样了。

翻一下:
const uint8_t GREE_OPEN_AIR[138] = {
1,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0, //36
0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0, //33
1,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,1,0,0, //36
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,0 //33
};
不过按着协议对了下应该是正确的,就是我这是多一位,不过最后一位好像没什么用,0和1也无所谓。照着发出去就可以了。

ps: 发现STM32的引脚配置为复用推挽输出是,初始为高电平,但是PWM之后,电平为随机的(有概率出现低电平)。先加了外部上啦,还不行,改为空闲的时候PWM配置为0%。
https://download.csdn.net/download/lastliudexi/11391449

你可能感兴趣的:(红外,空调遥控器)