15608|30

633

帖子

0

TA的资源

裸片初长成(中级)

楼主
 

红外资料的整理及研究 [复制链接]

有朋友说关注红外,那我就将资料整理下,作为自己的收藏夹,日后用到。

也欢迎大家多多补充。

超强红外技术小制作及例程
https://bbs.eeworld.com.cn/thread-78520-1-1.html

红外线重要资料
https://bbs.eeworld.com.cn/thread-78513-1-1.html

红外基本原理(培训资料)https://bbs.eeworld.com.cn/thread-78511-1-1.html

[ 本帖最后由 clark 于 2009-6-16 13:15 编辑 ]
此帖出自无线连接论坛

最新回复

谢谢楼主,现在正想做这个,只是不太懂:carnation:  详情 回复 发表于 2013-11-16 20:19
点赞 关注
 

回复
举报

633

帖子

0

TA的资源

裸片初长成(中级)

沙发
 

红外遥控解码完全资料(LCD1602显示)

红外遥控解码实验
一.    实验目的
1.    了解红外遥控编码并用单片机捕捉信号及解码
2.    熟悉LCD1602的驱动
二.红外遥控器编码
遥控器编码分好几种,常见的32位编码码和42位编码码,目前我手中遥控器就是42位编码,如图1所示,当有按键时就会产一个9.12ms低电平和4.5ms高电平的起始码,紧接着是26位系统码,此系统码能区别不同的电器设备,防止不同机种遥控码互相干扰,接下来是8位数据码和8位数据反码,间隔23ms的高电平后,再发一个与启始码完全一样的结束码

                                

以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。

                                            图2
再回头看图1,大家不难看出,图1是遥控器按键1的一串编码

三.    硬件连接
接收电咱我们使用一化红外接红外接收管1838,不需要任何外接无件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,实物如图所示



电路图如下:


四.    解码
以上我们了解了红外遥控的编码及硬件连接,现在就对其进行解码,所谓解码就是能用单片机把以不同宽度的脉冲区别开来,一种比较好思路就是计算两次下降沿间隔时间,当单片机外部中断1口有下降沿时中断一次,并启动定时器,定时器定50us,当下次下降沿到来时我们计算定时器中断的次数,这样我们就能很好的区分不同宽度的脉冲了。
大家可能已经迫不急待的要开始解码了,别急,我们先把注意事项先讲一下,实际上,我们红外接收头收到的信号的是有毛刺的,放大后就如下图,所以在下降沿中断触发后,要做延时去抖处理




*************************************以下是完整解码程序********************************


/*********************************************
**项目: 红外遥控解码(EE01学习板演示程序)
**作者:一线工人
**网站:电子工程师之家 www.eehome.cn
**本程序适合42位码遥控器,即26位系统码,16位
数据码,如:57L5,55K2,54B4,KD-29,55K8,5Z26A,
等型号的遥控器,转贴请保持代码的完整性
*********************************************/
#include
#define uint unsigned int
#define uchar unsigned char

sbit ir=P3^3;//红外端口
sbit dm=P1^4;//数码管段码控制位
sbit wm=P1^5;//数码管位码控制位
sbit led_cs=P1^6;//LED控制位
sbit rs=P3^5;//1602数据命令选择端
sbit en=P3^4;//1602使能信号
uchar num;
uchar key_code=0;//遥控键值
uchar new_code=0;//有无新按键
uint  buf_key_code=0;//键值暂存
uchar key_bit_count=0;//键编码脉冲计数
uint count=0;//定时中断次数计数
uint buf_count=0;//定时中断计数暂存
uchar common_code_count=0;//前导码脉冲计数
uchar ir_status=0;//脉冲接收器所处的状态,0:无信号,1:系统码接收区,2:数据编码接收区
uchar code table[]="EE01 DEMO:IR";
uchar code table1[]="code:";
uchar code table2[]={'0','1','2','3','4','5','6','7','8','9',};
void delay_10us(unsigned char y)///延时子程序10us
  {
    unsigned char x;
    for(x=y;x>0;x--);
  }
