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

來自ALSROBOT WiKi
跳轉至: 導航、 搜索
?測試程序
 
(未顯示1個用戶的8個中間版本)
第1行: 第1行:
?
<br/>
 
 
[[文件:3232.jpg|500px|有框|右]]
 
[[文件:3232.jpg|500px|有框|右]]
?
==概述==
+
==產(chǎn)品概述==
?
:由于在遠距離傳輸過程中使用連接線可能會導致傳輸數(shù)據(jù)錯誤。2010年最新推出的IR&LED Module 是一款Arduino兼容的紅外線發(fā)射傳感器,可通過對Arduino進行編程發(fā)射出38KHz 調(diào)制信號,可適應市面上各種紅外接收頭,以便IR Receiver Module 38KHz 紅外線接收傳感器能接收到,從而實現(xiàn)紅外無線通訊。
+
:由于在遠距離傳輸過程中使用連接線可能會導致傳輸數(shù)據(jù)錯誤。IR&LED Module 是一款Arduino兼容的紅外線發(fā)射傳感器,可通過對Arduino進行編程發(fā)射出38KHz 調(diào)制信號,可適應市面上各種紅外接收頭,以便IR Receiver Module 38KHz 紅外線接收傳感器能接收到,從而實現(xiàn)紅外無線通訊。 紅外發(fā)射模塊上的核心器件是紅外發(fā)射管,其廣泛使用在紅外遙控設備上。該模塊有3PIN接口,可以方便的通過Arduino等控制板實現(xiàn)紅外遙控、通訊的功能。紅外發(fā)射管是一個能發(fā)射出特定波長紅外光的二極管。紅外遙控器就是使用的紅外發(fā)射頭發(fā)出一連串的二進制脈沖碼信號。為了使其在無線傳輸過程中免受其他紅外信號的干擾,通常都是先將其調(diào)制在特定的載波頻率上,然后再經(jīng)紅外發(fā)射二極管發(fā)射頭發(fā)射出去。
?
==性能參數(shù)==
+
==規(guī)格參數(shù)==
?
# 供電電壓:  5V
+
* 供電電壓:5V
?
# 工作環(huán)境:-25~+85℃  
+
* 工作環(huán)境:-25~+85℃  
?
# 儲存溫度:-30~+100 ℃  
+
* 儲存溫度:-30~+100 ℃  
?
# 波長: 940nm
+
* 波長:940nm
?
# 模塊尺寸: 13.7mm×27.8mm  
+
* 模塊尺寸:13.7mm×27.8mm  
?
# 模塊重量: 1g
+
* 模塊重量:1g
?
==引腳定義==
+
* 信號類型:數(shù)字信號
 +
* 紅外中心波長:約850nm-940nm
 +
* 紅外發(fā)射角:約20度
 +
* 紅外發(fā)射距離:約1.3米 (5V 38Khz)
 +
==接口定義==
 
:傳感器引腳的定義是
 
:傳感器引腳的定義是
 
* S:輸出信號
 
* S:輸出信號
第16行: 第19行:
 
* -:地(GND)
 
* -:地(GND)
 
[[文件:hongwaifashe01.jpg|500px|有框|居中]]
 
[[文件:hongwaifashe01.jpg|500px|有框|居中]]
?
==連接示意圖 ==
+
==使用方法==
 +
===連接示意圖===
 
[[文件:hongwaifashejiexian01.jpg|700px|有框|居中]]
 
[[文件:hongwaifashejiexian01.jpg|700px|有框|居中]]
?
 
