_SKU_DFR0095_IR_Transmitter_Module红外发射模块 - jimaobian/DFRobotWikiCn GitHub Wiki
红外发射模块上的核心器件是红外发射管,其广泛使用在红外遥控设备上。该模块有3PIN接口,可以方便的通过Arduino等控制板实现红外遥控、通讯的功能。
红外发射管是一个能发射出特定波长红外光的二极管。红外遥控器就是使用的红外发射头发出一连串的二进制脉冲码信号。为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射二极管发射头发射出去。
- 红外遥控
- 红外通讯
- 工作电压:3-5V
- 信号类型:数字信号
- 红外中心波长:约850nm-940nm
- 红外发射角:约20度
- 红外发射距离:约1.3米 (5V 38Khz)
- 接口类型:PH2.0-3
- 外形尺寸:30x22mm
- 安装孔:直径3.2m,间距15mm
- GND:电源地
- VCC:电源正
- D :数字信号输入,高为发射红外,低为关闭红外
a) 目标:1秒间隔发射红外线
b) 硬件清单
c) 软件清单
d) 连线图
e) 操作步骤 一、代码编程
- 在Arduino IDE中打开Blink程序
- 在连接图中使用的是数字3口,因此将代码进行如下修改
- 原代码:int led = 13;
- 新代码:int led = 3;
- 下载程序到UNO
二、Mind+(基于Scratch3.0)图形化编程
1、下载及安装软件。下载地址:http://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装 2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程 3、“扩展”中选择“主控板”中的“Arduino Uno”。 详细教程:Mind+基础wiki教程-加载扩展库流程 4、进行编程,程序如下图: 5、菜单“连接设备”,“上传到设备”
f) 实现效果
将本模块放置到暗环境下(可放入纸盒或用手遮挡),用手机摄像头(部分手机只有前置摄像头才能看到,部分手机将红外过滤掉了看不到)对准红外发射头前端,并在照相/摄像功能中仔细观察,可以看到有蓝紫色光在缓慢闪烁。 注意在摄像范围内要整体处于暗光状态,若有较亮的光则无法观察到。 该使用所使用的红外库支持多种常见家电遥控协议,并通过载波方式发送。
a) 目标:实现红外遥控/通讯实验
红外遥控或通讯在技术上可以采用载波方式和非载波方式,所谓载波方式就是将要发送的信号调制到较高的载波频率上,以达到抗干扰、抗衰减等目的。由于红外线本身存在于自然光中,因此家电的红外遥控普遍使用38kHz的载波来达到抗干扰的目的。
b) 硬件清单
c) 软件清单
- Arduino IDE
- 下载Arduino红外收发库Arduino-IRremote, 并进行安装
d) 连线图
- 红外发射模块的连接与前一示例相同,注意Arduino-IRremote库只支持将发射管接在数字3端口上。
- 注:uno接在数字口3,leonardo接在数字口13,mega接在数字口9.
- 红外接收模块连接方式请参考数字红外接收模块 ,将其连接到数字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);
}
- 在Mind+(基于Scratch3.0图形化编程)里面给红外发射模块下载如下程序:
1、下载及安装软件。下载地址:http://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装 2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程 3、“扩展”中选择“主控板”中的“Arduino Uno”,在“通讯模块”中添加“红外发射模块”。 详细教程:Mind+基础wiki教程-加载扩展库流程 4、进行编程,程序如下图: 5、菜单“连接设备”,“上传到设备”
- 在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
}
}
- 在Mind+(基于Scratch3.0图形化编程)里面给红外接收模块下载如下程序:
1、下载及安装软件。下载地址:http://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装 2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程 3、“扩展”中选择“主控板”中的“Arduino Uno”。 详细教程:Mind+基础wiki教程-加载扩展库流程 4、进行编程,程序如下图: 5、菜单“连接设备”,“上传到设备”
- 效果
当发射端对着接收端时,接收端主控板上的LED指示灯一秒闪烁一次
category: Product Manual category: SEN Series category: Sensors <!--Hidden Categories--!> category: Source category: Diagram