“(SKU:RB-03T005)紅外接收模塊”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索
?例子程序
 
(未顯示2個(gè)用戶的7個(gè)中間版本)
第1行: 第1行:
?
<br/>
 
 
[[文件:12345005.jpg|500px|有框|右]]
 
[[文件:12345005.jpg|500px|有框|右]]
?
==概述==
+
==產(chǎn)品概述==
 
:IR Receiver Module是一款A(yù)rduino兼容的38KHz紅外線接收模塊,可接收標(biāo)準(zhǔn)38KHz調(diào)制的遙控器信號(hào),通過對(duì)Arduino進(jìn)行編程,即可實(shí)現(xiàn)對(duì)遙控器信號(hào)的解碼操作??墒褂肁rduino制作一款帶學(xué)習(xí)功能的萬能遙控器。
 
:IR Receiver Module是一款A(yù)rduino兼容的38KHz紅外線接收模塊,可接收標(biāo)準(zhǔn)38KHz調(diào)制的遙控器信號(hào),通過對(duì)Arduino進(jìn)行編程,即可實(shí)現(xiàn)對(duì)遙控器信號(hào)的解碼操作。可使用Arduino制作一款帶學(xué)習(xí)功能的萬能遙控器。
?
==性能參數(shù)==
+
==規(guī)格參數(shù)==
?
# 供電電壓: 5V  
+
* 供電電壓: 5V  
?
# 工作環(huán)境: -25~+85℃  
+
* 工作環(huán)境: -25~+85℃  
?
# 儲(chǔ)存溫度: -30~+100 ℃  
+
* 儲(chǔ)存溫度: -30~+100 ℃  
?
# 接收頻率: 38KHz
+
* 接收頻率: 38KHz
?
# 模塊尺寸: 13.7mm×27.8mm  
+
* 模塊尺寸: 13.7mm×27.8mm  
?
# 模塊重量: 2g  
+
* 模塊重量: 2g
 +
 
 
==引腳定義==
 
==引腳定義==
?
傳感器引腳的定義是
+
紅外接收傳感器引腳的定義是<br/>
 
* S:輸出信號(hào)
 
* S:輸出信號(hào)
 
* +:電源(VCC)
 
* +:電源(VCC)
 
* -:地(GND)
 
* -:地(GND)
 
[[文件:hongwaijieshou01.jpg|500px|有框|居中]]
 
[[文件:hongwaijieshou01.jpg|500px|有框|居中]]
?
==4.連接示意圖 ==
+
===連接示意圖===
 
[[文件:hongwaijieshoujiexian01.jpg|700px|有框|居中]]
 
