红外遥控器信号的接收和转发


  摘要:介绍用51系列单片机采集家用电器红外遥控器信号,并将其转发原理。文中给出红外接收芯片的外围电路和测量接收波形的程序。

    关键词:红外遥控 单片机系统 转发

红 外遥控在家电产品中有广泛应用,但各产生的遥控器不能相互兼容。目前市场上常见的万能遥控器只能对某几种产品进行控制,不是真正的“万能”,而且不能对新 上市的产品进行控制。本文介绍一种用单片机对红外遥控器信号接收和转发的方法,由于只关心发射信号波形中的高低电平的宽度,不管其如何编码,因此可以用来 实现自学习万能遥控器。

一、红外信号的接收和波形测量

所有红外遥控器的输出都是用编码后串行数据对38~40kHz的方波进行脉冲幅度调制而产生的。如果直接对已调波进行测量,由于单片机的指令周期是微秒(μs)级,而已调波的脉宽只有20多μs,会产生很大的误差。因此先要对已调波进行解调,对解调后的波形进行测量。

    红外遥控接收芯片CX20106可以完成对遥控信号的前置放大、限幅放大、带通滤波、峰值检波和波形整形,只需加上简单的外围电路即可完成对已调波的解调,原理如图1所示。

将CX20106 解调出的遥控编码脉冲直接连入8751单片机的INT0和T0脚,定时器T)和T1都初始化为定时器工作方式1,T0的GATE位置位。每次外部中断首先 停止定时,记录T0、T1的计数值,然后将T0、T1的计数值清零,并重新启动定时。T0的值即为高电平脉宽,T1-T0的值为低电平脉宽,如图2所示。

测量波形的外部中断服务程序的流程如图3所示。

测量波形的外部中断服务程序如下:

interup0:clr tr0

clr tr1

push psw

push acc

inc test

jb first,RE

mov a,tl0

mov temp1,a

mov a,th0

mov temp2,a

mov a,tl1

clr c

subb a,temp1

movx @dptr,a

inc dptr

mov a,th1

subb a,temp2

movx @dptr,a

inc dptr

mov a,temp1

movx @dptr,a

inc dptr

mov a,temp2

movx @dptr,a

inc dptr

RE:clr first

mov tl0,#0

mov th0,#0

mov tl1,#0

mov th1,#0

setb tr0

setb tr1

二、测量数据的转发

只须用的数据周期性地改变P1.0就可以得到原来的遥控编码脉冲,流程如图4所示。

三、产生遥控发射信号

用遥控脉冲信号调制38kHz方波,然后将已调波放大,驱动红外发光二极管,就可以得到遥发射信号。调制可用一个或门实现,38kHz方波可用8751的定时器T1产生,如图5所示。

有些遥控器的载频可能是40kHz,只须稍微加大发射功率仍然可用38kHz载频使其接收电路动作。

四、应用领域

只 须加上键盘和液晶或数码显示电路,并扩展一定数量的RAM,就可以用此方法实现自学习万能遥控器。笔者已对目前市面上的彩电、影蝶机、录像机、投影仪、空 调器等产品的常见品牌进行过实验,均实现了准确的接收和转发。此外,只要在图5所示电路前加一级编码模块(可用软件实现)作为发射单元;图1所示电路加上 波形测量软件作接收单元,再加上相应的解码控制软件就可组成一个通用红外收发控制系统或数据传输系统,不需要再增加额外的硬件。


 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Arduino红外接收解码转发一体是一种功能强大的设备,它可以接收红外信号并解码,然后将解码后的信号转发到其他设备。 首先,Arduino红外接收模块可以接收红外线传输的信号。它能够感应到红外线的发射发出的信号,并将其接收到。 其次,这个模块还具有解码功能。它可以解码接收到的红外信号,将其转换成数字或其他可识别的格式。这个功能对于控制其它设备非常有用,例如控制电视机、空调等。 最后,Arduino红外接收解码转发一体还可以将解码后的信号转发到其他设备。它可以通过输出接口将解码后的信号传递给其他设备,进而实现远程控制或信息传递的功能。 总结来说,Arduino红外接收解码转发一体设备是一种可编程的电子模块,具备接收红外信号、解码信号转发信号的功能。它可以用于很多领域,例如智能家居、遥控、无线通信等。这种设备的使用极大地提升了红外控制的便捷性和可扩展性。 ### 回答2: Arduino 红外接收解码转发一体是指通过使用Arduino开发板和红外接收头模块实现对红外信号接收、解码和转发功能的集成设计。 首先, 需要连接红外接收头模块到Arduino的数字IO引脚上。接收头模块能够接收来自红外遥控发送的红外信号,将接收到的信号转换为电信号输入到Arduino开发板上。 接着, Arduino通过编程使用红外库来解码接收到的信号红外库通常包含了各种红外编码解码协议,例如NEC、Sony等。根据接收到的信号编码,可以通过红外库提供的函数来解码信号, 获取按下的按钮信息等。 最后, 当信号被解码之后,可以通过编程来控制其他设备的状态转换或执行相应的动作。比如,可以通过Arduino的数字IO引脚来控制LED的开关、驱动电机、改变显示屏等。 整个过程中,Arduino的编程起到了关键的作用。我们需要编写代码来控制红外接收头模块的引脚接收信号,使用红外库来解码信号,并根据解码结果控制其他设备的状态转换。 通过这种方式,我们可以实现红外信号接收、解码和转发功能的一体化设计。这种集成设计可以广泛应用于遥控、家庭自动化、智能家居等领域,为我们的生活带来更多的便利性和智能化。 ### 回答3: Arduino红外接收解码转发一体是指在Arduino开发板上集成了红外接收解码和转发功能的一种设计。通常情况下,利用红外接收模块可以接收并解码来自红外遥控发送的信号,而红外发射模块可以将解码后的信号通过红外光线发送出去。 在Arduino上实现红外接收解码转发一体的过程,首先需要连接红外接收模块和红外发射模块到Arduino开发板上。红外接收模块通过数据线连接到Arduino的数字引脚,而红外发射模块则通过数字引脚连接到Arduino。 接下来,在Arduino的编程环境中,可以使用红外接收库和红外发射库来实现红外接收解码和转发的功能。通过调用相应的函数,可以读取红外遥控发送的信号,同时对信号进行解码。解码后的信号可以通过红外发射模块发送出去,实现转发的功能。 这样的设计可以在很多应用场合中发挥作用。例如,可以将其应用在智能家居系统中,通过红外接收模块接收来自遥控的指令,然后解码并转发到其他设备,如电视、空调等,实现对其的控制。另外,还可以将其应用在自动化系统中,比如利用红外接收模块接收红外传感发送的信号,然后解码并根据不同的信号进行相应的动作。 总之,Arduino红外接收解码转发一体的设计,在实际应用中具有很大的灵活性和可扩展性,可以方便地实现红外信号接收、解码和转发功能,并且可以根据具体的需求进行编程定制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值