void delay_ms(uint z)//延时子程序1ms
  {
    uint x,y;
    for(x=z;x>0;x--)
      for(y=113;y>0;y--);
  }

void init(void)/////初始化
  {
  ir=1;                //红外端口写1
  led_cs=0;              //关闭LED
  EA=1;                  //开总中断
  TMOD=0x02;            //定时器0,模式2,8位自动装载模式
  TH0=0Xd1;              //定时50us
  TL0=0Xd1;
  IT1=1;                //INT1下降沿触发
  ET0=1;                //允许定时器中断
  EX1=1;                //允许外部中断
  }

/***********************************************
  定时器中断
***********************************************/
void time0() interrupt 1///定时器中断
{  
    count++;//定时器中断次数累加
}

/**********************************************
  外部中断,红外解码程序
**********************************************/
void int1() interrupt 2///外部中断
{
  
    TR0=1;//开定时器中断
    if(count>12&&count<270)//如果信号合法,则放入buf_count,count清0,对下一个脉冲信号计时
    {
      buf_count=count;
      count=0;
      }
    delay_10us(10);//延时100us以消除下降沿跳变抖动
    if(ir==0)//INT1引脚稳定为低电平,则表法确实是信号,count重新计时,因上面延时了50us,故要补偿1次TO中断
      {
        count=2;
      }
    if(buf_count>12&&buf_count<270)//若收到的信号合法,则再进行信号分析
      {
      if(ir_status==0)//如果之前未收到引导码
        {
        if(buf_count>210&&buf_count<270)//判断是否引导码13.5ms
          {
            ir_status=1;//系统标记
            buf_count=0;//
          }
        }
    else if(ir_status==1)///收到引导码
      {
      
        if(common_code_count>=25)//若收完26个脉冲
            {
              
              ir_status=2;//数据解码标记
              common_code_count=0;//系统码计算清零
              buf_count=0;//中断计数暂存清0
              }
   
          else if((buf_count>40&&buf_count<70)||(buf_count>12&&buf_count<32))
            {
              buf_count=0;
              common_code_count++;//每收到一个信号自加1
            }
      
      }
  
    else if(ir_status==2)//进入数据编码接收
        {
          if(key_bit_count<8)//收到数据少于8位,则将收到的数据写入buf_key_code
          {
            
            if(buf_count>40&&buf_count<70)
            {
            buf_count=0;
            buf_key_code>>=1;
            buf_key_code|=0x80;//收到1
            key_bit_count++;//数据脉冲累加
            }
            else if(buf_count>12&&buf_count<32)//收到0
            {
            buf_count=0;
            buf_key_code>>=1;//收到0
            key_bit_count++;
            }
          }
        
        else //若收完8位数据则做以下处理
        {  
         
            ir_status=0;//接收状态返回到空闲
            key_code=buf_key_code;
            key_bit_count=0;
            buf_key_code=0;
            buf_count=0;
            TR0=0;
            new_code=1;
            
         
          }
      }
    }
}
/**********************************************
1062驱动程序
**********************************************/

void wirte_cmd(uchar cmd)//写命令
{
  rs=0;
  P0=cmd;
  en=1;
  delay_ms(5);
  en=0;
}
void wirte_data(uchar dat)//写数据
{
  rs=1;
  P0=dat;
  en=1;
  delay_ms(5);
  en=0;
}
void wirte_string(const unsigned char *s)//在第二行第5个字开始写字符串
{
  wirte_cmd(0x80+0x40+0x05);
  while(*s)
    {
      wirte_data(*s);
      s++;
      }
  }