[[文件:hongwaijieshoujiexian01.jpg|700px|有框|居中]]
?
==模塊測試 ==
+
==使用方法==
?
我們使用Arduino控制器來做個(gè)測試,要用到硬件設(shè)備如下:
+
===使用硬件===
?
# Arduino控制器×2
+
* [http://lifestyle201.com/goods-546.html Carduino UNO R3 控制器] * 2
?
# Arduino 傳感器擴(kuò)展板×2
+
* [http://lifestyle201.com/goods-147.html Arduino 傳感器擴(kuò)展板V5.0] * 2
?
# 紅外發(fā)射模塊×1和紅外接收模塊×1
+
* [http://lifestyle201.com/goods-155.html 紅外發(fā)射模塊] * 1個(gè)
?
# 電位計(jì)模塊×1和 LED 發(fā)光模塊×1
+
* [http://lifestyle201.com/goods-157.html 紅外接收模塊] * 1個(gè)
?
# 電位計(jì)模塊×1和 LED 發(fā)光模塊×1
+
* [http://lifestyle201.com/goods-167.html 電位計(jì)模塊] * 1個(gè)
?
# USB 數(shù)據(jù)通信線×2
+
* [http://lifestyle201.com/goods-133.html LED 發(fā)光模塊] * 1個(gè)
 +
* [http://lifestyle201.com/goods-90.html USB 數(shù)據(jù)通信線] * 2個(gè)
 
[[文件:324325-4.jpg|500px|有框|居中]]
 
[[文件:324325-4.jpg|500px|有框|居中]]
?
接線方法:
+
===接線方法===
 
{|border="1" cellspacing="0" align="center" cellpadding="5" width="400px"
 
{|border="1" cellspacing="0" align="center" cellpadding="5" width="400px"
 
|-
 
|-
第46行: 第47行:
 
|}
 
|}
 
<br>   
 
<br>   
?
:將發(fā)送部分代碼編譯后下載到作為發(fā)送部分的Arduino里,將接收部分代碼編譯后下載到作為接收部分的Arduino里,就可以在串口助手窗口上顯示接收到的當(dāng)前值(注:串口助手波特率調(diào)到115200 )。Arduino實(shí)驗(yàn)代碼如下。  
+
:將發(fā)送部分代碼編譯后下載到作為發(fā)送部分的Arduino里,將接收部分代碼編譯后下載到作為接收部分的Arduino里,就可以在串口助手窗口上顯示接收到的當(dāng)前值(注:串口助手波特率調(diào)到115200 )。Arduino實(shí)驗(yàn)代碼如下。
?
:發(fā)送部分程序:
+
===例子程序===
?
<pre style='color:blue'>#define ADD 0x00  
+
程序安裝前,需要先進(jìn)行庫文件的安裝,IRremote 庫文件
 +
 
 +
鏈接: https://pan.baidu.com/s/1CWBaxYwmneVpBWZKH3KSDQ?pwd=f9as 提取碼: f9as 
 +
====發(fā)送部分程序====
 +
<pre style='color:blue'>
 +
#define ADD 0x00  
 
int IR_S = 2;    // 定義數(shù)字口2 為發(fā)射模塊接口  
 
int IR_S = 2;    // 定義數(shù)字口2 為發(fā)射模塊接口  
 
int a;  
 
int a;  
第112行: 第118行:
 
} </pre>
 
} </pre>
 
:此代碼的功能是從模擬口0 讀取電位計(jì)的值,并通過紅外發(fā)射頭將讀取的數(shù)值發(fā)送出去。  
 
:此代碼的功能是從模擬口0 讀取電位計(jì)的值,并通過紅外發(fā)射頭將讀取的數(shù)值發(fā)送出去。  
?
接收部分程序:
+
====接收部分程序====
?
<pre style='color:blue'>#define IR_LED  2  //IR 接收數(shù)字口2  
+
<pre style='color:blue'>
 +
#define IR_LED  2  //IR 接收數(shù)字口2  
 
#define MAX  128  
 
#define MAX  128  
 
#define MICRO_STEP  10  
 
#define MICRO_STEP  10  
第167行: 第174行:
 
               {IRCOM[i] = IRCOM[i] | 0x80;}             
 
               {IRCOM[i] = IRCOM[i] | 0x80;}             
 
         }  
 
         }  
?
       z= pulses[i*8+j+1];  
+
       z= pulses[i*8+j+1];  //將接收到的脈沖數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制                                                                    
?
  /***************************************************/
+
?
    //將接收到的脈沖數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制                                                                  
+
?
/***************************************************/ 
+
 
       if(z<800)  
 
       if(z<800)  
 
           w=10000000;  //如果Z 小于800  w=10000000  
 
           w=10000000;  //如果Z 小于800  w=10000000  
第177行: 第181行:
 
       f=f>>1;        // 將f 右移1 位  
 
       f=f>>1;        // 將f 右移1 位  
 
       f=f+w;       
 
       f=f+w;       
?
/***************************************************/
 
 
     }  
 
     }  
 
     }  
 
     }  
第186行: 第189行:
 
} </pre>
 
} </pre>
  
?
:此代碼的功能是通過紅外接收頭接收發(fā)送部分發(fā)送出的電位計(jì)的值,將讀到的值來控制LED的亮度,并通過串口助手顯示當(dāng)前接收到的值。如下圖所示左側(cè)串口助手(串口號(hào)為:117 )顯示的是紅外發(fā)送部分當(dāng)前發(fā)送出的電位計(jì)的值,右側(cè)串口助手(串口號(hào)為:88)顯示的是紅外接收部分接收到的數(shù)值。這樣就實(shí)現(xiàn)了通過旋轉(zhuǎn)角度電位計(jì)模塊無線控制接收端的LED亮度。
+
===程序效果===
 +
