电视、空调都离不开红外遥控器。空调遥控器其实就是一个红外信号发射装置,而空调机身具有红外接收探头,可以接收遥控器发出的红外信号并解析,从而实现遥控的功能,电视遥控器也是同样的原理。现在有很多手机具有红外功能,通过匹配通讯协议,就能实现手机遥控电视和空调的作用。下面通过硬件和软件两个方面来和大家分享,红外遥控实现的原理。
本部分内容包括,红外发射部分原理、红外接收部分原理以及软件编码部分原理。
1、红外发射部分电路原理
红外发射功能主要由红外发射管来实现,红外发射管在外观上和透明的LED发光二极管极为相似,其驱动和控制方式也一致。在使用单片机控制发射管时,一般使用三极管来驱动,NPN三极管和PNP三极管都可以实现。如下图所示使用PNP三极管来实现的。
PNP三极管的基极通过电阻接单片机的GPIO口,发射管通过限流电阻接在PNP三极管的发射极上。当单片机的GPIO输出高电平时PNP三极管处于截止状态红外发射管不工作;当GPIO输出低电平时PNP三极管导通发射管工作,发出肉眼不可见的红外线,被接收管接收到。遥控器上的每一个按键都有一定的编码,该编码其实就是遵循一定规则的高低电平的脉冲,接收电路解析该脉冲从而执行对应的操作。
2、红外接收部分电路原理
前文说过,红外发射和红外接收是一对,成对使用。发射管是白色的,接收管是黑色的。可以使用三极管搭建接收电路也可以使用比较器来搭建电路,下面用三极管电路展示红外接收的电路。如下图所示。
在没有接收到红外信号时,接收管不导通,三极管Q1不导通,三极管Q3不导通,单片机接收到持续的高电平;当接收管接收到红外信号时,单片机接收到低电平。当遥控器的按键被按下时,按键对应的编码脉冲就会被单片机所接收到,单片机解析该脉冲,就能知道遥控器上是哪个按键被按下,从而实现用户的操作。但是,黑色的红外接收管抗干扰能力比较低,在设计电路的时候一般不选用,而是选用专用的红外接收头,最常用的型号为HS0038。而且,其红外接收电路简单,抗干扰能力强。
3、红外软件编码解析
前文提到的脉冲编码就是红外发射和红外接收之间的通讯内容,通讯这部分的数据或内容,被称作通讯协议。一般来说,红外通讯都遵循NEC的编码协议规范。NEC的协议规定,工作频率为38KHz,其数据格式由如下几部分构成:引导码、用户码、用户码补码、按键码、按键码补码等。一个完整的按键/数据周期是108ms。NEC编码规定0和1的编码如下:
编码0:0.56ms高电平+0.565ms低电平=1.125ms
编码1:0.56ms高电平+1.685ms低电平=2.245ms,如下图所示。
当遥控器的某一个按键被按下后,发射管就会发出一串包含引导码、用户码、用户码补码、按键码、按键码补码的脉冲出来,脉冲如果要翻译出来的话,就是看0和1的序列,长度为2.245ms的脉冲代表数据1,脉冲长度为1.125的脉冲代表数据0。类似的脉冲数据如下图所示。
接收端的红外专用探头感应该部分脉冲并送入单片机,单片机通过解析脉冲数据,计算出用户的按键信息,再执行相应的命令和逻辑,这样用户就可以在沙发上远程遥控空调和电视了。现在的很多手机上集成了红外发射电路,并带有自学习功能可以根据操作说明让手机去匹配设备的编码协议,协议匹配后就可以通过手机遥控电视、空调等设备了,这时候手机就变成了遥控器。由于通讯部分要处理比较复杂的数据,所以这类电路都是需要单片机支持的。