“(SKU:RB-03T004)紅外發(fā)射模塊”的版本間的差異

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
?連接示意圖
?測(cè)試程序
 
(未顯示1個(gè)用戶的12個(gè)中間版本)
第1行: 第1行:
?
<br/>
 
 
[[文件:3232.jpg|500px|有框|右]]
 
[[文件:3232.jpg|500px|有框|右]]
?
==概述==
+
==產(chǎn)品概述==
?
:由于在遠(yuǎn)距離傳輸過(guò)程中使用連接線可能會(huì)導(dǎo)致傳輸數(shù)據(jù)錯(cuò)誤。2010年最新推出的IR&LED Module 是一款A(yù)rduino兼容的紅外線發(fā)射傳感器,可通過(guò)對(duì)Arduino進(jìn)行編程發(fā)射出38KHz 調(diào)制信號(hào),可適應(yīng)市面上各種紅外接收頭,以便IR Receiver Module 38KHz 紅外線接收傳感器能接收到,從而實(shí)現(xiàn)紅外無(wú)線通訊。
+
:由于在遠(yuǎn)距離傳輸過(guò)程中使用連接線可能會(huì)導(dǎo)致傳輸數(shù)據(jù)錯(cuò)誤。IR&LED Module 是一款A(yù)rduino兼容的紅外線發(fā)射傳感器,可通過(guò)對(duì)Arduino進(jìn)行編程發(fā)射出38KHz 調(diào)制信號(hào),可適應(yīng)市面上各種紅外接收頭,以便IR Receiver Module 38KHz 紅外線接收傳感器能接收到,從而實(shí)現(xiàn)紅外無(wú)線通訊。 紅外發(fā)射模塊上的核心器件是紅外發(fā)射管,其廣泛使用在紅外遙控設(shè)備上。該模塊有3PIN接口,可以方便的通過(guò)Arduino等控制板實(shí)現(xiàn)紅外遙控、通訊的功能。紅外發(fā)射管是一個(gè)能發(fā)射出特定波長(zhǎng)紅外光的二極管。紅外遙控器就是使用的紅外發(fā)射頭發(fā)出一連串的二進(jìn)制脈沖碼信號(hào)。為了使其在無(wú)線傳輸過(guò)程中免受其他紅外信號(hào)的干擾,通常都是先將其調(diào)制在特定的載波頻率上,然后再經(jīng)紅外發(fā)射二極管發(fā)射頭發(fā)射出去。
?
==性能參數(shù)==
+
==規(guī)格參數(shù)==
?
# 供電電壓:  5V
+
* 供電電壓:5V
?
# 工作環(huán)境:-25~+85℃  
+
* 工作環(huán)境:-25~+85℃  
?
# 儲(chǔ)存溫度:-30~+100 ℃  
+
* 儲(chǔ)存溫度:-30~+100 ℃  
?
# 波長(zhǎng): 940nm
+
* 波長(zhǎng):940nm
?
# 模塊尺寸: 13.7mm×27.8mm  
+
* 模塊尺寸:13.7mm×27.8mm  
?
# 模塊重量: 1g
+
* 模塊重量:1g
?
==引腳定義==
+
* 信號(hào)類型:數(shù)字信號(hào)
 +
* 紅外中心波長(zhǎng):約850nm-940nm
 +
* 紅外發(fā)射角:約20度
 +
* 紅外發(fā)射距離:約1.3米 (5V 38Khz)
 +
==接口定義==
 
:傳感器引腳的定義是
 
:傳感器引腳的定義是
 
* S:輸出信號(hào)
 
* S:輸出信號(hào)
 
* +:電源(VCC)
 
* +:電源(VCC)
 
* -:地(GND)
 
* -:地(GND)
?
[[文件:3232-2.jpg|500px|有框|居中]]
+
[[文件:hongwaifashe01.jpg|500px|有框|居中]]
?
==連接示意圖 ==
+
==使用方法==
?
[[文件:hongwaifashejiexian.jpg|700px|有框|居中]]
+
===連接示意圖===
?
 
