红外接收

来自YFRobotwiki
2015年9月1日 (二) 09:54Admin讨论 | 贡献的版本

跳转至: 导航搜索
生成缩略图出错:文件可能丢失:
红外接收


产品简介


红外接收模块,采用HS0038一体化红外遥控接收元件,中心频率为38.0kHz,自然光的反射干扰。


规格参数


  • 供电电压:DC5V
  • 接收信号:38 kHz
  • 周期:26μs
  • 安装孔径:3MM
  • 模块尺寸:28*21*11MM(长*宽*高)
  • 孔间距:15MM
  • 模块重量:2.3g


主要应用

广泛应用于:空调、风扇、暖风机、加湿器、电视、DVD、机顶盒、车载移动DVD、硬盘播放器、多媒体组合音响、数码相框、手机等家电产品,电脑及周边设备,感应洁具,仪表,工业自动化,遥控玩具,通讯器材,照相器材,事务机器,金融电子,汽车电子,灯饰照明等领域。


引脚说明


  • 1. G -- Gnd(地)
  • 2. V -- Vcc(电源+5V)
  • 3. S -- Sign(信号)


应用示例


电路连接示意图


红外接收模块的 G、V、S分别连接 Arduino UNO的GND、VCC(+5V)、D11引脚。



示例代码


示例一:获取键值

/*
 * 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
 * http://arcfn.com
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.print("irCode: ");
    Serial.println(results.value, HEX);
    delay(200);
    irrecv.resume(); // Receive the next value
  }
}

程序下载地址:IRrecvDemo

程序运行结果:接收按键值,并串口打印。偶尔出现 "FFFFFFFF" 码值,属于正常现象,可适当延长延时时间。

最终整理按键值表格:

遥控器字符 键值 遥控器字符 键值
红色/关闭键 0xFFA25D MENU 0xFFE21D
TEST 0xFF22DD + 0xFF02FD
返回键 0xFFC23D 快退/左2三角 0xFFE01F
播放/一个三角 0xFFA857 快进/右2三角 0xFF906F
0 0xFF6897 - 0xFF9867
C 0xFFB04F 1 0xFF30CF
2 0xFF18E7 3 0xFF7A85
4 0xFF10EF 5 0xFF38C7
6 0xFF5AA5 7 0xFF42BD
8 0xFF4AB5 9 0xFF52AD


示例二:红外遥控

/*
 * 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
 * http://arcfn.com
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.print("irCode: ");
    Serial.println(results.value, HEX);
    delay(200);
    irrecv.resume(); // Receive the next value
  }
}

程序下载地址:IRrecvDemo

程序运行结果:接收按键值,并串口打印。偶尔出现 "FFFFFFFF" 码值,属于正常现象,可适当延长延时时间。



参考资料





返回首页

更多建议和问题欢迎反馈至 YFRobot论坛

购买方式:YFRobot 电子工作室