红外遥控是利用近红外光进行数据传输的一种控制方式,广泛应用在工业控制、家电、照明等多个领域,很多产品在加入了智能控制功能后,依然还会保留红外控制方式。
这次我们就是使用Tuya T2-U开发板开发智能产品的基础上,加入红外接收、发送功能。不仅可以通过APP、语音等方式控制设备,还可以使用红外遥控器控制。
一、红外概况
近红外光波长0.76um~1.5um,红外遥控收发器件波长一般为0.8um ~ 0.94um,具有传输效率高,成本低,电路实现简单,抗干扰强等特点。
红外遥控一般有发射和接收两部分组成,发射元件为红外发射管,接收一般采用一体化红外接收头,但发射载波频率与接收头固定频率需一致才能正确接收。
二、发射
1. 调制
红外遥控是以调制方式发射数据,将数据调制到固定的载波上发送,调制发送抗干扰能力更强,传送距离也更远。
红外发送首先要解决的就是调制问题,目前主流的调制方式有PPM和PWM。
- PPM:脉冲位置调制,调制脉冲宽度不变,用脉冲间隔来区分0和1。如下图所示,脉冲宽度不变都是560us,脉冲间隔改变。逻辑1总时间为2.25ms,逻辑0中时间长度为1.12ms。
图1:PPM调制
- PWM:脉冲宽度调制,脉冲间隔不变,调制脉冲宽度改变。如下图所示,脉冲间隔 为600us,脉冲宽度不同。逻辑1高电平时间为1.2ms,逻辑0高电平时间为0.6ms。
图2:PWM调制
调制载波频率一般在30KHz到60KHz之间,常用的载波有33K,36K,36.6K,38K,40K,56K等,其中38K使用最多。
常用占空比有1/3、1/2,1/3最多。
2. 红外传输协议
常用的红外传输协议有ITT协议、NEC协议、Nokia NRC协议、Sharp协议、Philips RC-5、RC-6 RECS-80协议、Sony SIRC协议等,其中最常见的为NEC协议。
常见NEC协议分析:
- 载波38KHz,逻辑1为2.25ms,脉冲时间560us;逻辑0为1.12ms,脉冲时间560us
图3:NEC逻辑’0’与逻辑’1’
- 协议格式
图4:NEC红外载波发送协议
(1) 首先发送9ms的载波脉冲
(2) 然后发送4.5ms的低电平
(3) 接下来是8bit的地址码(低位在前)
(4) 然后是8bit的地址反码,用于检验地址码是否出错
(5) 接下来的是8bit的命令码(低位在前)
(6) 然后是8bit的命令反码,用于检验命令码是否出错。
- 重复码
图5:NEC重复发送载波协议
如果一直按着一个键,将以110ms为周期发送重复码,重复码由9ms载波、2.25ms低电平及560us载波组成。
图6:NEC重复码
3. 编码
虽然不同协议都对各自的协议格式做了不同定义,但总体而言还是有高低电平组成的一串数据。
对于红外发射,就是按照协议规定高电平时间内,在红外输出口输出固定频率载波;低电平则直接输出低。红外接收头接到载波时输出高电平,没有载波时输出低电平,完成数据解码。
图7:NEC解码后协议
三、接收
红外接收常采用一体化红外接收头,集红外接收、放大、滤波、比较器输出等功能,并输出MCU可识别的TTL信号的。常用的一体化红外接收头有SCR638、HS0038、VS1838等。
SCR638
HS0038
图8:一体化接收头
红外接收应用电路图:
图9:红外接收典型应用
四、T2-U开发板硬件连接
这次使用的是T2-U2开发板配套红外遥控功能板,实现设备红外接收与发送功能。
红外遥控功能板介绍:
https://developer.tuya.com/cn/docs/iot/tuya-sandwich-infrared-remote-control-board?id=K97o1wfxi7v9l
红外遥控功能板
将遥控接收 study
管脚连接到T2开发板GPIO8,连接3.3V电源。
如需要红外发射功能将CRTL管脚连接到T2开发板GPIO7,同时连接5V电源。
五、TuyaOS红外功能介绍
TuyaOS红外接收目前支持NEC码、红外学习时间码(可用于万能红外遥控器)、红外发送功能。
TuyaOS红外接收采用中断+硬件定时器方式,可使用所有支持外部中断的GPIO,无 GPIO 管脚限制,给产品设计带来很大的便利。
红外接收功能
-
支持查询模式和中断模式,可应用与不同的场景;如查询模式目前多用于万能红外遥控器学习状态,中断模式多用于设备红外控制。
-
支持NEC解码,支持
高位之前/低位在前
,引导码最大误差率
,高电平最大误差率
,低电平最大误差率
,重复码最大误差率
设置文章来源:https://www.toymoban.com/news/detail-477600.html -
支持按下、松开通知,在中断模式下,可在回调中通过
s_frame_finish
获取,is_frame_finish
为 1 表示这帧数据接收完成,处于松开状态,为 0 表示这帧数据可能还没有结束还在接收中。文章来源地址https://www.toymoban.com/news/detail-477600.html <
到了这里,关于T2-U开发板实现红外遥控接收与发送的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!