void init_1602()///1602初始化
{
  dm=0;
  wm=0;
  led_cs=0;
  wirte_cmd(0x38);
  delay_ms(5);
  wirte_cmd(0x0c);
  delay_ms(5);
  wirte_cmd(0x06);
}
/*************************************
  主程序
*************************************/
void main()
{  
  init();        ///初始化
  init_1602();  //1602初始化
  while(!new_code);//判断是否有新按键,如果有则执行下面程序,没有则一直循环
  wirte_cmd(0x01);//1602清屏
  delay_ms(5);
  wirte_cmd(0x80);//在第一行写入EE01 DEMO:IR
  for(num=0;num<12;num++)
  {
    wirte_data(table[num]);
    delay_ms(1);
    }
  wirte_cmd(0x80+0x40);//在第二行写入code:
  for(num=0;num<5;num++)
    {
    wirte_data(table1[num]);
    delay_ms(1);
    }
  if(key_code<10)//如果按鍵小于10则写入相应的数字
  {
   
    wirte_data(table2[key_code]);
    delay_ms(2);
  }
  else if(key_code<50)//大于10则写入字符,与遥控器对应
  {
   
    switch(key_code)
    {
      case 21:wirte_string("mute");break;
      case 28:wirte_string("power");break;
      case 10:wirte_string("-/--");break;
      case 14:wirte_cmd(0x80+0x40+0x05);wirte_data(0x7f);wirte_data(0x7e);break;//先写字符位置,然后写字符,
      case 25:wirte_string("SLEEP");break;
      case 19:wirte_string("P.P");break;
      case 15:wirte_string("TV/AV");break;
      case 30:wirte_string("VOL-");break;
      case 31:wirte_string("VOL+");break;
      case 27:wirte_string("P+");break;
      case 26:wirte_string("P-");break;
      case 16:wirte_string("MENU");break;
      case 24:wirte_string("A-MODE");break;
      case 13:wirte_string("SYS");break;
      case 12:wirte_string("GAME");break;
      case 20:wirte_string("DISP");break;
      delay_ms(2);
      
    }
    new_code=0;
  
  }
  
  }






本文来自: 电子工程师之家http://www.eehome.cn

[ 本帖最后由 clark 于 2009-6-16 10:53 编辑 ]

红外遥控解码实1.pdf

605.36 KB, 下载次数: 221

此帖出自无线连接论坛
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

板凳
 

红外遥控的一点资料整理

最近发现家里遥控器老是弄混(唉,遥控器多了,也是一件麻烦事)。如果有一种可对家中各种红外遥控器发射的控制信号进行识别、存储和再现的智能型红外遥控器,用这样一个遥控器控制家中所有电器该多好。这就是大家称作的学习型红外遥控器。于是,下了不少工夫查找了许多资料,对红外遥控也做了一点表面研究,现总结一点文档,与大家一同探讨(有不对之处,请大家指正!);另外由于本人愚顿还未开窍,还有部分东西想不太明白,在此也向专家们请教,请知道的老兄支点招,在此小弟先谢过了!!!

一、红外遥控概述

    红外遥控系统一般都是由发射部分和接收部分组成。

    1、发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通Φ5发光二极管相同,只是颜色不同。


    2、接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。

    由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装(如图中的HS0038),均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。

   
    3、红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。

    红外遥控常用的载波频率为38kHz,这是由发射端编码芯片所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。也有一些遥控系统采用36kHz、40kHz、56kHz等。

    红外遥控的特点是不影响周边环境、不干扰其它电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。

    由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。


二、红外遥控编码标准

    目前市面上出现的遥控编码有很多种,但常用的红外遥控编码主要是NEC标准和PHILIPS标准,其它都是这两类的变种。
1、NEC编码标准:编码芯片有PT2221/PT2222、HT6221/HT6222等

此标准下的发射端所发射的一帧码含有一个引导码、8位用户码、8位用户反码,8位键数据码、8位键数据反码。引导码由一个9ms的高电平和4.5ms的低电平组成。当按下持续时间超过108ms时,则发送简码(简码由9ms高电平和2.25ms的低电平组成)来告之接收端是某一个按一直按着,象电视的音量和频道切换键都有此功能,简码与简码之间相隔是108ms。“1”和“0”的区分采用脉冲位置调制方式(PPM)。

2、PHILIPS的RC-5编码标准:编码芯片有SAA3010、PT2210/PT2211/PT1215、HT6230等
    RC-5编码标准的一帧有以下几部分组成:
1)起始码部分  2个逻辑1;
2)控制码部分,1位;
3)系统码部分,5位;
4)指令码部分,6位。
    连续发射时,重复波形与第一次发射波形相同。控制码位在前后再次按键中交替改变。0和1码传送采用双相位编码发送技术。