+
===看見紅外線===
?
==模塊測試 ==
+
試驗目的:1秒間隔發(fā)射紅外線<br/>
?
我們使用Arduino控制器來做個測試,要用到硬件設備如下:
+
====使用硬件====
?
# Arduino控制器×2
+
* [http://lifestyle201.com/goods-546.html Carduino UNO 控制器] * 1個
?
# Arduino 傳感器擴展板×2
+
* [http://lifestyle201.com/goods-147.html V5.0傳感器擴展板] * 1個
?
# 紅外發(fā)射模塊×1和紅外接收模塊×1
+
* [http://lifestyle201.com/goods-155.html 紅外發(fā)射傳感器] * 1個
?
# 電位計模塊×1和 LED 發(fā)光模塊×1
+
* 具備攝像頭的手機*1部
?
# 通用3P傳感器連接線×4
+
====連線方法====
?
# USB 數(shù)據(jù)通信線×2
+
將紅外發(fā)射模塊接在Carduino UNO控制器的數(shù)字3引腳
?
[[文件:3232-4.jpg|500px|有框|居中]]
+
====例子程序====
?
:如圖所示,使用傳感器連接線將電位計模塊連接到作為發(fā)射部分的Arduino傳感器擴展板的模擬口0 上,紅外發(fā)射頭連接到 Arduino傳感器擴展板的數(shù)字口2 上。然后使用傳感器連接線將紅外接收頭連接到作為接收部分的Arduino傳感器擴展板的數(shù)字口2上,將LED 發(fā)光模塊連接到Arduino傳感器擴展板的數(shù)字口9 上。
+
<pre style="color:blue">
?
:將發(fā)送部分代碼編譯后下載到作為發(fā)送部分的Arduino里,將接收部分代碼編譯后下載到作為接收部分的Arduino里,就可以在串口助手窗口上顯示接收到的當前值(注:串口助手波特率調(diào)到115200 )。Arduino實驗代碼如下。
+
void setup() {
?
:發(fā)送部分程序:
+
  // initialize digital pin 13 as an output.
?
<pre style='color:blue'>#define ADD 0x00
+
  pinMode(3, OUTPUT);
?
int IR_S = 2;    // 定義數(shù)字口2 為發(fā)射模塊接口
+
?
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 的結果碼
+
====試驗效果====
?
   
+
程序上傳到Carduino UNO控制器后,將本模塊放置到暗環(huán)境下(可放入紙盒或用手遮擋),用手機攝像頭對準紅外發(fā)射頭前端,并在照相/攝像功能中仔細觀察,可以看到有藍紫色光在緩慢閃爍。注意在攝像范圍內(nèi)要整體處于暗光狀態(tài),若有較亮的光則無法觀察到。
?
      IR_Sendcode(ADD);//用戶識別碼
+
===紅外遙控/通訊===
?
      dat=~ADD;
+
紅外遙控或通訊在技術上可以采用載波方式和非載波方式,所謂載波方式就是將要發(fā)送的信號調(diào)制到較高的載波頻率上,以達到抗干擾、抗衰減等目的。由于紅外線本身存在于自然光中,因此家電的紅外遙控普遍使用38kHz的載波來達到抗干擾的目的。
?
      IR_Sendcode(dat);//用戶識別碼反嗎
+
====使用硬件====
?
      IR_Sendcode(temp);// 操作碼
+
* [http://lifestyle201.com/goods-546.html Carduino UNO 控制器] * 2個
?
      dat=~temp;
+
* [http://lifestyle201.com/goods-147.html V5.0傳感器擴展板] * 2個
?
      IR_Sendcode(dat);//操作碼反碼
+
* [http://lifestyle201.com/goods-157.html 紅外接收模塊] * 1個
?
   
+
* [http://lifestyle201.com/goods-155.html 紅外發(fā)射傳感器] * 1個
?
      IR_Send38KHZ(21,1);// 發(fā)送結束碼
+
====硬件接線====
?
    }
+
* 紅外發(fā)射模塊接在Carduino UNO的數(shù)字3腳
?
    delay(200);
+
* 紅外接收模塊接在Carduino UNO的數(shù)字11腳
?
}   
+
====測試程序====
 +
IRremote 庫文件下載鏈接<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)品相關推薦==
?
        {
+
[[文件:erweima.png|230px|無框|右]]
?
            IR_Send38KHZ(23,1);
+
===產(chǎn)品購買地址===
?
            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); 
+
===相關問題解答===
?
        }
+
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=2617&fromuid=10780 紅外接收發(fā)射套裝的編碼解碼技術問題]<br/>
?
        x=x>>1;
+
===相關學習資料===
?
    } 
+
[http://v.youku.com/v_show/id_XODc4NDc4MTQw.html?from=y1.7-2 視頻: 紅外無線發(fā)射接收之顏色識別系統(tǒng)]<br/>
?
} </pre>
+
[http://v.youku.com/v_show/id_XODc4NDg2NDYw.html?from=y1.7-2 視頻: 紅外無線傳輸之旋轉電位計控制LED燈]<br/>
?
:此代碼的功能是從模擬口0 讀取電位計的值,并通過紅外發(fā)射頭將讀取的數(shù)值發(fā)送出去。
+
[http://www.makerspace.cn/portal.php 奧松機器人技術論壇]<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 為LED 模塊接口
+
?
void setup()
+
?
{
+
?
  pinMode(IR_LED, INPUT);
+
?
  Serial.begin(115200);
+
?
  pinMode(ledpin,OUTPUT); //定義ledpin 為輸出模式
+
?
}
+
?
                                                           
+
?
void loop()
+
?
+
?
  if( digitalRead(IR_LED) == LOW)
+
?
  {
+
?
    // 開始接收數(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ù)轉換成十進制                                                                   
+
?
/***************************************************/ 
+
?
      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ù)寫入ledpin 接口,控制LED 亮度
+
?
  }
+
?
} </pre>
+
?
:此代碼的功能是通過紅外接收頭接收發(fā)送部分發(fā)送出的電位計的值,將讀到的值來控制LED的亮度,并通過串口助手顯示當前接收到的值。如下圖所示左側串口助手(串口號為:117 )顯示的是紅外發(fā)送部分當前發(fā)送出的電位計的值,右側串口助手(串口號為:88)顯示的是紅外接收部分接收到的數(shù)值。這樣就實現(xiàn)了通過旋轉角度電位計模塊無線控制接收端的LED亮度。
+
?
[[文件:3232-5.jpg|500px|有框|居中]]
+
?
 
+
?
==相關推薦==
+
?
購買地址:[http://www.alsrobot.cn/goods.php?id=155 紅外發(fā)射模塊]<br/>
+
?
論壇地址:[http://www.makerspace.cn/portal.php 奧松機器人技術論壇]
+

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

3232.jpg

目錄

產(chǎn)品概述

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

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

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

接口定義

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

使用方法

連接示意圖

Hongwaifashejiexian01.jpg

看見紅外線

試驗目的:1秒間隔發(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
}

試驗效果

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

紅外遙控/通訊

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

使用硬件

硬件接線

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

測試程序

IRremote 庫文件下載鏈接
鏈接: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)品相關推薦

Erweima.png

產(chǎn)品購買地址

紅外發(fā)射模塊

周邊產(chǎn)品推薦

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

相關問題解答

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

相關學習資料

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