用单片机制作遥控灯的方法还是比较多的,可以用无线电遥控灯、可以用蓝牙技术控制灯、还可以用无线发射模块nRF24L01实现无线射频遥控遥控灯。当然我们根据题目的要求也可以用红外发射与接受来遥控灯。其实这种红外遥控方式在家电中用的也很多,比如空调的遥控、电视机的遥控、风扇的遥控都采用的是红外遥控方式。用红外遥控需要发射装置和接收装置,那么通常所用个器件就是红外发射管和红外接受管,下图中的黑色类似二极管的就是接受管、透明状的类似二极管的就是发射管。

用单片机制作遥控灯的方法

下面我就针对红外遥控电路硬件和软件通信方面的问题与朋友们讨论一番,希望能给朋友们带来参考作用。

红外遥控硬件电路的设计

红外遥控硬件电路的设计主要包括发射部分和接收部分,下面我把自己曾经做的一个红外遥控小车红外收发电路图发给大家参考一下

红外发射电路部分

红外发射部分的工作过程是这样的,当用调制好的信号给发射控制输出高电平时,S9012PNP三极管 Q1 不导通处于截止状态,红外发射管 L1 不会发射红外信号;当用调制好的信号发射控制输出低电平的时候,那么通过S9012PNP三极管 Q1饱和导通 L1 就会发出红外光。

用单片机制作遥控灯的方法

另外还有一个方法就是可以用发射硬件电路的成品,我们只要编写接收解码程序就可以了,可以大大加快我们的工作进程,如果是想通过制作练手的话,我建议最好自己制作一个红外发射模块。下面就是一个红外发射控制器,其编码电路、调制电路,发射电路都集成在控制器里了,使用相对来说比较方便。

用单片机制作遥控灯的方法

红外接收电路部分

红外接收电路我们可以用分立元器件制作,在下图中我们用一个电位器R4,也就是“传说”中的滑动变阻器。我们通过调整这个电位器给集成比较器LM393 的 第2 脚一个阈值电压,当然这个电压值大小我们是可以根据实际情况来调整的。而红外接收二极管 L2 收到红外光的时候,会产生电流,并且随着红外光的从弱变强,电流会从小变大。当没有红外光或者说红外光很弱的时候,3 脚的电压就会接近电源电压 VCC,如果 3 脚比 2脚的电压高的话,通过 LM393 比较器后,接收检测引脚输出一个高电平。当随着光强变大,电流变大,3 脚的电压值等于 VCC-I*R 3 ,电压就会越来越小,当小到一定程度,比 2脚的电压还小的时候,接收检测引脚就会变为低电平。接收到的这个信号送到单片机,经程解码来控制输出端的负载,从而达到控制例如灯的负载了。

用单片机制作遥控灯的方法

当然对于接收电路也是有相应模块的,例如下图就是一款集成的红外接收头它的名称叫HS0038,它是一款红外接收探头,接收红外信号频率为38kHz,周期约26μs。一体化的红外接收装置将遥控信号的接收、放大、检波、整形作为一个整体集成在接收头里,并且能够输出可以让单片机识别的晶体管的逻辑(TTL) 信号,这样大大简化了接收电路的复杂程度和电路的设计工作量,对我们使用非常方便。

用单片机制作遥控灯的方法

其成集成模块的品电路也是可以用的,还是那句话为了能够达到高我们动手操作的能力,我还是建议朋友们自己焊接红外接收电路。

用单片机制作遥控灯的方法

通过软件实现红外解码

要想实现对红外的必须要进行解码,其解码的过程就是通过软件来实现的。要想编写出解码软件,就要对红外通信协议有一定的了解。通信协议有很多种,比如有NEC 协议、Philips RC-5 协议、Sony SIRC 协议等,在这些通信协议中我们常用的还是NEC协议,许多家电的遥控都是使用的这种协议。NEC 协议的数据格式主要包括了引导码、用户码、用户码反码、按键键码和键码反码,最后一个停止位,我们程序的作用就是把这个数据给它解调出来。

软件程序主要是用来检测红外通信的,它的任务时这样的:当单片机检测到发生外部中断后,进入外部中断,通过单片机内部定时器定时,软件首先要对引导码进行判断,而后对数据码的每个位逐位获取高低电平的时间,从而得知每一位是 0 还是 1,最终把数据码解出来。至于“0”与“1”的判定,协议规定“0”就是560us 的载波+560us 的空闲。“1”就是560us 的载波+1.68ms 的空闲。

无线电遥控电灯

其实我们还可以用无线遥控灯,我曾经就用了两片PT2262集成编码芯片,PT2272集成解码芯片来完成对四路电灯的控制,其效果还是比较理想的。

用单片机制作遥控灯的方法

这种控制不需要通信协议,也不需要软件进行解码编程。通过这种专用的集成编码芯片和集成解码芯片只需要 纯硬件就可以实现无线控制,当然如果想练习编程也可以与单片机综合进行运用。

用单片机制作遥控灯的方法

用单片机和这两款芯片其实现的思路是这样的:首先我们用发射模块给无线接收模块发射数据,无线接收模块收到的数据然后传给单片机(MCU),经过单片机(MCU)内部软件的分析与判断输出数据,进而控制电灯的亮和灭。这种方法用我们编写程序相对简单,不需要所谓的通信协议。

用单片机制作遥控灯的方法

我们用的这种发射模块外形小巧美观,装在口袋里就都可以,所以携带很方便的。我们通过与单片机结合运用可以控制多路灯,还可以实现场景的控制效果非常好!