3、其它变种的编码类型
    像TC9028、PT2212、PT2213等芯片的码型与NEC标准类似,只是引导码变为4.5ms高电平+4.5ms低电平,简码4.5ms高电平+4.5ms低电平+0.56ms高电平+1.68ms低电平+1.56ms高电平组成。
    像PT2461、LC7461等芯片的码型也是与NEC标准类似,数据帧长度变长了,引导码+13位用户码+13位用户反码+8位键数据码+8位键数据反码。简码为9ms高电平+4.5ms低电平+0.56ms高电平组成。

     三、红外信号的学习与再生(学习型遥控器的电路和编程实现)
    目前大多数人采用的方法都是用一体化接收头做为信号的接收,然后把解调出来的信号送入单片机进行学习(记录各个高低电平的时间长度),然后存入EEPROM内,学习OK后再发送的是把EEPROM的高低电平的时间数据读取并与38KHz载波进行调制然后发送出去。

    例如:由AVR系列单片机ATmega8、一体化红外接收头HS0038、存储器、还原调制与红外发光管驱动电路组成。一体化红外接收头负责红外遥控信号的解调,将调制在38kHz上的红外脉冲信号解调并反向后再输入到ATmega8的INT0引脚,边沿触发方式,并由单片机计数器进行高电平与低电平宽度的测量。
这里使用具有I2C总线接口的E2PROM 芯片AT24C32作为存储器,其容量为4KB,用来保存识别出来的遥控信号的高电平与低电平宽度数据。通常遥控信号的二进制脉冲码长为32位,每位由一个高电平与一个低电平组成,应保存的信号宽度数据为64个,再加上引导码2个数据,共计66个数据,每个数据用一个字节来表示,一个遥控信号命令就需要66个字节来保存。考虑到不同的遥控系统有一定的区别,有些遥控信号命令长度较长,所以存储空间应适当留有余量。在实际应用中,可根据红外遥控设备的数量及每个设备的遥控命令数量等具体情况来决定E2PROM 芯片的容量和型号。

    遥控信号的还原和发射是通过单片机的一个IO口输出二进制脉冲码(高电平与低电平的维持时间为学习识别时保存的一组宽度数据)与38KHz载波进行调制,调制后的信号经驱动后通过红外发光管发射出去。
但这样的处理方法,因为一体化红外接收头工作电压一般都要求是5V,在供电能力方便的情况下采用这种方式还是不错的,但如果想象普通遥控器一样只能采用两节干电池供电,那以上方法是没法做到的。

    现在有两点我没想明白:
1、这里接收红外信号是采用红外接收二级管,但这里经三极管放大反向之后送入单片机口线上的信号还是调制在38KHz的波形,也就是说这个波形是没有经过解调的。
我想弄明白的事:单片机是如何对这波形进行解调的吗?或者说这单片机处理程序是并没有进行解调而是直接记录特征数据,然后存入EEPROM,这样又是如何做到的吗?
2、存储于EEPROM的32字节数,是个什么样的特征数据,它能再生重新原样的发射出去。
     能只用32个字节的数据记录一个按键的红外遥控信息,这比之前用66个字节(甚至更多)的方法来得更加简洁,一个4K的EEPROM(AT24C32)能够记录的按键数就多得多了。



 

此帖出自无线连接论坛
 
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

4
 

红外接收头资料(转载)

近红外光(NIR)是介于可见区和中红外区间的电磁波,不同文献中对其波长范围的划分不尽相同,美国试验和材料协会(ASTM)规定为700 nm至2500  nm。NIR常被化分为短波近红外(SW-NIR)和长波近红外(LW-NIR),其波段范围分别为700—1100  nm和1100—2500 nm。
                                
