< >
Home » Arduino红外传感器 » Arduino红外传感器-IR Transmitter Module红外发射模块

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) 软件清单

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

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none