目前在学单片机,已经学会做流水灯了,怎么做红外遥控灯?已经会用单片机实现流水灯的功能,说明对单片机有了初步的入门知识,会配置单片机的GPIO口输出了,建议再学习以下单片机的GPIO的输入,比如按键输入 。因为红外遥控会使用到GPIO输出和GPIO输入,还用会要定时器甚至中断 。下面从硬件设计和程序设计介绍一下红外遥控的设计 。1.红外发射电路的设计红外遥控涉及到一发一收,即一个红外发射管和一个红外接收管配合使用 。红外发射管一般是透明的,跟发光二极管LED驱动方法一致 。如下图所示,是设计的红外发射电路 。单片机输出高电平时三极管导通,发射管工作发出红外光,这里也可以用按键来控制 。2.红外接收电路的设计红外接收管用来接收发射管所发出的红外光,红外接收管可以用普通的接收管,也可以使用专用的红外接收头,如VS1838系列接收头,下图是使用1838接收头实现的红外电路 。当接收到红外光后,1838输出低电平 。如果你是通过单片机开发板来学习的,那么板子上应该带有红外接收头,并且配有红外遥控器,尽可能的利用手边的资源 。3.简单红外遥控的实现硬件电路设计好之后,就要设计程序了 。你可以使用红外遥控控制板子上LED灯的亮灭、流水灯的花样变换、继电器的工作灯 。这种简单的指令只需要检测红外输出的电平就可以 。如果单片机检测到低电平,说明有人按了红外遥控器,把继电器打开即可,不需要走协议 。4.红外数据通信的实现如果用通过红外来传输数据的话,就需要遵循一定的协议了 。目前常用的红外通讯协议是NEC的协议,如下图规定了逻辑0和逻辑1的脉冲宽度 。逻辑0的时间为1.12ms,脉冲宽度为560us;逻辑1的时间为2.25ms,脉宽为560us,除此之外一帧完整的数据应该包括:引导码、8位的客户码、8位客户码的补码、8位的按键值、8位按键值的补码等 。在编写程序时可能用到单片机的定时器资源、中断资源、捕捉等 。所以NEC协议的实现,对初学者来说还是比较复杂的 。建议先从简单的遥控命令入手 。以上就是这个问题的回答,感谢留言、评论、转发 。更多精彩内容请关注本头条号:玩转嵌入式 。感谢大家 。rr红外遥控是一种无线的控制技术学会了用单片机做流水灯,说明已经对单片机有一定的了解,已经可以编写出简单的程序,做红外遥控灯并不是难事 。红外遥控抗干扰能力强,信息传输可靠,功耗低,成本低,广泛应用于家电产品的遥控上 。红外控制使用非可见光作为信息传输的载体 。红外遥控不能像无线遥控一样穿过障碍物 。要实现红外遥控,只需要设计红外发射电路,红外接收电路,再加上通讯协议就可以了 。红外发射电路红外发射电路非常简单,只需要用三极管驱动红外发射管发出红外光信号就可以了,跟驱动LED一样,当GPIO为高电平时,NPN三极管Q1导通,红外发射管工作,发出红外光 。当然,你要设计一个遥控器,不同的按键按下时,GPIO需要发出不同的遥控指令,不同的波形信息代表不同的按键信息,这就是我们所说的通讯协议了 。如果你只需要做一个简单的遥控试验,可以只直接用高低电平来处理 。红外接收电路在红外接收端,我们可以使用一体红外接收头,这种一体的接收头内置了红外接收管,信号放大,带通滤波器功能,使用起来非常方便 。如果用单纯的红外接收管,还要自己增加信号放大电路 。这种一体红外接收头有三个引脚,一个是VCC,一个是GND,另一个是OUT引脚 。OUT引脚直接与单片机的GPIO连接就可以了,最好是加上一个上拉电阻 。红外遥控通讯协议红外发射和红外接收的硬件电路搭建完了就要靠通讯协议来完成遥控通讯功能了 。目前用得最多的红外遥控的编码有 PWM(脉冲宽度调制)的NEC协议和PhilipsPPM(脉冲位置调制)的RC-5协议 。以NEC协议为例,它有以下特征:8位地址和8位指令长度;地址和命令2次传输(确保可靠性);PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;载波频率为38Khz;5、位时间为1.125ms或2.25ms;利用单片机的输入捕捉功能来测量高电平的脉宽来解码遥控信号就可以了 。对于初学者来说,这些红外通讯协议可能过于复杂了,可以考虑增加红外编码和解码的芯片来进行处理 。比如用PT2262作为编码芯片,控制红外发射电路和;用PT2272作为解码芯片,处理接收到的信号 。还可以自己定义一些简单的协议来做这个红外遥控灯,比如收到一个50ms的低电平信号就认为是开灯,收到一个100ms低电平信号就认为是关灯 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: