tag 标签: 红外遥控器

相关博文
  • 热度 5
    2018-7-10 00:06
    3367 次阅读|
    4 个评论
    手机红外空调遥控器DIY制作
    手机红外空调遥控器 DIY 制作 DIY& 分享— GravityShare 炎炎夏日 ,当你回到家或者办公室的时候想开空调却一时找不到遥控器的时候是一件很烦躁的事情。在现在这个手机不离身的时代里,能不能用手机作为遥控器来开空调呢?答案当然是肯定的,有些智能手机本身就会标配有红外发射器,那么只需要下载相应的空调遥控 APP 就能直接使用了。可是问题来了,在我们手机本身没有红外发射器的情况下,怎么办呢? 那就自己来做一个手机外置的红外发射器吧。 有了这个外接的红外发射器,结合相应的 APP 不仅能控制空调,还可以控制电视机,机顶盒子等红外控制的设备。 那么如何自己做一个手机 红外发射器 呢? P01 红外发射器 参考下面 视频 你也可以做一个手机 红外发射器: (视频中使用的是“遥控精灵” APP 进行演示操作) DIY制作视频全过程 V01 制作过程 图文部分↓ 一、制作准备 1 、效果图 红外发射器最终的效果就是手机耳机音频插头的大小,没有多余的线和元器件,简洁而不简单, P02 发射器成品图 2 、材料准备 1 、 3.5mm 音频插头 1 个 2 、红外发射管 1 个 3 、就这些了。 P03 DIY 主角 二、设计原理 1 、原理 其实这个手机外接的红外发射器硬件原理很简单,而且元件很少,只需要 1 个 3.5mm 的耳机插头和 1 和红外发射二极管就可以了。其他的控制时序等都由手机 APP 来完成。手机 APP 只需要免费下载“遥控精灵”之类的相关遥控软件匹配对应的空调型号之后就可以直接使用了。 从下面的原理图就可以看到,只需要将红外二极管的两个引脚分别连接到音频插头的左声道和右声道,音频插头的接地端悬空就可以了,如果测试的时候没有效果,可以尝试调转过来即可。原理图中是用 3 段式的音频接口作示意,如果是 4 段的接口,多出来的一段是耳麦段,直接悬空即可,原理也是一样的。 P4 原理图示 三、 DIY 过程分享 这次准备的 3.5mm 音频接口是金属外壳的,红外发射管是普通的红外管就可以了: P05 插头与红外管 将红外发射管按照上面的原理图示焊接到音频插头的左、右声道端: P06 焊接 导线对应的地方使用胶带作绝缘处理,防止短路: P07 绝缘处理 焊接完成后,盖好插头的帽子,就可以进行测试了: P08 制作完成 制作完成之后,可以下载对应 APP 进行匹配测试了。测试通过就可以享受你的制作成果啦。 测试:制作完成下载好 APP 之后,将遥控器查到手机音频接口,由于人体的肉眼无法看到红外线,这时可以使用另一台手机打开摄像头功能,在按下 APP 按键的同时,查看红外二极管是否有发光发亮的效果,如果有,证明硬件连接没有问题;如果没有,重新检查焊接是否正常之后重复测试。 技巧:在使用过程中将手机音量调到最大,可以增加红外发射功率,同时增加使用距离。 四、成品欣赏 遥控器放在小鸟旁边看着很合适呀,有没有像是武器的感觉: P09 小鸟的武器 小鸟:“别看我,当心我会愤怒的” P10 当心小鸟 五、最后有话说 这次的 DIY 的手机红外遥控器经测试空调端效果不错,如果你有兴趣的话可以尝试下载不同的 app 去控制电视机、机顶盒之类的红外设备设备,体验更多的 DIY 乐趣。 END
  • 热度 27
    2013-6-19 19:06
    1175 次阅读|
    0 个评论
       1 引言   红外遥控是目前常用的一种通信和遥控方法,红外遥控装置具有体积小、功耗低、功能强、成本低等特点,因而其广泛应用于各种家电产品、金融和商用设施,以及工业设备中。但是各种产品的遥控并不能互相兼容,本文介绍一种利用单片机设计通用自学习型红外遥控的方法,可以实现对多种产品红外线遥控。本装置采用了最小化模式设计,电路简单,可靠性高,此技术应用于我们开发的多媒体中央控制器产品中,获得了令人满意的效果。该方案可以还可应用于自学习万能遥控器和智能家庭集中控制器等设备。   2 红外遥控原理   一般的红外遥控系统由红外遥控信号发射器、红外遥控信号接收器、微处理器和外围电路构成的。当遥控器的某个按键按下,其内部的信号发射器产生遥控编码脉冲,由红外发射管串行输出,遥控接收模块型号1838 完成对遥控信号的接收、放大、检波、整形、解调出遥控编码脉冲,遥控编码脉冲是一组串行二进制编码,对于一般的红外遥控系统,此串行输入到微控制器,由其内部完成遥控指令解码,并执行相应的遥控功能。   3 一般红外遥控信号编码脉冲的波形   红外遥控器发射的遥控编码脉冲,由前导码、系统码、功能码、功能码的反码组成如图1 所示   前导码是一个遥控码的起始部分,由一个高电平和一个低电平组成。作为接受数据的准备脉冲,这些编码是经38 kHz 的载波脉宽调制后发射出去。   通过分析大量不同类型的红外遥控码波形,遥控码的数据帧间歇宽度均为10ms以上,前导码的高电平均为5ms以上,通常为9ms左右,编码位在10us和5ms之间,在本设计中只考虑遥控器发射信号的高低电平宽度,不考虑其编码方式,以简化设计。   4 系统硬件电路的设计 图2 单键通用学习型遥控器原理图   考虑到有的遥控器的编码比较长,需要比较多的内部RAM,单片机采用了 AT89C52 P2.5 口接学习按键,P2.7口接发射按键,P1.7 口用于作为遥控码的输出口,输出38 kHz 的遥控码,INT0口用于红外线接收头的输出信号的输入。   5 系统主要程序的设计   5.1 主程序如图3   上电复位后,主程序扫描按键,当确认有按键按下时,若是学习键,则进入学习状态;若是发射键,则将已学习的遥控编码脉冲发射出去。     5.2 遥控编码学习子程序   该程序实现遥控前导码的识别,遥控编码高低电平宽度计时和结束位识别功能,程序流程如图4 所示。   在设计中,采用了计数器对信号高低电平计时的方法来采集数据并保存。前导码由一个9ms左右的高电平和一个低电平组成的,判断是否是前导码的方法是:判断开始的高电平是否大于5ms。如果大于5ms的话,就认为是前导码,并保存前导码的低电平。然后依次保存采集到的编码信号,如果采集到编码信号的高电平大于5ms的话,就认为是编码已经结束,置0 作为标志学习子程序结束。   5.3 遥控编码发射子程序   由软件实现遥控信号的载波合成,用定时中断1产生38kHz的载波信号用,定时中断0控制定时中断1的开关,定时器0定时长短由相应的遥控信号电平宽度计数值确定。如果需发射的遥控信号为高电平时,关定时中断1;如果为低电平,则开定时中断1,输出38kHz载波信号到红外发射控制脚P1.7,从而实现遥控信号的脉宽调制发射。   6 结语   在本设计中,采用了不考虑红外信号的编码方式,只采集其高低电平宽度的方法,使得可采集各种编码方式的信号发射时,不是用硬件,而是采用以软件方式产生载波的方法。节约了硬件设备,并使电路简化。本设计非常简单地实现了红外遥控信号的接收和转发,本设计的装置已用于多媒体中央控制器产品中对多媒体电子产品进行红外控制操作,在实际应用过程中获得了满意的效果,该装置还可应用智能家居产品中对空调电动窗帘灯光音响等电器设备进行控制。
  • 热度 26
    2013-6-19 19:01
    1149 次阅读|
    0 个评论
      TC9012F是一种通用型红外遥控信号发送用CMOS大规模集成电路,适用于电视(TV),磁带录像机(VTR),激光唱机等设备的遥控操作。市场上,以TC9012F为核心的9012型红外遥控器被广泛使用且价格便宜。将设计的基于单片机AT89C51的9012型红外遥控解码器应用于生产即时显示系统中,作为参数设置和系统控制用红外遥控器,在实际应用中收到了良好效果。   1 红外线遥控信号发送器电路 TC9012F的遥控信号   TC9012F为4位专用微控制器,其内部振荡电路的振荡频率fosc典型值为455 kHz。当不按下操作键时,其内部455 kHz的时钟振荡器停止工作,以减少电池消耗。内部分频电路将振荡频率,fosc进行12分频后,变成频率fc=37.9 kHz,占空比为1/3的脉冲载波信号。 红外遥控信号发送器电路由集成电路TC9012F、键盘矩阵电路、驱动器和红外发光二极管组成,遥控信号为37.9 kHz的脉冲载波被遥控编码脉冲调制的已调波,如图1所示。   遥控编码脉冲由引导码、用户码、功能码和功能码的相反码组成,用户码是同一组码发送两次,如图2所示。用户码为8位,所以整个脉冲码为32位。引导码作为接收数据的准备脉冲,他由8TCP(4.5 ms)的高电平和8TCP(4.5 ms)的低电平组成。用户码和功能码采用脉冲位置调制(PPM)方式编码,根据脉冲之间的时间间隔来区分码值的"0"或"1"。对应于二进制数字信号的"0"或"1",脉冲时间间隔分别为2TCP(1.125 ms)和4TCP(2.25 ms),而每一脉冲的宽度仍不变,均为TCP(0.562 6 ms)。由于用户码发送两次,功能码与其相反码一起发送,因此系统的误动作很少。   本遥控器采用第一次发送的遥控信号的编码脉冲(图3所示)和第二、第三次连续发送的遥控信号的编码脉冲(图4所示)不同的工作方式。这样,当按键一直按着的时候,从第二次连续发送开始,只发送引导码和用户码第一位SO的相反码SO,因此可减少接收处理时间和红外发光二极管功耗,遥控编码脉冲经脉冲载波调制后由TC9021F的第脚输出,再经激励器驱动红外发光二极管,发送出波长为940nm的脉冲红外光。假设用户码为十六进制的76H则第一次发送的遥控信号的编码脉冲如图3所示。   由图2和图3可以看出,遥控编码脉冲波形的输出时间为192TCP或224TCP,α为用户码(8位)的输出时间。当α≥26TCP时,遥控编码脉冲波形输出时间为224TCP.另外,对于连续发送的编码脉冲中用户码第一位的相反码的脉冲间隔时间,当SO="1"时,则SO="0",该时间为2TCP,当SO="0"时,则SO="1",该时间为4TCP.   2解码器硬件设计   解码器硬件以AT89C51单片机为核心,如图5所示,图中只给出接收红外遥控信号的部分电路。红外遥控信号经过红外接收模块接收后,解调为遥控信号的编码脉冲由输出端A输出,其波形如图3和图4所示,此信号经过反相器74LS04输出到AT89C51的外部中断INT0输入端.单片机通过运行程序对红外遥控器TC9021所发出的编码脉冲进行接收和译码。       3单片机程序设计   单片机程序主要解决的问题就是如何对接收到的9021型红外遥控器所发射的信号进行解码,编码脉冲信号是由引导码、用户码、和功能码等部分组成,我们只对获取其功能码过程进行分析。在单片机设置中,将单片机AT89C51内部定时器/计数器T0设为定时方式1,定时时间为1 ms;设外部中断INT0为下降沿中断触发方式,由于在接收时将编码脉冲信号进行反相,因此,每当INT0外管脚信号下降沿到来时,外部中断INT0发生中断,启动定时器T0,定时器每次中断定时时间为1 ms并累加到定时计数器中,在下一次外部中断INT0发生中断时读取定时计数器中的时间,通过对两个脉冲之间的定时时间的分析来对遥控器功能码进行解码。图6、图7和图8分别给出解码器主程序、定时器T0中断程序和外部中断INT0中断程序的流程图。   4结 语   生产即时显示系统面向生产现场,对生产效率进行量化管理,目前在发达国家和国内一些外资企业已经得到广泛的应用。他通过即时显示生产中的定额任务量、生产目标以及当前时刻实际完成的生产数量,可以使生产情况一目了然,提高了生产效率。此显示系统一般都安放在生产线上方,工作人员需要经常对显示系统进行操作,设定和修改数据,用红外遥控器对生产即时显示系统进行不接触的参数设定,可以使操作灵活方便,抗干扰强。
  • 热度 17
    2013-3-20 22:23
    3084 次阅读|
    0 个评论
    第三十二章    红外遥控实验         本章,我们将向大家介绍如何通过STM32来解码红外遥控器的信号。ALIENTK战舰STM32开发板标配了红外接收头和一个很小巧的红外遥控器。在本章中,我们将利用STM32的输入捕获功能,解码开发板标配的这个红外遥控器的编码信号,并将解码后的键值TFTLCD模块上显示出来。本章分为如下几个部分: 32.1 红外遥控简介 32.2 硬件设计 32.3 软件设计 32.4 下载验证 32.1 红外遥控简介         红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。 由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。 红外遥控的编码目前广泛使用的是:NEC Protocol 的PWM(脉冲宽度调制)和Philips RC-5 Protocol 的PPM(脉冲位置调制)。ALIENTEK战舰STM32开发板配套的遥控器使用的是NEC协议,其特征如下: 1、8位地址和8位指令长度; 2、地址和命令2次传输(确保可靠性) 3、PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”; 4、载波频率为38Khz; 5、位时间为1.125ms或2.25ms; NEC码的位定义:一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平)。而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑1应该是560us低+1680us高,逻辑0应该是560us低+560us高。 NEC遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码。同步码由一个9ms的低电平和一个4.5ms的高电平组成,地址码、地址反码、控制码、控制反码均是8位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)。 我们遥控器的按键2按下时,从红外接收头端收到的波形如图32.1.1所示:   图32.1.1 按键2所对应的红外波形 从图32.1.1中可以看到,其地址码为0,控制码为168。可以看到在100ms之后,我们还收到了几个脉冲,这是NEC码规定的连发码(由9ms低电平+2.5m高电平+0.56ms低电平+97.94ms高电平组成),如果在一帧数据发送完毕之后,按键仍然没有放开,则发射重复码,即连发码,可以通过统计连发码的次数来标记按键按下的长短/次数。 第十五章我们曾经介绍过利用输入捕获来测量高电平的脉宽,本章解码红外遥控信号,刚好可以利用输入捕获的这个功能来实现遥控解码。关于输入捕获的介绍,请参考第十五章的内容。 32.2 硬件设计 本实验采用定时器的输入捕获功能实现红外解码,本章实验功能简介:开机在LCD上显示一些信息之后,即进入等待红外触发,如过接收到正确的红外信号,则解码,并在LCD上显示键值和所代表的意义,以及按键次数等信息。同样我们也是用LED0来指示程序正在运行。 所要用到的硬件资源如下: 1)  指示灯DS0 2) TFTLCD模块(带触摸屏) 3)  红外接收头 4)  红外遥控器     前两个,在之前的实例已经介绍过了,遥控器属于外部器件,遥控接收头在板子上,与 MCU 的连接原理图如 32.2.1 所示:                     图32.2.1 红外遥控接收头与STM32的连接电路图 红外遥控接收头连接在STM32的PB9(TIM4_CH4)上。硬件上不需要变动,只要程序将TIM4_CH4设计为输入捕获,然后将收到的脉冲信号解码就可以了。    开发板配套的红外遥控器外观如图32.2.2所示: 图32.2.2 红外遥控器 32.3 软件设计 打开上一章的工程,首先在HARDWARE文件夹下新建一个REMOTE的文件夹。然后新建一个remote.c和remote.h的文件保存在REMOTE文件夹下,并将这个文件夹加入头文件包含路径。 打开remote.c文件,输入如下代码: #include "remote.h" #include "delay.h" #include "usart.h" // 红外遥控初始化 // 设置 IO 以及定时器 4 的输入捕获 void Remote_Init(void)                      {                                                                       RCC-APB1ENR|=12;          //TIM4 时钟使能        RCC-APB2ENR|=13;         // 使能 PORTB 时钟        GPIOB-CRH=0XFFFFFF0F;   //PB9 输入           GPIOB-CRH|=0X00000080;      // 上拉输入              GPIOB-ODR|=19;          //PB9 上拉        TIM4-ARR=10000;           // 设定计数器自动重装值 最大 10ms 溢出           TIM4-PSC=71;                 // 预分频器 ,1M 的计数频率 ,1us 加 1.           TIM4-CCMR2|=18;        //CC4S=01      选择输入端 IC4 映射到 TI4 上       TIM4-CCMR2|=312;     //IC4F=0011 配置输入滤波器 8 个定时器时钟周期滤波       TIM4-CCMR2|=010;     //IC4PS=00    配置输入分频 , 不分频        TIM4-CCER|=013;        //CC4P=0       上升沿捕获        TIM4-CCER|=112;        //CC4E=1       允许捕获计数器的值到捕获寄存器中        TIM4-DIER|=14;         // 允许 CC4IE 捕获中断                              TIM4-DIER|=10;         // 允许更新中断                                   TIM4-CR1|=0x01;           // 使能定时器 4       MY_NVIC_Init(1,3,TIM4_IRQChannel,2);// 抢占 1 ,子优先级 3 ,组 2                         } // 遥控器接收状态 // : 收到了引导码标志 // : 得到了一个按键的所有信息 // : 保留        // : 标记上升沿是否已经被捕获                                                             // : 溢出计时器 u8   RmtSta=0;               u16 Dval;                     // 下降沿时计数器的值 u32 RmtRec=0;      // 红外接收到的数据                       u8  RmtCnt=0;     // 按键按下的次数     // 定时器 2 中断服务程序       void TIM4_IRQHandler(void) { //省略代码                         } // 处理红外键盘 // 返回值 : //     0, 没有任何按键按下 // 其他 , 按下的按键键值 . u8 Remote_Scan(void) {                u8 sta=0;           u8 t1,t2;          if(RmtSta(16))// 得到一个按键的所有信息了        {            t1=RmtRec24;                  // 得到地址码            t2=(RmtRec16)0xff;      // 得到地址反码           if((t1==(u8)~t2)t1==REMOTE_ID)// 检验遥控识别码 (ID) 及地址            {                t1=RmtRec8;                t2=RmtRec;                   if(t1==(u8)~t2)sta=t1;// 键值正确               }                  if((sta==0)||((RmtSta0X80)==0))// 按键数据错误 / 遥控已经没有按下了               {                     RmtSta=~(16);// 清除接收到有效按键标识                      RmtCnt=0;            // 清除按键次数计数器               }        }       return sta; } 该部分代码包含3个函数,首先是Remote_Init函数,该函数用于初始化IO口,并配置TIM4_CH4为输入捕获,并设置其相关参数。TIM4_IRQHandler函数是TIM4的中断服务函数,在该函数里面,实现对红外信号的高电平脉冲的捕获,同时根据我们之前简介的协议内容来解码 ,该函数用到几个全局变量,用于辅助解码,并存储解码结果。最后是Remote_Scan函数,该函用来扫描解码结果,相当于我们的按键扫描,输入捕获解码的红外数据,通过该函数传送给其他程序。 保存remote.c,然后把该文件加入HARDWARE组下。接下来打开remote.h在该文件里面加入如下代码: //省略代码  这里的REMOTE_ID就是我们开发板配套的遥控器的识别码,对于其他遥控器可能不一样,只要修改这个为你所使用的遥控器的一致就可以了。其他是一些函数的声明,我们保存此部分代码,然后在test.c里面修改主函数如下: int main(void) {                     //省略部分代码 } 至此,我们的软件设计部分就结束了。 32.4 下载验证 在代码编译成功之后,我们通过下载代码到ALIENTEK战舰STM32开发板上,可以看到LCD显示如图32.4.1所示的内容: 图32.4.1 程序运行效果图 此时我们通过遥控器按下不同的按键,则可以看到LCD上显示了不同按键的键值以及按键次数和对应的遥控器上的符号。如图32.4.2所示: 图32.4.2 解码成功
相关资源
  • 所需E币: 4
    时间: 2020-1-2 02:26
    大小: 228.75KB
    上传者: 2iot
    数码管型红外遥控器检测仪.pdfD06A/D004数码管型红外线遥控测码器使用说明书产品尺寸(不包括突出部分):(长)152MMX(宽)43MMX(深)120MM广州华远电子设计有限公司2005-2009简介:D06A/D004数码管型红外线遥控器检测仪,是针对红外线遥控器生产厂家,量产时需要批量自动化测试的要求而设计的升级换代产品。特别是:该检测仪可以录入一只完整的遥控器,自动判断一只遥控器的好坏;(不同以前的测试仪只能判别一只按键的好坏;测试人员需要逐个核对键码的对错。)并以数码管显式和声音提示测试人员,极大的提高了遥控器品质控制能力。彻底避免测试人员在测试过程中人为的疏忽,并且可以大大提高遥控器的测试速度。D06A/D004数码管型红外线遥控器检测仪,适用于目前最常用的20种红外遥控器的编码格式。检测仪全自动识别编码格式,不必要预选操作。操作极其简单。性能特点:采用高可靠性、高速高精度解码的美国PIC单片机。8位高亮数码管显示,BEEP声提示。适用广泛,全自动快速识别常用的20种红外遥控器的编码格式,如下表(可解编码类型)。所有数据都保存在EEPROM中,每次掉电开机无须从新设置!针对遥控器量产的记忆比对测试功能,能确保避免遥控器按键的漏测。测试仪便于随身携带,独立使用,使用简便,广泛应用于生产线上遥控器测试。产品采用高可靠性的SMD双面工艺生产,独立外置直流低压电源适配器,ABS塑料外壳。产品尺寸(不包括突出部分):(长)152MMX(宽)43MMX(深)120MM。应用:该读码器适用于研发机构、家电厂家、遥控器厂家、生产线、质检、维修等。可解编码类型(代码……