红外线是一种波长比红光还要长的一种电磁波,由于超出了人眼所能观察的范围,所以人眼是看不到的,但是传感器却不一样,它能看的见,波长一般在760nm到400nm之间,我们可以好好利用这一点来做一个红外控制器。
红外遥控器在我们生活中已经算是较为常见了,像电视机、空调、影碟机、甚至连手机都加上了这一功能,据说国民品牌华为P10也具有红外模块,由于制作成本较低,所以应用会如此广泛。
但是对于学单片机的朋友来说红外功能是必须所要掌握的技能,我们本是电子领域的,所以今天就讲解下红外控制原理,由于代码较长,头条中不允许具有链接分享,所以如果大家喜欢的话,改一天把红外设计资料再单独在视频中分享给大家,要给就都给大家,发送接收都有哦。
先来看下原理图,知道红外控制是怎么一回事。
左图为红外接收管,由原理图可知红外接收管其中两个引脚接电源,最后一个串联一个电阻和单片机P3.2相连,这并不难理解。
红外发射管稍微复杂一点,红外发送管一端直接连在VCC上,另一端接了一个PNP型三极管,三极管B极串连一个电阻接到单片机P1.5口,这没什么疑惑,至于为什么这样连接,只能说这样连接好控制,当然还有其它连接方式,可以说硬件部分是较简单的。
再来理解一下单片机控制协议,如果搞DIY的话,接触到最多的协议就是NEC协议,至于这种协议有很多种,有部分人会问为什么是这种协议,我只能告诉你,这是规定,如果你有这个能力的话完全可以自己规定一个协议,好了我们还是先来了解下NEC协议规定。
协议规定
1、低位首先发送,一串信息首先发送9ms的AGC(自动增益控制)的高脉冲,接着发送4.5ms的起始低电平,接下来是发送四个字节的地址码和命令码,这四个字节分别为:地址码;地址码反码;命令码;命令码反码,如果你一直按那个按键,一串信息也只能发送一次,一直按着,发送的则是以110ms为周期的重复码,这个协议有一个很突出的特点就是接收到的信号跟发送到的信号正好是反向的。
2、重复码的格式是由9ms的AGC高电平和4.5ms的低电平及一个560us的高电平组成。
3、逻辑1的是由560us的高电平和1.69ms的低电平组成的脉冲表示
4、逻辑0的是由560us的高电平和565us的低电平组成的脉冲表示
了解协议之后我们就是写程序了,程序按照该协议规定一步步去写,首先单片机先判断是否产生下降沿,然后进入外部中断0的中断函数,延时一下之后检测IO口是否还是低电平,是就等待9ms的低电平过去,之后在等待4.5ms高电平过去,接下来接收传送过来的四组数据(先等待560us的低电平过去,再去高电平时间,如果超过1.12ms那么是高电平),然后检测接收到数据和数据反码进行比较,是否等到的数据是一样的。
上述就是程序所要控制的内容,再次说明下,头条文章中不能加入链接分享,所以如果大家喜欢的话,我再单独发布一个视频,把大家想要的资料都会公布,其中有红外接收器,也有红外发送器,其实你认为高大上的遥控器也不是梦,学会了红外控制部分,你就会知道控制家电就是那么简单。
审核编辑:汤梓红
-
传感器
+关注
关注
2550文章
51034浏览量
753039 -
单片机
+关注
关注
6035文章
44554浏览量
634578 -
家电
+关注
关注
12文章
1010浏览量
34345 -
红外遥控器
+关注
关注
3文章
133浏览量
21664 -
红外控制
+关注
关注
0文章
25浏览量
11607
原文标题:自做一个红外控制装置,控制家电很简单
文章出处:【微信号:电路一点通,微信公众号:电路一点通】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论