教程一:红外接收教程
本教程共四步操作,将教大家如何收集电视红外遥控器的编码

视频链接:http://v.youku.com/v_show/id_XNTE2NjQ5NTcy.html

第一步:电路连接,非常简单[本图摘自IRremote作者BLOG]
 
 
 
这里额外说两点,其一红外发射二极管的型号无所谓,常见的是3MM和5MM。但接收管不是全部好用的部分已知红外接收型号如下:
HS0038B(4.5V-5.5V)
PC838(2.5v-5.5v)
IRM_3638

其二,有的红外接收集成了三极管,所以并不需要为了增加功率额外再接一个三极管。详见Datesheet

第二步:安装IRremote库
请直接参考 Arduino入门教程--第二十课--红外遥控器介绍[链接]

第三步:复制代码并下载程序

//本例来自于红外接收模块的IRremote自带范例
/*
 * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * [url]http://arcfn.com[/url]
 */

#include <IRremote.h>

;//定义红外接收器的引脚为11
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin();
  irrecv.enableIRIn(); // 初始化红外接收器
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);//以16进制换行输出接收代码
    Serial.println();//为了便于观看输出结果增加一个空行
    irrecv.resume(); // 接收下一个值
  }
}

第四步:记录红外编码
打开AccessPort串口助手软件并启用监控,手持电视遥控器,依序按键,记录红外编码

教程二:红外发射教程
教程二的操作请参考教程一中的视频,电路图也在教程一已示。本教程就不做过多描述,只说几点注意
1. 安全起见,限流电阻是必须要用的!
2. 红外光是不可见的,需要用手机摄像模式才能看到,详见视频。

第一步:修改代码并下载
根据教程一所记录的红外编码任选其一,例如本例选择频道增加按键
大家根据自己的情况修改程序中红外编码的部分

/*
* 发射红外线信号
* 注意! 红外线发射器(IR LED)必须接到 pin 3, 不能接其它脚位

 Hisense 机顶盒 SD-16127 tested
 */

//By Leo 2013.02.19
//http://weibo.com/leolite
//Update: Pin 3 IR LED test function

#include <IRremote.h>                  // 引用 IRRemote 函式库

IRsend irsend;                          // 定义 IRsend 物件来发射红外线讯号

void setup()
{
  pinMode(, OUTPUT);
  digitalWrite(, HIGH);   // 点亮LED测试(需通过手机摄像模式观察)
  delay();             // 等待3秒
  digitalWrite(, LOW);    // 结束测试
}

void loop()
{
  Serial.print("SendIR: ");
  irsend.sendNEC();   // 记得换成你遥控器的红外线编码
  delay();             // 等待3秒
}

Arduino红外遥控系列教程2013——发射与接收的更多相关文章

  1. Arduino红外遥控系列教程2013——红外转码

    教程三:红外转码教程——用电视遥控器取代机顶盒遥控器 前言前段时间看到了使用红外遥控的X-Bot机器人[链接],感觉很有意思.最近开始玩Arduino与红外,一方面打算将来用于BOXZ的之间的通讯控制 ...

  2. arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法

    最近在调试红外遥控格力空调,在论坛中学到了不少东西.参考: (1)<解决问题系列(4)——红外编码分析利器使用> (2)<315Mhz模块传输替代315Mhz遥控器> 调试环境 ...

  3. 基于Arduino、STM32进行红外遥控信号接收

    catalogue . 遥控器原理简介 . 红外遥控原理 . 常见红外遥控器红外线信号传输协议 . 遙控器的发展 . 实验过程 . 攻击面 . 基于STM32实现红外信号解码 1. 遥控器原理简介 0 ...

  4. 基于Arduino的红外遥控

    1.红外接收头介绍  一.什么是红外接收头?  红外遥控器发出的信号是一连串的二进制脉冲码.为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射二极管 ...

  5. 红外遥控接收发射原理及ESP8266实现

    红外遥控是利用近红外光进行数据传输的一种控制方式.近红外光波长0.76um~1.5um ,红外遥控收发器件波长一般为 0.8um~0.94um ,具有传输效率高,成本低,电路实现简单,抗干扰强等特点, ...

  6. 基于FPGA的红外遥控解码与PC串口通信

    基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...

  7. 开发快平台(M302I小e开发板系列教程)

    开发快平台(M302I小e开发板系列教程) 开发块平台ESP8266模块相关理解 一. M302I小e开发板源码注释,源码基于:v1.4.0.8-u34.zip 1. user_main.c /*** ...

  8. 玩转X-CTR100 l STM32F4 l 红外遥控接收

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      X-CTR100控制器具有红外接收头,例程 ...

  9. 手机遥控器,3.5mm耳机接口红外遥控改造解析

    很多家电都用红外遥控,如电视机.机顶盒.空调.电风扇等.越来越多的遥控器反而给我们带来了更多的问题,有时找不到遥控器放哪儿了,或者混淆了都是麻烦,事实上对手机进行简单的改造,可以自制一个万能红外遥控器 ...

随机推荐

  1. 解决Webservice内存溢出

    public class FileExercise : System.Web.Services.WebService { [WebMethod] public void HelloWorld() { ...

  2. Unity3D自定义地形的笔刷,刷出别样地形

    ​ 是不是很简单呀,大家可以发挥想象刷出特殊的地形,小鸡呀,或者其他的logo之类(顶视图看上去效果很棒)的地形. 最后把我找的笔刷上传,Gizmos 注意: 如果文件夹及图片导入后,地形系统的笔刷无 ...

  3. 验证abc三列数字符合我的小弟要求

    需求好像是: 1.第一列数据有重复的找出来,并且找出它的重复位置 2.第三列根据第一列得出的位置,取出相应位置的数据进行相加 3.相加的结果 是否等同于第二列的对应位置数据 <!DOCTYPE ...

  4. C语言经典程序190例

    [程序1] 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数.求??代表的两位数,及809*??后的结果. 1.程序分析: 2.程序 ...

  5. Linux系统编程(11)——进程间通信之有名管道

    管道应用的一个重大限制是它没有名字,因此,只能用于具有亲缘关系的进程间通信,在有名管道(named pipe或FIFO)提出后,该限制得到了克服.FIFO不同于管道之处在于它提供一个路径名与之关联,以 ...

  6. UESTC_酱神的旅行 2015 UESTC Training for Dynamic Programming<Problem M>

    M - 酱神的旅行 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit ...

  7. 本人对于JavaScript的一些总结

    类型.值和变量 1.原始类型   数字.字符串和布尔   null空  undefined未定义 2.对象类型 3.类  Array  Function Date RegExp  Error 4.js ...

  8. Easy Number Challenge(暴力,求因子个数)

    Easy Number Challenge Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

  9. Android 代码混淆及第三方jar包不被混淆

    为了保护代码被反编译,android引入了混淆代码的概念 1.设置混淆 在工程下找到project.properties文件 在文件中加入proguard.config=${sdk.dir}/tool ...

  10. 布局文件提示错误“No orientation specified, and the default is horizontal. This is a common so...”

    完整的错误提示信息为:No orientation specified, and the default is horizontal. This is a common source of bugs ...