1800年,Herschel  首次发现了NIR光谱区;1900年前后,NIR光谱仪器使用玻璃棱镜和胶片记录器,其光谱范围局限于700 nm—1600  nm。50年代的商品NIR光谱仪使用硫化铅光敏电阻作检测器,其波长范围能延伸至3000  nm,能用于定量分析,但,由于NIR消光系数低和谱带宽而解析困难,该技术并没有获得广泛应用。60年代,Karl Norris使用漫反射技术对麦子水分、蛋白和脂肪含量进行研究,发现NIR光谱用于常规分析的实用价值。随计算机发展和化学计量学(Chemometrics)诞生,NIR和化学计量学结合产生了现代NIR光谱学。NIR最先应用于农业领域。80年代,光谱仪器制作和计算机技术水平有了大的提高,NIR被广泛应用于在工业和其它领域。近几届匹司堡分析仪器会议上,NIR已成为红外光谱分析报道的热点。NIR在线分析应用给石化工业带来了巨大经济效益,更是引人注目。

        根据红外辐射在地球大气层中的传输特性,通常分为近红外(0.75μm到3μm)、中红外(3μm到30μm)、远红外(30μm到1000μm)。  主要区别是波长不同,应用领域不同。  

                                 
          红外吸收光谱法是定性鉴定化合物及其结构的重要方法之一,在生物学、化学和环境科学等研究领域发挥着重要作用。无论样品是固体、液体和气体,纯物质还是混合物,有机物还是无机物,都可以进行红外分析。红外光谱法广泛应用于高分子材料、矿物、食品、环境、纤维、染料、粘合剂、油漆、毒物、药物等诸多方面,在未知化合物剖析方面具有独到之处。(NIR)分析技术是近年来分析化学领域迅猛发展的高新分析技术,越来越引起国内外分析专家的注目,在分析化学领域被誉为分析“巨人”,它的出现可以说带来了又一次分析技术的革命。  近红外区域按ASTM定义是指波长在780~2526nm范围内的电磁波,是人们最早发现的非可见光区域。由于物质在该谱区的倍频和合频吸收信号弱,谱带重叠,解析复杂,受当时的技术水平限制,近红外光谱“沉睡”了近一个半世纪。直到20世纪50年代,随着商品化仪器的出现及Norris等人所做的大量工作,使得近红外光谱技术曾经在农副产品分析中得到广泛应用。到60年代中后期,随着各种新的分析技术的出现,加之经典近红外光谱分析技术暴露出的灵敏度低、抗干扰性差的弱点,使人们淡漠了该技术在分析测试中的应用,从此,近红外光谱进入了一个沉默的时期。80年代后期,随着计算机技术的迅速发展,带动了分析仪器的数字化和化学计量学的发展,通过化学计量学方法在解决光谱信息提取和背景干扰方面取得的良好效果,加之近红外光谱在测样技术上所独有的特点,使人们重新认识了近红外光谱的价值,近红外光谱在各领域中的应用研究陆续展开。进入90年代,近红外光谱在工业领域中的应用全面展开,有关近红外光谱的研究及应用文献几乎呈指数增长,成为发展最快、最引人注目的一门独立的分析技术。由于近红外光在常规光纤中具有良好的传输特性,使近红外光谱在在线分析领域也得到了很好的应用,并取得良好的社会效益和经济效益,从此近红外光谱技术进入一个快速发展的新时期。

                                
        我国对近红外光谱技术的研究及应用起步较晚,除一些专业分析工作人员以外,近红外光谱分析技术还鲜为人知。但1995年以来已受到了多方面的关注,并在仪器的研制、软件开发、基础研究和应用等方面取得了较为可喜的成果。但是目前国内能够提供整套近红外光谱分析技术(近红外光谱分析仪器、化学计量学软件、应用模型)的公司仍是寥寥无几。随着中国加入WTO及经济全球化的浪潮,国外许多大型分析仪器生产商纷纷登陆中国,想在第一时间占领中国的近红外光谱分析仪器市场。由此也可以看出近红外光谱分析技术在分析界炙手可热的发展趋势。在不久的未来,近红外光谱分析技术在分析界必将为更多的人所认识和接受。
                       
           
          现代近红外光谱分析是将光谱测量技术、计算机技术、化学计量学技术与基础测试技术的有机结合。是将近红外光谱所反映的样品基团、组成或物态信息与用标准或认可的参比方法测得的组成或性质数据采用化学计量学技术建立校正模型,然后通过对未知样品光谱的测定和建立的校正模型来快速预测其组成或性质的一种分析方法。
                                 
          与常规分析技术不同,近红外光谱是一种间接分析技术,必须通过建立校正模型(标定模型)来实现对未知样品的定性或定量分析。具体的分析过程主要包括以下几个步骤:一是选择有代表性的样品并测量其近红外光谱;二是采用标准或认可的参考方法测定所关心的组分或性质数据;三是将测量的光谱和基础数据,用适当的化学计量方法建立校正模型;四是未知样品组分或性质的测定。由近红外光谱分析技术的工作过程可见,现代近红外光谱分析技术包括了近红外光谱仪、化学计量学软件和应用模型三部分。三者的有机结合才能满足快速分析的技术要求,是缺一不可的。
                                 
            与传统分析技术相比,近红外光谱分析技术具有诸多优点,它能在几分钟内,仅通过对被测样品完成一次近红外光谱的采集测量,即可完成其多项性能指标的测定(最多可达十余项指标)。光谱测量时不需要对分析样品进行前处理;分析过程中不消耗其它材料或破坏样品;分析重现性好、成本低。对于经常的质量监控是十分经济且快速的,但对于偶然做一两次的分析或分散性样品的分析则不太适用。因为建立近红外光谱方法之前必须投入一定的人力、物力和财力才能得到一个准确的校正模型。
                                 
            近红外光谱主要是反映C-H、O-H、N-H、S-H等化学键的信息,因此分析范围几乎可覆盖所有的有机化合物和混合物。加之其独有的诸多优点,决定了它应用领域的广阔,使其在国民经济发展的许多行业中都能发挥积极作用,并逐渐扮演着不可或缺的角色。主要的应用领域包括:石油及石油化工、基本有机化工、精细化工、冶金、生命科学、制药、医学临床、农业、食品、饮料、烟草、纺织、造纸、化妆品、质量监督、环境保护、高校及科研院所等。在石化领域可测定油品的辛烷值、族组成、十六烷值、闪点、冰点、凝固点、馏程、MTBE含量等;在农业领域可以测定谷物的蛋白质、糖、脂肪、纤维、水分含量等;在医药领域可以测定药品中有效成分,组成和含量;亦可进行样品的种类鉴别,如酒类和香水的真假辨别,环保废弃物的分检等。
            相信随着科学技术的不断发展,近红外光谱分析技术这一先进的技术必将得到广泛的认同和应用。
