变电站主接线图标准图形符号和文字符号
红外线是一种波长比红光还要长的一种电磁波,由于超出了人眼所能观察的范围,所以人眼是看不到的,但是传感器却不一样,它能看的见,波长一般在760nm到400nm之间,我们可以好好利用这一点来做一个红外控制器。
红外遥控器在我们生活中已经算是较为常见了,像电视机、空调、影碟机、甚至连手机都加上了这一功能,据说华为P10也具有红外模块,由于制作成本较低,所以应用会如此广泛。
红外发送接收原理图
左图为红外接收管,由原理图可知红外接收管其中两个引脚接电源,最后一个串联一个电阻和单片机P3.2相连,这并不难理解。
红外接收管
红外发射管稍微复杂一点,红外发送管一端直接连在VCC上,另一端接了一个PNP型三极管,三极管B极串连一个电阻接到单片机P1.5口,这没什么疑惑,至于为什么这样连接,只能说这样连接好控制,当然还有其它连接方式,可以说硬件部分是较简单的。
红外发送管
再来理解一下单片机控制协议,如果搞DIY的话,接触到最多的协议就是NEC协议,至于这种协议有很多种,有部分人会问为什么是这种协议,我只能告诉你,这是规定,如果你有这个能力的话完全可以自己规定一个协议,好了我们还是先来了解下NEC协议规定。
协议规定
1、低位首先发送,一串信息首先发送9ms的AGC(自动增益控制)的高脉冲,接着发送4.5ms的起始低电平,接下来是发送四个字节的地址码和命令码,这四个字节分别为:地址码;地址码反码;命令码;命令码反码,如果你一直按那个按键,一串信息也只能发送一次,一直按着,发送的则是以110ms为周期的重复码,这个协议有一个很突出的特点就是接收到的信号跟发送到的信号正好是反向的。
NEC协议
2、重复码的格式是由9ms的AGC高电平和4.5ms的低电平及一个560us的高电平组成。
3、逻辑1的是由560us的高电平和1.69ms的低电平组成的脉冲表示
逻辑1
4、逻辑0的是由560us的高电平和565us的低电平组成的脉冲表示
逻辑0
了解协议之后我们就是写程序了,程序按照该协议规定一步步去写,首先单片机先判断是否产生下降沿,然后进入外部中断0的中断函数,延时一下之后检测IO口是否还是低电平,是就等待9ms的低电平过去,之后在等待4.5ms高电平过去,接下来接收传送过来的四组数据(先等待560us的低电平过去,再去高电平时间,如果超过1.12ms那么是高电平),然后检测接收到数据和数据反码进行比较,是否等到的数据是一样的。
上述就是程序所要控制的内容,再次说明下,头条文章中不能加入链接分享,所以如果大家喜欢的话,我再单独发布一个视频,把大家想要的资料都会公布,其中有红外接收器,也有红外发送器,其实你认为高大上的遥控器也不是梦,学会了红外控制部分,你就会知道控制家电就是那么简单。
遥控器实物图