基于stm32f103红外遥控美的空调

一、红外nec协议

红外遥控的编码目前广泛使用的是:NEC Protocol的PWM(脉冲宽度调制)和Philips RC-5 Protocol的PPM(脉冲位置调制),而美的空调大多采用nec协议的R0d电控功能。

NEC协议的特征:
1、8位地址和8位指令长度;
2、地址和命令两次传输;(确保可靠性)
3、PWM脉冲宽度调制,以发射红外载波的占空比代表“0”和“1”;
4、载波频率为38KHz
5、推荐载波占空比为1/3至1/4
以上资料转载自: nec资料.
6、码位定义如下
在这里插入图片描述

综上所述也就是说:
先产生38khz、1/3占空比的载波如下:
在这里插入图片描述
加上
在这里插入图片描述
等于
在这里插入图片描述
这里是低电平时发送38khz载波,高电平不发送(低电平)。

二、R05d电控

美的采用的时R05d电控协议,与普通的nec协议有些不同,所以不能用网上买的nec红外模块控制,也不能解码。
1、编码规范如下(一般情况):
L,A,A’,B,B’,C,C’, S, L,A,A’,B,B’,C,C’
第一帧与第二帧相同(L,A,A’,B,B’,C,C与L,A,A’,B,B’,C,C’)

L为引导码
S为分隔码
在这里插入图片描述
A为认别码(A=10110010,预留方案时A=10110111)
A’为A的反码(01001101)

B’为B的反码
C’为C的反码
B、C码都是8个位的码,里面储存着风速、模式、温度、关机(关机命令固定 B=0111 1011 , C=1110 0000(无定时信息情况))命令,例如B含义如下:

风速B7 B6 B5(高三位)
自 动1 0 1
低 风1 0 0
中 风0 1 0
高风0 0 1
固定风0 0 0

B的高三位代表风速信息,其他位是定时用的,这里暂且不讲,完整的功能表在文末贴出

2、 实例
拿关机码来说按照编码规范 “ L,A,A’,B,B’,C,C’, S, L,A,A’,B,B’,C,C’ ”
其中A、B、C均是固定值
A:10110010,B=0111 1011,C=1110 0000

L10110010  01001101  01110100  10000100 11100000  00011111 S L10110010  01001101  01110100  10000100 11100000  00011111 

按照上述规则,则发送的信号是这样的
在这里插入图片描述
红条是很密集38khz信号。

三、编程

首先要生成38khz载波,我用的是使用定时器生成pwm波。
至于怎么生成最后的信号,我看过一些文章用的是外部发射电路,而我是直接用单片机延迟和控制pwm波占空比达到目的。
例如要发’1‘信号:
在这里插入图片描述
程序如下:

		 TIM_SetCompare2(TIM3,1895/3); (占空比1/3)
	     delay_us(540);                        (540us高频)
	    TIM_SetCompare2(TIM3,0);   (占空比0,就是低电平)
	     delay_us(1620);                      (1.62低电平)

这样就可以将红外二极管接在io口上,达到发射信号的目的。

四、资源

R05d电控功能说明书
stm32红外遥控美的空调

  • 7
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值