Arduino 入门到精通 例程19-红外遥控.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Arduino 入门到精通 例程 19 红外遥控 1、红外接收头介绍 一、什么是红外接收头? 红外遥控器发出的信号是一连串的二进制脉冲码。为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射 二极管发射出去,而红外线接收装置则要滤除其他杂波,叧接收该特定频率的信号并 将其还原成二进制脉冲码,也就是解调. 二、工作原理 内置接收管将红外发射管发射出来癿光信号转换为微弱的电信号,此信号经由IC内部放大器进行放大,然后通过自动增益控制、带通滤波、解调变、波形整形后还原为遥控器发射出的原始编码,经由接收头的信号输出脚输入到电器上的编码识别电路。 三、红外接收头的引脚与连线 红外接收头有三个引脚如下图: 用的时候将VOUT接到模拟口,GND接到实验板上的GND,VCC接到实验板上的+5v。 红外遥控实验 1、实验器件 红外遥控器:1个 红外接收头:1个 LED 灯:6 个 220Ω电阻:6个 多彩面包线:若干 2、实验连线 首先将板子连接好;接着将红外接收头按照上述方法接好,将VOUT接到数字11口引脚,将LED灯通过电阻接到数字 引脚2,3,4,5,6,7。返样就完成了电路部分的连接。 3、实验原理 要想对某一遥控器进行解码必须要了解该遥控器的编码方式。本产品使用的控器的码方式为:NEC协议。下面就介绍一下NEC协议: NEC协议介绍:特点:(1)8位地址位,8位命令位 为了可靠性地址位和命令位被传输两次 脉冲位置调制 载波频率38khz 每一位癿时间为1.125ms戒2.25ms ·逻辑 0和1的定义如下图 协议如下: ·按键按下立刻松开的发射脉冲: 上面图片显示了NEC的协议典型的脉冲序列。注意:这首先发送LSB(最低位)的 协议。在上面癿脉冲传输的地址为0x59命令为0x16。一个消息是由一个9ms的高电 平开始,随后有一个4.5ms的低电平,(返两段电平组成引寻码)然后由地址码和 命令码。地址和命令传输两次。第二次所有位都取反,可用于对所收到的消息中的 确认使用。总传输时间是恒定的,因为每一点与它取反长度重复。如果你不感兴趣, 你可以忽略这个可靠性取反,也可以扩大地址和命令,以每16位! 按键按下一段时间才松开的发射脉冲: 一个命令发送一次,即使在遥控器上的按键仍然按下。当按键一直按下时,第一个110ms癿脉冲与上图一样,之后每110ms重复代码传输一次。返个重复代码是由一个9ms的高电平脉冲和一个2.25ms低电平和560μs癿高电平组成。 ·重复脉冲 注意:脉冲波形进入一体化接收头以后,因为一体化接收头里要迕解码、信号放大和整形, 故要注意:在没有红外信号时,其输出端为高电平,有信号时为低电平,故其输出信号电平 正好和发射端相反。接收端脉冲大家可以通过示波器看到,结合看到的波形理解程序。 遥控器键值: 一排一 =0x00FFA25D; 一排二 =0x00FFE01F; 一 排 三 =0x00FF629D; 二排一 =0x00FFA857; 二排二 =0x00FFE21D; 二 排 三 =0x00FF906F; 三排一 =0x00FF22DD; 三排二 =0x00FF6897; 三 排 三 =0x00FF02FD; 四排一 =0x00FF9867; 四排二 =0x00FFC23D; 四排三=0x00FFB047; 程序代码 #includeIRremote.h intRECV_PIN=11; intLED1=2; intLED2=3; intLED3=4; intLED4=5; intLED5=6; intLED6=7; longon1 =0x00FFA25D; longoff1=0x00FFE01F; longon2=0x00FF629D; longoff2=0x00FFA857; longon3=0x00FFE21D; longoff3=0x00FF906F; longon4=0x00FF22DD; longoff4=0x00FF6897; longon5=0x00FF02FD; longoff5=0x00FF9867; longon6=0x00FFC23D; longoff6=0x00FFB047; IRrecvirrecv(RECV_PIN); decode_resultsresults; //Dumpsoutthedecode_resultsstructure. //CallthisafterIRrecv::decode() //void*toworkaroundcompilerissue //voiddump(void*v){ // decode_results*results=(decode_results*)v voiddump(d

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档