+
[[文件:hongwaifashejiexian01.jpg|700px|有框|居中]]
?
==模塊測(cè)試 ==
+
===看見(jiàn)紅外線===
?
我們使用Arduino控制器來(lái)做個(gè)測(cè)試,要用到硬件設(shè)備如下:
+
試驗(yàn)?zāi)康模?秒間隔發(fā)射紅外線<br/>
?
# Arduino控制器×2
+
====使用硬件====
?
# Arduino 傳感器擴(kuò)展板×2
+
* [http://lifestyle201.com/goods-546.html Carduino UNO 控制器] * 1個(gè)
?
# 紅外發(fā)射模塊×1和紅外接收模塊×1
+
* [http://lifestyle201.com/goods-147.html V5.0傳感器擴(kuò)展板] * 1個(gè)
?
# 電位計(jì)模塊×1和 LED 發(fā)光模塊×1
+
* [http://lifestyle201.com/goods-155.html 紅外發(fā)射傳感器] * 1個(gè)
?
# 通用3P傳感器連接線×4
+
* 具備攝像頭的手機(jī)*1部
?
# USB 數(shù)據(jù)通信線×2
+
====連線方法====
?
[[文件:3232-4.jpg|500px|有框|居中]]
+
將紅外發(fā)射模塊接在Carduino UNO控制器的數(shù)字3引腳
?
:如圖所示,使用傳感器連接線將電位計(jì)模塊連接到作為發(fā)射部分的Arduino傳感器擴(kuò)展板的模擬口0 上,紅外發(fā)射頭連接到 Arduino傳感器擴(kuò)展板的數(shù)字口2 上。然后使用傳感器連接線將紅外發(fā)射頭連接到作為接收部分的Arduino傳感器擴(kuò)展板的數(shù)字口2上,將LED 發(fā)光模塊連接到Arduino傳感器擴(kuò)展板的數(shù)字口9 上。
+
====例子程序====
?
:將發(fā)送部分代碼編譯后下載到作為發(fā)送部分的Arduino里,將接收部分代碼編譯后下載到作為接收部分的Arduino里,就可以在串口助手窗口上顯示接收到的當(dāng)前值(注:串口助手波特率調(diào)到115200 )。Arduino實(shí)驗(yàn)代碼如下。
+
<pre style="color:blue">
?
:發(fā)送部分程序:
+
void setup() {
?
<pre style='color:blue'>#define ADD 0x00
+
  // initialize digital pin 13 as an output.
?
int IR_S = 2;    // 定義數(shù)字口2 為發(fā)射模塊接口
+
  pinMode(3, OUTPUT);
?
int a;
+
?
void setup()  
+
?
{
+
?
pinMode(IR_S, OUTPUT); //定義IR_S為輸出模式
+
?
Serial.begin(115200); //定義頻率為115200
+
 
}
 
}
?
void loop()  
+
// the loop function runs over and over again forever
?
{  
+
void loop() {
?
    uint8_t dat,temp;    
+
   digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
?
{   
+
  delay(1000);             // wait for a second
?
      a=analogRead(0); // 讀取模擬口0 的值
+
  digitalWrite(3, LOW);   // turn the LED off by making the voltage LOW
?
      temp =a/4;
+
  delay(1000);             // wait for a second
?
      Serial.println(temp,DEC ); // 將讀取的數(shù)值打印到串口上
+
}
?
      IR_Send38KHZ(280,1);//發(fā)送9ms 的起始碼
+
</pre>
?
      IR_Send38KHZ(140,0);//發(fā)送4.5ms 的結(jié)果碼
+
====試驗(yàn)效果====
?
   
+
程序上傳到Carduino UNO控制器后,將本模塊放置到暗環(huán)境下(可放入紙盒或用手遮擋),用手機(jī)攝像頭對(duì)準(zhǔn)紅外發(fā)射頭前端,并在照相/攝像功能中仔細(xì)觀察,可以看到有藍(lán)紫色光在緩慢閃爍。注意在攝像范圍內(nèi)要整體處于暗光狀態(tài),若有較亮的光則無(wú)法觀察到。
?
      IR_Sendcode(ADD);//用戶識(shí)別碼
+
===紅外遙控/通訊===
?
      dat=~ADD;
+
紅外遙控或通訊在技術(shù)上可以采用載波方式和非載波方式,所謂載波方式就是將要發(fā)送的信號(hào)調(diào)制到較高的載波頻率上,以達(dá)到抗干擾、抗衰減等目的。由于紅外線本身存在于自然光中,因此家電的紅外遙控普遍使用38kHz的載波來(lái)達(dá)到抗干擾的目的。
?
      IR_Sendcode(dat);//用戶識(shí)別碼反嗎
+
====使用硬件====
?
      IR_Sendcode(temp);// 操作碼
+
* [http://lifestyle201.com/goods-546.html Carduino UNO 控制器] * 2個(gè)
?
      dat=~temp;
+
* [http://lifestyle201.com/goods-147.html V5.0傳感器擴(kuò)展板] * 2個(gè)
?
      IR_Sendcode(dat);//操作碼反碼
+
* [http://lifestyle201.com/goods-157.html 紅外接收模塊] * 1個(gè)
?
   
+
* [http://lifestyle201.com/goods-155.html 紅外發(fā)射傳感器] * 1個(gè)
?
      IR_Send38KHZ(21,1);// 發(fā)送結(jié)束碼
+
====硬件接線====
?
    }
+
* 紅外發(fā)射模塊接在Carduino UNO的數(shù)字3腳
?
    delay(200);
+
* 紅外接收模塊接在Carduino UNO的數(shù)字11腳
?
}   
+
====測(cè)試程序====
 +
IRremote 庫(kù)文件下載鏈接<br/>
 +
鏈接:https://pan.baidu.com/s/1wWgp1k-oXOKg-cFL502GGQ
 +
提取碼:6sox
 +
=====發(fā)射端程序=====
 +
<pre style="color:blue">
 +
#include <IRremote.h>
 +
IRsend irsend;
 +
void setup()
 +
{
 +
}
 +
  void loop() {
 
   
 
   
?
void IR_Send38KHZ(int x,int y) //產(chǎn)生38KHZ紅外脈沖
+
    irsend.sendRC5(0x0, 8); //send 0x0 code (8 bits)
?
{  
+
    delay(200);
?
  for(int i=0;i<x;i++)//15=386US
+
    irsend.sendRC5(0x1, 8);
?
  {  
+
    delay(200);
?
      if(y==1)  
+
  }
?
        {  
+
  </pre>
?
      digitalWrite(IR_S,1);  
+
=====接收端程序=====
?
          delayMicroseconds(9);  
+
<pre style="color:blue">
?
          digitalWrite(IR_S,0);  
+
#include <IRremote.h>
?
          delayMicroseconds(9);  
+
const int RECV_PIN = 11;
?
        }  
+
const int LED_PIN = 13;
?
       else
+
IRrecv irrecv(RECV_PIN);
?
        {  
+
  decode_results results;
?
          digitalWrite(IR_S,0);  
+
void setup()
?
          delayMicroseconds(20);  
+
{
?
        }
+
  Serial.begin(9600);
?
   }                                                          
+
  irrecv.enableIRIn(); // Start the receiver
?
}  
+
  pinMode(LED_PIN,OUTPUT);
 +
}
 +
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
 +
   }
 +
}
 +
</pre>
  
?
void IR_Sendcode(uint8_t x) 
+
==視頻演示==
?
{
+
[[File:hong wai wu xian01.png|400px|左|link=http://v.youku.com/v_show/id_XODc4NDg2NDYw.html?from=y1.7-2]]
?
    for(int i=0;i<8;i++)
+
[[File:hong wai yan se 01.png|400px|居中|link=http://v.youku.com/v_show/id_XODc4NDc4MTQw.html?from=y1.7-2]]
?
    {
+
<br/>
?
      if((x&0x01)==0x01)
+
==產(chǎn)品相關(guān)推薦==
?
        {
+
[[文件:erweima.png|230px|無(wú)框|右]]
?
            IR_Send38KHZ(23,1);
+
===產(chǎn)品購(gòu)買地址===
?
            IR_Send38KHZ(64,0);             
+
[http://lifestyle201.com/goods.php?id=155 紅外發(fā)射模塊]<br/>
?
        }
+
===周邊產(chǎn)品推薦===
?
        else 
+
[http://lifestyle201.com/goods-151.html 紅外接收遙控套裝]<br/>
?
        {
+
[http://lifestyle201.com/goods-153.html 紅外接收發(fā)射套裝]<br/>
?
            IR_Send38KHZ(23,1);
+
[http://lifestyle201.com/goods-155.html 紅外發(fā)射模塊]<br/>
?
            IR_Send38KHZ(21,0); 
+
===相關(guān)問(wèn)題解答===
?
        }
+
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=2617&fromuid=10780 紅外接收發(fā)射套裝的編碼解碼技術(shù)問(wèn)題]<br/>
?
        x=x>>1;
+
===相關(guān)學(xué)習(xí)資料===
?
    } 
+
[http://v.youku.com/v_show/id_XODc4NDc4MTQw.html?from=y1.7-2 視頻: 紅外無(wú)線發(fā)射接收之顏色識(shí)別系統(tǒng)]<br/>
?
} </pre>
+
[http://v.youku.com/v_show/id_XODc4NDg2NDYw.html?from=y1.7-2 視頻: 紅外無(wú)線傳輸之旋轉(zhuǎn)電位計(jì)控制LED燈]<br/>
?
:此代碼的功能是從模擬口0 讀取電位計(jì)的值,并通過(guò)紅外發(fā)射頭將讀取的數(shù)值發(fā)送出去。
+
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>
?
接收部分程序:
+
?
<pre style='color:blue'>#define IR_LED  2  //IR 接收數(shù)字口2
+
?
#define MAX  128
+
?
#define MICRO_STEP  10
+
?
#define IDLE_PULSE  4000
+
?
unsigned long pulses[MAX];
+
?
unsigned char IRCOM[7];
+
?
unsigned long z;
+
?
int w;
+
?
byte f=B00000000; // 定義f 為位
+
?
int n;
+
?
int ledpin=9; // 定義數(shù)字口9 為L(zhǎng)ED 模塊接口
+
?
void setup()
+
?
{
+
?
  pinMode(IR_LED, INPUT);
+
?
  Serial.begin(115200);
+
?
  pinMode(ledpin,OUTPUT); //定義ledpin 為輸出模式
+
?
}
+
?
                                                           
+
?
void loop()
+
?
+
?
  if( digitalRead(IR_LED) == LOW)
+
?
  {
+
?
    // 開(kāi)始接收數(shù)據(jù)
+
?
        int count = 0;
+
?
        int exit = 0;
+
?
    while(!exit)
+
?
    {
+
?
      while( digitalRead(IR_LED) == LOW )
+
?
        delayMic roseconds(MICRO_STEP);
+
?
      unsigned long start = micros();
+
?
      int max_high = 0;
+
?
      while( digitalRead(IR_LED) == HIGH )
+
?
      {
+
?
        delayMic roseconds(MICRO_STEP);
+
?
        max_high += MICRO_STEP;
+
?
        if( max_high > IDLE_PULSE )
+
?
        {
+
?
          exit = 1;
+
?
          break;
+
?
        }
+
?
      }
+
?
      unsigned long duration = micros() - start;
+
?
      pulses[count++] = duration;
+
?
    }
+
?
    for(int i=3; i<4; i++)
+
?
    {
+
?
      for(int j=0;j<8;j++)
+
?
      {
+
?
        if(pulses[ i*8+j+1] < IDLE_PULSE)
+
?
        {
+
?
            IRCOM[i]=IRCOM [i] >> 1;           
+
?
            if((pulses[i*8+j+1])>1000)
+
?
              {IRCOM[i] = IRCOM[i] | 0x80;}           
+
?
        }
+
?
      z= pulses[i*8+j+1];
+
?
/***************************************************/  
+
?
    //將接收到的脈沖數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制                                                                   
+
?
/***************************************************/ 
+
?
      if(z<800)
+
?
          w=10000000;  //如果Z 小于800  w=10000000
+
?
      else
+
?
          w=00000000;  //如果Z 大于800  w=00000000
+
?
      f=f>>1;        // 將f 右移1 位
+
?
      f=f+w;     
+
?
/***************************************************/  
+
?
    }
+
?
    }
+
?
  n=int(f);
+
?
  Serial.print(n);// 將接收到的數(shù)據(jù)打印到串口上
+
?
  analogWrite(ledpin,n); //將接收到的數(shù)據(jù)寫(xiě)入ledpin 接口,控制LED 亮度
+
?
  }
+
?
} </pre>
+
?
:此部分代碼功能是通過(guò)紅外接收頭接收發(fā)送部分發(fā)送出的電位計(jì)的值來(lái)控制LED的亮度變化并通過(guò)串口助手顯示當(dāng)前接收到的值。如下圖所示左側(cè)串口助手(串口號(hào)為:117 )顯示的是紅外發(fā)送部分當(dāng)前發(fā)送出的電位計(jì)的值,右側(cè)串口助手(串口號(hào)為:88)顯示的是紅外接收部分接收到的數(shù)值。通過(guò)旋轉(zhuǎn)角度電位計(jì)模塊可以控制接收端的LED亮度
+
?
[[文件:3232-5.jpg|500px|有框|居中]]
+
?
==相關(guān)推薦==
+
?
購(gòu)買地址:[http://www.alsrobot.cn/goods.php?id=155 紅外發(fā)射模塊]<br/>
+
?
論壇地址:[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]
+

2021年12月1日 (三) 10:23的最后版本

3232.jpg

目錄

產(chǎn)品概述

由于在遠(yuǎn)距離傳輸過(guò)程中使用連接線可能會(huì)導(dǎo)致傳輸數(shù)據(jù)錯(cuò)誤。IR&LED Module 是一款A(yù)rduino兼容的紅外線發(fā)射傳感器,可通過(guò)對(duì)Arduino進(jìn)行編程發(fā)射出38KHz 調(diào)制信號(hào),可適應(yīng)市面上各種紅外接收頭,以便IR Receiver Module 38KHz 紅外線接收傳感器能接收到,從而實(shí)現(xiàn)紅外無(wú)線通訊。 紅外發(fā)射模塊上的核心器件是紅外發(fā)射管,其廣泛使用在紅外遙控設(shè)備上。該模塊有3PIN接口,可以方便的通過(guò)Arduino等控制板實(shí)現(xiàn)紅外遙控、通訊的功能。紅外發(fā)射管是一個(gè)能發(fā)射出特定波長(zhǎng)紅外光的二極管。紅外遙控器就是使用的紅外發(fā)射頭發(fā)出一連串的二進(jìn)制脈沖碼信號(hào)。為了使其在無(wú)線傳輸過(guò)程中免受其他紅外信號(hào)的干擾,通常都是先將其調(diào)制在特定的載波頻率上,然后再經(jīng)紅外發(fā)射二極管發(fā)射頭發(fā)射出去。

規(guī)格參數(shù)

  • 供電電壓:5V
  • 工作環(huán)境:-25~+85℃
  • 儲(chǔ)存溫度:-30~+100 ℃
  • 波長(zhǎng):940nm
  • 模塊尺寸:13.7mm×27.8mm
  • 模塊重量:1g
  • 信號(hào)類型:數(shù)字信號(hào)
  • 紅外中心波長(zhǎng):約850nm-940nm
  • 紅外發(fā)射角:約20度
  • 紅外發(fā)射距離:約1.3米 (5V 38Khz)

接口定義

傳感器引腳的定義是
  • S:輸出信號(hào)
  • +:電源(VCC)
  • -:地(GND)
Hongwaifashe01.jpg

使用方法

連接示意圖

Hongwaifashejiexian01.jpg

看見(jiàn)紅外線

試驗(yàn)?zāi)康模?秒間隔發(fā)射紅外線

使用硬件

連線方法

將紅外發(fā)射模塊接在Carduino UNO控制器的數(shù)字3引腳

例子程序

void setup() {
  // initialize digital pin 13 as an output.
  pinMode(3, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(3, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

試驗(yàn)效果

程序上傳到Carduino UNO控制器后,將本模塊放置到暗環(huán)境下(可放入紙盒或用手遮擋),用手機(jī)攝像頭對(duì)準(zhǔn)紅外發(fā)射頭前端,并在照相/攝像功能中仔細(xì)觀察,可以看到有藍(lán)紫色光在緩慢閃爍。注意在攝像范圍內(nèi)要整體處于暗光狀態(tài),若有較亮的光則無(wú)法觀察到。

紅外遙控/通訊

紅外遙控或通訊在技術(shù)上可以采用載波方式和非載波方式,所謂載波方式就是將要發(fā)送的信號(hào)調(diào)制到較高的載波頻率上,以達(dá)到抗干擾、抗衰減等目的。由于紅外線本身存在于自然光中,因此家電的紅外遙控普遍使用38kHz的載波來(lái)達(dá)到抗干擾的目的。

使用硬件

硬件接線

  • 紅外發(fā)射模塊接在Carduino UNO的數(shù)字3腳
  • 紅外接收模塊接在Carduino UNO的數(shù)字11腳

測(cè)試程序

IRremote 庫(kù)文件下載鏈接
鏈接:https://pan.baidu.com/s/1wWgp1k-oXOKg-cFL502GGQ 提取碼:6sox

發(fā)射端程序
#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);
 }
 
接收端程序
#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
   pinMode(LED_PIN,OUTPUT);
 }
 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
   }
 }

視頻演示

Hong wai wu xian01.png
Hong wai yan se 01.png


產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購(gòu)買地址

紅外發(fā)射模塊

周邊產(chǎn)品推薦

紅外接收遙控套裝
紅外接收發(fā)射套裝
紅外發(fā)射模塊

相關(guān)問(wèn)題解答

紅外接收發(fā)射套裝的編碼解碼技術(shù)問(wèn)題

相關(guān)學(xué)習(xí)資料

視頻: 紅外無(wú)線發(fā)射接收之顏色識(shí)別系統(tǒng)
視頻: 紅外無(wú)線傳輸之旋轉(zhuǎn)電位計(jì)控制LED燈
奧松機(jī)器人技術(shù)論壇