此代碼的功能是通過紅外接收頭接收發(fā)送部分發(fā)送出的電位計(jì)的值,將讀到的值來控制LED的亮度,并通過串口助手顯示當(dāng)前接收到的值。如下圖所示左側(cè)串口助手(串口號(hào)為:117 )顯示的是紅外發(fā)送部分當(dāng)前發(fā)送出的電位計(jì)的值,右側(cè)串口助手(串口號(hào)為:88)顯示的是紅外接收部分接收到的數(shù)值。這樣就實(shí)現(xiàn)了通過旋轉(zhuǎn)角度電位計(jì)模塊無線控制接收端的LED亮度。
 
[[文件:324325-5.jpg|500px|有框|居中]]
 
[[文件:324325-5.jpg|500px|有框|居中]]
?
→購買地址  紅外發(fā)射模塊 http://lifestyle201.com/goods.php?id=155]
+
 
 +
==視頻演示==
 +
[[File:hong wai wu xian01.png|400px|左|link=http://v.youku.com/v_show/id_XODc4NDg2NDYw.html?from=y1.7-2]]
 +
[[File:hong wai yan se 01.png|400px|居中|link=http://v.youku.com/v_show/id_XODc4NDc4MTQw.html?from=y1.7-2]]
 +
<br/>
 +
==產(chǎn)品相關(guān)推薦==
 +
[[文件:erweima.png|230px|無框|右]]
 +
===產(chǎn)品購買地址===
 +
[http://lifestyle201.com/goods.php?id=155 紅外發(fā)射模塊]<br/>
 +
===周邊產(chǎn)品推薦===
 +
[http://lifestyle201.com/goods-151.html 紅外接收遙控套裝]<br/>
 +
[http://lifestyle201.com/goods-153.html 紅外接收發(fā)射套裝]<br/>
 +
[http://lifestyle201.com/goods-155.html 紅外發(fā)射模塊]<br/>
 +
===相關(guān)問題解答===
 +
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=2617&fromuid=10780 紅外接收發(fā)射套裝的編碼解碼技術(shù)問題]<br/>
 +
===相關(guān)學(xué)習(xí)資料===
 +
[http://v.youku.com/v_show/id_XODc4NDc4MTQw.html?from=y1.7-2 視頻: 紅外無線發(fā)射接收之顏色識(shí)別系統(tǒng)]<br/>
 +
[http://v.youku.com/v_show/id_XODc4NDg2NDYw.html?from=y1.7-2 視頻: 紅外無線傳輸之旋轉(zhuǎn)電位計(jì)控制LED燈]<br/>
 +
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>

2022年4月19日 (二) 15:42的最后版本

12345005.jpg

目錄

產(chǎn)品概述

IR Receiver Module是一款A(yù)rduino兼容的38KHz紅外線接收模塊,可接收標(biāo)準(zhǔn)38KHz調(diào)制的遙控器信號(hào),通過對(duì)Arduino進(jìn)行編程,即可實(shí)現(xiàn)對(duì)遙控器信號(hào)的解碼操作。可使用Arduino制作一款帶學(xué)習(xí)功能的萬能遙控器。

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

  • 供電電壓: 5V
  • 工作環(huán)境: -25~+85℃
  • 儲(chǔ)存溫度: -30~+100 ℃
  • 接收頻率: 38KHz
  • 模塊尺寸: 13.7mm×27.8mm
  • 模塊重量: 2g

引腳定義

紅外接收傳感器引腳的定義是

  • S:輸出信號(hào)
  • +:電源(VCC)
  • -:地(GND)
Hongwaijieshou01.jpg

連接示意圖

Hongwaijieshoujiexian01.jpg

使用方法

使用硬件

324325-4.jpg

接線方法

產(chǎn)品 UNO引腳
紅外發(fā)射模塊 數(shù)字接口2
紅外接收模塊 數(shù)字接口2
旋轉(zhuǎn)角度電位計(jì) 模擬接口0
LED模塊 數(shù)字接口9


將發(fā)送部分代碼編譯后下載到作為發(fā)送部分的Arduino里,將接收部分代碼編譯后下載到作為接收部分的Arduino里,就可以在串口助手窗口上顯示接收到的當(dāng)前值(注:串口助手波特率調(diào)到115200 )。Arduino實(shí)驗(yàn)代碼如下。

例子程序

程序安裝前,需要先進(jìn)行庫文件的安裝,IRremote 庫文件

鏈接: https://pan.baidu.com/s/1CWBaxYwmneVpBWZKH3KSDQ?pwd=f9as 提取碼: f9as

發(fā)送部分程序

#define ADD 0x00 
int IR_S = 2;    // 定義數(shù)字口2 為發(fā)射模塊接口 
int a; 
void setup() 
{ 
 	 pinMode(IR_S, OUTPUT);  //定義IR_S為輸出模式 
 	 Serial.begin(115200); //定義頻率為115200 
}
void loop() 
{ 
    uint8_t dat,temp;   
{    
      a=analogRead(0); // 讀取模擬口0 的值 
      temp =a/4; 
      Serial.println(temp,DEC ); // 將讀取的數(shù)值打印到串口上 
      IR_Send38KHZ(280,1);//發(fā)送9ms 的起始碼 
      IR_Send38KHZ(140,0);//發(fā)送4.5ms 的結(jié)果碼 
     
      IR_Sendcode(ADD);//用戶識(shí)別碼 
      dat=~ADD; 
      IR_Sendcode(dat);//用戶識(shí)別碼反嗎 
      IR_Sendcode(temp);// 操作碼 
      dat=~temp; 
      IR_Sendcode(dat);//操作碼反碼 
      IR_Send38KHZ(21,1);// 發(fā)送結(jié)束碼 
    } 
    delay(200); 
}  
void IR_Send38KHZ(int x,int y)  //產(chǎn)生38KHZ紅外脈沖 
{  
 for(int i=0;i<x;i++)//15=386US 
   {  
       if(y==1) 
        { 
      		digitalWrite(IR_S,1); 
           delayMicroseconds(9); 
           digitalWrite(IR_S,0); 
           delayMicroseconds(9); 
        } 
       else  
        { 
           digitalWrite(IR_S,0); 
           delayMicroseconds(20); 
        } 
   }                                                            
} 
void IR_Sendcode(uint8_t x)   
{ 
    for(int i=0;i<8;i++) 
    { 
       if((x&0x01)==0x01) 
        { 
            IR_Send38KHZ(23,1); 
            IR_Send38KHZ(64,0);              
        } 
        else  
        { 
            IR_Send38KHZ(23,1); 
            IR_Send38KHZ(21,0);   
        } 
        x=x>>1; 
     }   
} 
此代碼的功能是從模擬口0 讀取電位計(jì)的值,并通過紅外發(fā)射頭將讀取的數(shù)值發(fā)送出去。

接收部分程序

#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ù)轉(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ù)寫入ledpin 接口,控制LED 亮度 
  } 
} 

程序效果

此代碼的功能是通過紅外接收頭接收發(fā)送部分發(fā)送出的電位計(jì)的值,將讀到的值來控制LED的亮度,并通過串口助手顯示當(dāng)前接收到的值。如下圖所示左側(cè)串口助手(串口號(hào)為:117 )顯示的是紅外發(fā)送部分當(dāng)前發(fā)送出的電位計(jì)的值,右側(cè)串口助手(串口號(hào)為:88)顯示的是紅外接收部分接收到的數(shù)值。這樣就實(shí)現(xiàn)了通過旋轉(zhuǎn)角度電位計(jì)模塊無線控制接收端的LED亮度。

324325-5.jpg

視頻演示

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


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

Erweima.png

產(chǎn)品購買地址

紅外發(fā)射模塊

周邊產(chǎn)品推薦

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

相關(guān)問題解答

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

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

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