此帖出自无线连接论坛
 
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

5
 

红外遥控编码资料

作者:温正伟 原载:无线电  
  红外线遥控器已被广泛使用在各种类型的家电产品上,它的出现给使用电器提供了很多的便利。红外遥控系统一般由红外发射装置和红外接收设备两大部分组成。红外发射装置又可由键盘电路、红外编码芯片、电源和红外发射电路组成。红外接收设备可由红外接收电路、红外解码芯片、电源和应用电路组成。通常为了使信号能更好的被传输发送端将基带二进制信号调制为脉冲串信号,通过红外发射管发射。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。....




文件和实例程序下载 cdle060001.rar (1017.53 KB, 下载次数: 177)
此帖出自无线连接论坛
 
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

6
 

红外接收头资料(转载)

红外接收电路通常由红外接收二极管与放大电路组成,放大电路通常又由一个集成块及若干电阻电容等元件组成,并且需要封装在一个金属屏蔽盒里,因而电路比较复杂,体积却很小,还不及一个7805体积大!
  SFH506-38与RPM-638是一种特殊的红外接收电路,它将红外接收管与放大电路集成在一体,体积小(大小与一只中功率三极管相当),密封性好,灵敏度高,并且价格低廉,市场售价只有几元钱。它仅有三条管脚,分别是电源正极、电源负极以及信号输出端,其工作电压在5V左右.只要给它接上电源即是一个完整的红外接收放大器,使用十分方便。
  它的主要功能包括放大,选频,解调几大部分,要求输入信号需是已经被调制的信号。经过它的接收放大和解调会在输出端直接输出原始的信号。从而使电路达到最简化!灵敏度和抗干扰性都非常好,可以说是一个接收红外信号的理想装置。


