红外接收模块
2023年5月24日大约 2 分钟
概述
红外遥控器发出的信号是一连串的二进制脉冲码。为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上, 然后再经红外发射二极管发射出去,而红外线接收装置则要滤除其他杂波,只接收该特定频率的信号并将其还原成二进制脉冲码,也就是解调.
内置接收管将红外发射管发射出来的光信号转换为微弱的电信号,此信号经由IC内部放大器进行放大,然后通过自动增益控制、带通滤波、解调变、 波形整形后还原为遥控器发射出的原始编码,经由接收头的信号输出脚输入到电器上的编码识别电路。
产品实拍
![](/assets/img/sensor/InfrareReceveModule/InfrareReceveModule1.png)
产品参数
- 类型:数字信号
- 工作电压:3.3V-5V
- 接口类型:ph2.0 3p
引脚说明
![](/assets/img/sensor/InfrareReceveModule/InfrareReceveModule2.png)
序号 | 引脚 | 描述 |
---|---|---|
1 | GND | 电源负极 |
2 | VCC | 电源正极 |
3 | S | 模拟信号输出 |
红外遥控器
红外遥控器链接
![](/assets/img/sensor/InfrareReceveModule/InfrareReceveModule5.png)
红外遥控器键值表
![](/assets/img/sensor/InfrareReceveModule/InfrareReceveModule3.png)
示例代码
Arduino
#include <IRremote.h>
int RECV_PIN = 11; // 红外接收模块连接到Arduino的引脚
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // 启用红外接收模块
}
void loop() {
if (irrecv.decode(&results)) {
// 如果接收到红外信号
Serial.println(results.value, HEX); // 打印红外信号的值(16进制)
irrecv.resume(); // 继续接收下一个红外信号
}
}
在此示例代码中,我们使用了IRremote库来与LF0038K红外接收模块进行通信。首先,在setup()函数中,我们通过调用enableIRIn()来启用红外接收模块。
在loop()函数中,我们使用decode()函数来检测是否接收到了红外信号。如果有红外信号,我们将打印信号的值(以十六进制形式)并调用resume()函数以便继续接收下一个红外信号。
请确保将LF0038K红外接收模块的信号引脚正确连接到Arduino,并将库文件安装到Arduino开发环境中。如果有其他特定的功能要求,请提供更详细的说明,我将尽力提供更多帮助。
Mind+
Mind+扩展库下载(下载时请下载Mind+Uno扩展库目前只支持Uno主板,如果需要扩展可以QQ群联系群主开发)
![](/assets/img/sensor/InfrareReceveModule/InfrareReceveModule4.png)
Mixly
推荐使用官方红外接收库
疑难解答
更多问题及有趣的应用,请访问论坛 或加入QQ技术交流群:522420541