====== 红外接收传感器 ======
===== 1. 简要概述 =====
红外接收传感器上有一个能检测38kH左右的红外光的一体化红外接收元器件,能接收红外遥控器发射的红外信号。红外线遥控是目前使用最广泛的一种通信和遥控手段,具备体积小、功耗低、功能强等优点。如各种家用电器、空调、音响设备、机器人动作控制、小车控制以及其它智能控制。在高压、辐射、有毒气体、粉尘等环境下,采用红外遥控可以有效地隔离电气干扰。
===== 2. 参数规格 =====
参数
|
值/描述
|
工作电压
|
DC 5V
|
接口类型
|
插针与ELF主控板适配使用
|
通信方式
|
默认NEC红外通信协议
|
接收频率
|
38kHz
|
峰值波长
|
980nm
|
有效接收距离
|
10米
|
工作温度
|
0~70℃
|
尺寸大小
|
--mm*--mm*--mm(长*宽*高)
|
===== 3. 编程指南 =====
==== 3.1. 模块功能及图形化编程指南 ====
该模块支持的图形化编程平台有WeeeCode、Mixly_Arduino等,其图形化编程大同小异,区别不会很大。
模块功能
|
需传参数
|
图形化编程块举例
|
返回遥控对应按键是否被按下
|
(2个参数)端口、遥控按键选择
|
|
图形化编程示例:
==== 3.2. 文本代码编程指南 ====
Arduino编程示例:
#include "WeELF328P.h"
WeInfraredReceiver ir(PORT_2);
void setup()
{
ir.begin();
Serial.begin(9600);
}
void get_ir_command()
{
if (ir.decode())
{
uint32_t value = ir.value;
switch (value >> 16 & 0xff)
{
case IR_CONTROLLER_A: Serial.println("A");break;
case IR_CONTROLLER_B: Serial.println("B");break;
case IR_CONTROLLER_C: Serial.println("C");break;
case IR_CONTROLLER_D: Serial.println("D");break;
case IR_CONTROLLER_E: Serial.println("E");break;
case IR_CONTROLLER_F: Serial.println("F");break;
case IR_CONTROLLER_UP: Serial.println("UP");break;
case IR_CONTROLLER_LEFT: Serial.println("LEFT");break;
case IR_CONTROLLER_RIGHT:Serial.println("RIGHT");break;
case IR_CONTROLLER_DOWN: Serial.println("DOWN");break;
case IR_CONTROLLER_OK: Serial.println("OK");break;
case IR_CONTROLLER_0: Serial.println("0");break;
case IR_CONTROLLER_1: Serial.println("1");break;
case IR_CONTROLLER_2: Serial.println("2");break;
case IR_CONTROLLER_3: Serial.println("3");break;
case IR_CONTROLLER_4: Serial.println("4");break;
case IR_CONTROLLER_5: Serial.println("5");break;
case IR_CONTROLLER_6: Serial.println("6");break;
case IR_CONTROLLER_7: Serial.println("7");break;
case IR_CONTROLLER_8: Serial.println("8");break;
case IR_CONTROLLER_9: Serial.println("9");break;
}
}
}
void loop()
{
get_ir_command();
}