红外遥控
为什么叫红外遥控?因为控制信号是通过红外线这个媒介传输的
要想实现红外遥控,必须有红外发射二极管(用来发射红外线)和红外接收二极管(用来接收红外线)
红外接收二极管的特性当红外接收二极管接收到红外线时,阻抗就变小(就有电压导通了)
当红外接收二极管没接收到红外线时,阻抗就变大(几乎没有电压导通)
红外接收二极管
根据红外接收二极管的特性(有红外就导通,无红外就截止),可以搭建以下电路,实现用按键来控制
按键没按下
按键按下
可以看出,按键是否按下就改变了该点的电压值
现在将控制端的电路用遥控器来表示,输出端的电压值连接单片机(只要电压值一改变,单片机就控制风扇是否通电)
NEC协议这是一帧完整的红外信号
最开始的信号是38kHZ的高频脉冲信号
起始位是由9ms的高频脉冲和3.5ms的低电平组成,总共13.5ms
注意,在红外技术中,逻辑1和逻辑0,不是所谓的高电平和低电平
逻辑0是由562.5us的高频脉冲(38kHZ)和562.5us的低电平组成,一共发送了21个高频脉冲
逻辑1是由562.5us的高频脉冲(38kHZ)和1687.5us的低电平组成,一共发送了24个高频脉冲
现在,如果知道了设备的地址
在地址码中,就可以表示出来了
为了该地址码的确定性,再取反地址码来保证
紧接着就是数据码(一共可以表示8个状态,所以就可以表示256个状态),为了确保数据的正确性,也要给数据取反,最后再发送562.6us的高频脉冲表示终止信号
重发数据上面说到,结束信号是562.5us的高频脉冲
但现在如果检测到高频脉冲为9ms+2.25ms的低电平+562.5us的高频脉冲,然后一直是低电平,就确实这一帧为重复码(一共为110ms)
现在,有个问题,一帧完整的信号大约有1043个高频脉冲(也就是要在1S中闪烁1043次),如果直接这样拿来用的话,编程是相当麻烦的
为了解决这个问题,就把两脚式的红外二极管替换成三脚式的红外二极管(这种二极管内置转换芯片)
它的功能是没有高频脉冲的时候输出高电平,有脉冲信号的时候输出低电平
这样就可以把1043个高频脉冲转变为34个脉冲(极大减轻了编程工作)
现在一般所见的红外接收二极管都是三脚式的
总结红外遥控是采用NEC协议的
在红外信号逻辑电平是由高频脉冲和低电平按一定规则组成的
三脚式红外接收二极管把接收到的38kHZ高频脉冲转变为低电平,极大减轻了编程工作