Arduino红外传感器-IR Transmitter Module红外发射模块
简介
- 红外发射模块上的核心器件是红外发射管,其广泛使用在红外遥控设备上。
- 该模块有3PIN接口,可以方便的通过Arduino等控制板实现红外遥控、通讯的功能。
- 红外发射管是一个能发射出特定波长红外光的二极管。
- 红外遥控器就是使用的红外发射头发出一连串的二进制脉冲码信号。
- 为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射二极管发射头发射出去。
应用
- 红外遥控
- 红外通讯
规格
- 工作电压:3-5V
- 信号类型:数字信号
- 红外中心波长:约850nm-940nm
- 红外发射角:约20度
- 红外发射距离:约1.3米 (5V 38Khz)
- 接口类型:PH2.0-3
- 外形尺寸:30x22mm
- 安装孔:直径3.2m,间距15mm
引脚说明
- GND:电源地
- VCC:电源正
- D :数字信号输入,高为发射红外,低为关闭红外
使用教程
看到红外线
a) 目标:看见1秒间隔发射红外线
b) 硬件清单
- DF_UNO 1
- IO扩展板 1
- 本模块 1
- 具备摄像头的手机 1
c) 软件清单
d) 连线图
e) 操作步骤
- 在Arduino IDE中打开Blink程序
- 在连接图中使用的是数字3口,因此将代码进行如下修改
原代码:int led = 13;
新代码:int led = 3;
- 下载程序到UNO
f) 实现效果
- 将本模块放置到暗环境下(可放入纸盒或用手遮挡),用手机摄像头对准红外发射头前端,并在照相/摄像功能中仔细观察,可以看到有蓝紫色光在缓慢闪烁。
- 注意在摄像范围内要整体处于暗光状态,若有较亮的光则无法观察到。
- 该使用所使用的红外库支持多种常见家电遥控协议,并通过载波方式发送。
红外遥控/通讯
a) 目标:实现红外遥控/通讯实验
- 红外遥控或通讯在技术上可以采用载波方式和非载波方式,所谓载波方式就是将要发送的信号调制到较高的载波频率上,以达到抗干扰、抗衰减等目的。
- 由于红外线本身存在于自然光中,因此家电的红外遥控普遍使用38kHz的载波来达到抗干扰的目的。
b) 硬件清单
- DF_UNO 2
- IO扩展板 2
- 数字红外接收模块 1
- 本模块 1
c) 软件清单
- Arduino IDE
- 下载Arduino红外收发库Arduino-IRremote, 并进行安装
d) 连线图
- 红外发射模块的连接与前一示例相同,注意Arduino-IRremote库只支持将发射管接在数字3端口上。
- 红外接收模块连接方式请参考数字红外接收模块 ,将其连接到数字11端口上。
e) 操作步骤
- 在Arduino IDE中给红外发射模块下载如下程序:
#include <IRremote.h>
IRsend irsend;
void setup()
{
}
void loop() {
irsend.sendRC5(0x0, 8); //send 0x0 code (8 bits)
delay(200);
irsend.sendRC5(0x1, 8);
delay(200);
}
在Arduino IDE中给红外接收模块下载如下程序:
#include <IRremote.h>
const int RECV_PIN = 11;
const int LED_PIN = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop()
{
if (irrecv.decode(&results))
{
if ( results.bits > 0 )
{
int state;
if ( 0x1 == results.value )
{
state = HIGH;
}
else
{
state = LOW;
}
digitalWrite( LED_PIN, state );
}
irrecv.resume(); // prepare to receive the next value
}
}
本文整理于DFRobot wiki
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号