HS0038
此帖出自无线连接论坛
 
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

7
 

红外接收与发射实验



实验目的红外接收与发射二极管是单片机实验和机器人制作中常用的电子元件。特别是机器人寻迹项目和机器人避障项目中应用广范。
这一讲我们通过4号实验板上的红外发射管与5号实验板上的红外接收管的实验来了解这两种器件的特性,进一步巩固AVR单片机的ADC编程技术。

难度等级:初级
硬件搭建首先按照第三讲中的方法接插1号板,但实验板上排针1、2 要接在单片机的端口PC1和PC2(引脚24,25) ,因为端口PC0是Atmega48单片机ADC的通道0,留作红外光模拟量的采集输入端。将 4 号实验板的 1 、 2 引 脚分别接 VCC 和地,将5号实验板的引脚3接高电平,4接地,将引脚 2 接至 PC0(引脚23) ,连续变化的电压模拟量便从ADC通道0引入单片机。
程序代码
源程序下载Infrared_test.bas
'----------------------------------------------------------------------------------------------------
$regfile = "m48def.dat"
$crystal = 8000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portb = Output
Config Pinc.1 = Output
Config Pinc.2 = Output
Dim V As Word
Dim A(10) As Byte
Dim T As Byte
Restore Daima
For T = 1 To 10
Read A(t)
Next T
Start Adc
Do
V = Getadc(0)
V = V / 10
If V >= 100 Then 
V = 99
End If

T = V / 10
Portb = A(t + 1)
Set Portc.2
Reset Portc.1
Waitms 10
T = V Mod 10
Portb = A(t + 1)
Reset Portc.2
Set Portc.1
Waitms 10
Loop
End
Daima:
Data &HC0 , &HF9 , &HA4 , &HB0 , &H99
Data &H92 , &H82 , &HF8 , &H80 , &H98
' 指定目标单片机为 ATmega48
' 指定系统时钟8兆
' 设置ADC为单次转换模式,采样频率系统设定,参考电压使用AVcc
' 配置端口PortB输出
' 配置端口PortC引脚1输出,控制个位数码显示
' 配置端口PortC引脚2输出,控制十位数码显示
' 定义ADC采集变量 V
' 定义字形数组 A
' 定义字形码数组索引 T
' 字形数组初始化



' 启动ADC采集
' 主循环开始
' 取0通道ADC的转换结果,送入 V
' 将采样值缩小10倍。
' 并将结果控制在100以内,便于用两位数显示
'
'
'
' 将结果再除10,取整得到十位数部分,存入变量T
' 将 T 加1装换成从1 ~ 10 的字形数组的索引值
' 置Portc.2高电平,点亮整数位数码管
' 置Portc.1地电平,关闭小数位数码管
' 延时10毫秒
' 将T取10的模数,取整得到个位数部分
' 将 T 加1装换成从1 ~ 10 的字形数组的索引值
' 置Portc.2低电平,关闭整数位数码管
' 置Portc.1高电平,点亮小数位数码管
' 延时10毫秒
'
'
' 字型数组定义
' 0,1,2,3,4
' 5,6,7,8,9
程序讲解该程序与第三讲的程序几乎相同,只是将采集的量除10以便将结果控制在100以内,适合两位数码管的显示。
程序功能将程序编译通过并下载成功后,两个板上的红外光电器件都要套上黑色遮光罩,就可以进行实验了。
测距实验:手持4号板和5号板,两管相对,慢慢拉远或移近两管的距离,观察LED的读数变化。 阻断实验:可请另一人协助,将一张纸或其他障碍物放在两管之间再拿开,会看到读数有大幅度的变化。 反射实验:将4号和5号实验板并排拿在手中,并形成一个小夹角,向一张白纸移动观察读数变化。 寻迹实验:将白纸的部分区域涂黑,让你手中的这对红外发射与接收器件在黑色区域与白色区域之间来回移动,观察读数变化。
对以上实验你有何感想?其实这些都是红外光电器件的基本应用,在机器人活动中会大量遇到。
另外:我们选用的红外接收管灵敏很高,对室内散射光,计算机显示器的辐射、日光灯管甚至冬天的暖气等都有感应,实验时要注意这些因素的干扰。如果你有意用这个小系统对身边的光源、热辐射源探测一下,不是也挺有意思的。
注意:实验场地要适当遮光,不要有直射光或在窗前进行实验!
红外接收与发射实验的 C 程序为了满足单片机爱好者的不同需要,对这个例程除了BASCOM-AVR的BASIC程序外,我们也准备了同样功能的 C 程序,感兴趣的朋友可以浏览。
红外接收与发射实验的汇编程序为了满足单片机爱好者的不同需要,对这个例程除了BASCOM-AVR的BASIC程序外,我们也准备了同样功能的汇编程序,感兴趣的朋友可以浏览。
思考题理论上讲,红外光电器件是模拟器件,即其数值变化是连续的。但在有些场合我们仍可将它做为逻辑器件使用。想想,在机器人足球比赛中,场地就是由白到黑渐变的,而寻迹类的比赛场地,一定是白色的底上用深色例如黑色做出轨道踪迹。前面的实验中有几个实际上就可以作为逻辑判断用,自己分析一下。
此帖出自无线连接论坛
 
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

8
 
红外探测系统在反巡航导弹中的应用.pdf (95.05 KB, 下载次数: 67)

大型炼油设备红外热像检测的实验研究.pdf (88.2 KB, 下载次数: 39)
此帖出自无线连接论坛
 
 
 

回复

174

帖子

0

TA的资源

五彩晶圆(初级)

9
 
好东西。
这几天自己也是在做跟红外相关的东西
此帖出自无线连接论坛
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(高级)

10
 
很好!谢谢楼主共享,拿走了,谢谢!
此帖出自无线连接论坛
 
 
 

回复

375

帖子

0

TA的资源

五彩晶圆(高级)

11
 

顶~~~~~~~~~~~~~~~~~~~~

顶~~~~~~~~~~~~~~~~~~~~
此帖出自无线连接论坛
个人签名我可以做的更好
 
 
 

回复

179

帖子

0

TA的资源

纯净的硅(高级)

12
 
好东西。这几天自己也是在
做跟红外相关的东西
此帖出自无线连接论坛
个人签名张世远
 
 
 

回复

45

帖子

0

TA的资源

纯净的硅(初级)

13
 
sdsx
此帖出自无线连接论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

14
 
爱上你了!!这么好的,贴很好!谢谢楼主共享,拿走了,谢谢!
此帖出自无线连接论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

15
 
好东西。这几天自己也是在
做跟红外相关的东西
此帖出自无线连接论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

16
 
“最近发现家里遥控器老是弄混(唉,遥控器多了,也是一件麻烦事)。如果有一种可对家中各种红外遥控器发射的控制信号进行识别、存储和再现的智能型红外遥控器,用这样一个遥控器控制家中所有电器该多好。这就是大家称作的学习型红外遥控器。于是,下了不少工夫查找了许多资料,对红外遥控也做了一点表面研究,现总结一点文档,与大家一同探讨(有不对之处,请大家指正!);另外由于本人愚顿还未开窍,还有部分东西想不太明白,在此也向专家们请教,请知道的老兄支点招,在此小弟先谢过了!!!”
红外编码不是有用户地址码吗 为什么会混啊?
此帖出自无线连接论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

17
 

good goood

goooooooooood
此帖出自无线连接论坛
 
 
 

回复

33

帖子

0

TA的资源

一粒金砂(初级)

18
 
顶顶顶
此帖出自无线连接论坛
 
 
 

回复

33

帖子

0

TA的资源

一粒金砂(初级)

19
 

回复 楼主 clark 的帖子

顶顶顶顶
此帖出自无线连接论坛
 
 
 

回复

179

帖子

0

TA的资源

纯净的硅(高级)

20
 
看到了我苦苦搜寻的东西,谢谢楼主哦!
此帖出自无线连接论坛
个人签名张世远
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表