蓝牙智能小车教程:红外遥控器使用

说起遥控器,大家可能最先想到的是电视和空调的遥控器,这些家电的遥控器一般是红外线遥控的,在使用的时候需要对准控制的设备才有能比较灵敏地控制,使用起来不是特别方便。我们今天就来看一下红外遥控器是怎么实现控制的。

蓝牙智能小车教程:红外遥控器使用

红外遥控器和接收头

蓝牙智能小车教程:红外遥控器使用

红外遥控器拆解图

红外遥控原理:

红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。

发射机一般由指令键、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。

接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。

蓝牙智能小车教程:红外遥控器使用

红外编码原理

从红外遥控的原理我们知道要把红外遥控器利用起来,其主要在于将接收到的编码指令信号进行译码,得到的译码再去匹配相应的执行动作。

当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。前16位为用户码和用户反码,后16位为数据码和数据反码,用户码表示遥控器类型,用于区别不同的遥控器。数据码表示按键编码,不同的键对应不同的编码。后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。根据红外编码的格式,发送数据前需要先发送9ms的起始码和4.5ms的结果码。所以红外遥控器发送红外信号时,在低电平处发送38kHz红外信号,高电平处则不发送红外信号。

蓝牙智能小车教程:红外遥控器使用

红外遥控发送流程图(来源电子工程世界)

需要检测电平变化的时间我们想到单片机的外部中断,设置外部中断为低电平触发,进入中断后开始计时,通过比较高电平的脉宽来判断到底是前导码,还是“0”或“1”。设置P3.2口为下降沿触发,然后中断允许,进入主循环。一旦P3.2口有低电平的跳变即进入中断程序。在中断程序中,首先判断是否上升沿。若是,则上升沿标志置1,并记录上升沿时刻;否则,说明是下降沿,再判断上升沿标志是否置1。若是,说明已有上升沿,记录下降沿时刻,并计算脉宽(脉宽=下降沿时刻—上升沿时刻);否则,说明这是干扰信号,直接返回。下一步,判断脉宽的大小。若是起始码,则起始码标志置1,记数值n清0。否则,判断起始码标志是否置1,若是,判断是“0”还是“1”,并保存,n加1,判断n是否大于或等于32,是则将起始码标志和记数值n清0,保存32位数据,返回;否则直接返回。

蓝牙智能小车教程:红外遥控器使用

红外接收流程图(图片来源电子工程世界)

程序设计完成,烧录到小车试试。

蓝牙智能小车教程:红外遥控器使用

能够正常识别按键码

蓝牙智能小车教程:红外遥控器使用

小车整体布局

今天的蓝牙智能小车教程,红外遥控器使用教程就分享到这里,后续会持续更新,下一期我们一起学习通过红外遥控器控制小车运行。想学的同学们赶紧关注我哦!

科技改变生活,关注搞搞单片机,了解更多单片机知识,一起玩转单片机。


分享到:


相關文章: