红外接收传感器
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(); }