(传感器系列教程)004 红外发射模块

robotmaker
一、 引入

我们这次要介绍的是红外发射和接收模块,其实他们现在在我们的日常生活中扮演者重要的角色,现在很多的家用电器上都用到了这种装置,比如空调、电视、DVD等等,就是基于它是无线遥感,而且还可以较远距离控制,使用起来非常的方便,那么我们今天就很有必要来学习下它的原理及具体如何使用。 

二、产品介绍 1、红外发射管也称红外线发射二极管,它属于二级管类,可将电能直接转换成近红外光并能辐射出去的发光器件,它的结构、原理与普通的发光二级管相近,只是使用的半导体材料不同; 2、红外接收头是集接收,放大,解调一体的器件,它内部IC就已经完成了解调,输出的就是数字信号; 

三、红外通信原理 先来了解一下红外接收头的结构:红外接收头内部有两个重要元件,分别是IC和PD。IC是接收头的处理元件,主要由硅晶和电路组成,是一个高度集成的器件、主要功能有滤波、整形、解码、放大等功能。PD是光敏二极管,主要功能是接收光信号。

红外发射二极管将调制好的信号发射出去,红外接收头经接收、解码、滤波等一系列操作之后将信号恢复; 

四、注意事项 1、红外发射二极管:保持清洁、完好状态;在工作过程中各项参数不得超过极限值(正向电流30~60 mA、正向脉冲电流0.3~1 A、反向电压5 V、耗散功率 90 mW、工作温度范围 -25~+80 ℃、贮存温度范围 -40~+100 ℃、焊接温度260 ℃)红外发射管与接收头应配对使用,否则会影响灵敏度; 2、红外接收头:在低湿度环境下储存及使用;请注意保护红外线接收器的接收面,沾污或磨损后会影响接收效果,同时不要触碰表面;请勿清洗本产品;在无污染气体或海风(含盐分)的环境下储存及使用;在无任何外加压力及影响品质的环境下储存及使用; 

五、测试程序
硬件要求
1、Arduino 控制器 × 1
2、USB 数据线 × 1
3、红外发射模块 × 1
3、红外接收模块 × 1
主发射部分代码:
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 50; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(40);
}

从接收部分代码
#include <IRremote.h>
int RECV_PIN = 11; //define input pin on Arduino
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value