圓創力科技.MakeBlock TW

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

掃一掃,訪問微社區

查看: 621|回復: 0

Makeblcok電子模組手冊----紅外接收模組

[複製鏈接]
benny 發表於 2016-7-6 11:15 | 顯示全部樓層 |閱讀模式
紅外接收模組

1 、概述
紅外接收模組通過紅外信號接收器接收遠處發來的紅外信號,紅外線遙控是目前使用最廣泛的一種通信和遙控手段,具備體積小、功率低、功能強等優點。如各種家用電器、音響設備、空調機、機器人動作控制、小車控制以及其它智能控制。在高壓、輻射、有毒氣體、粉塵等環境下,採用紅外遙控可以有效地隔離電氣乾擾。本模接口是藍色色標,說明是雙數字口控制,需要連接到主板上帶有藍色標識接口。
2 、技術規格
l 工作電壓:4.8V到5.3V DC
l 工作電流:1.7到2.7 mA
l 接收頻率:38KHz
l 峰值波長: 980 nm
l 有效接收距離:10米
l 工作溫度:0到70℃
l 控制方式:雙數字口控制
l 模尺寸:51 x 24 x 24.8 mm (長x寬x高)
3 、功能特性
l 模的白色區域是與金屬梁接觸的參考區域;
l 使用Makeblock配套的遙控器;
l 在近距離1米範圍內使用遙控器需對準模紅外接頭;
l 具有兩隻LED指示燈用於調試與反饋;
l 使用NEC IR協議通過IR控制器實現簡易控制;
l 具有反接保護,電源反接不會損壞IC;
l 支持Arduino IDE編程, 並且提供運行庫來簡化編程;
l 支持mBlock圖形化編程,適合全年齡用戶;
l 使用RJ25接口連線方便;
l 模化安裝,兼容樂高系列;
l 配有DAT、RX、VCC、GND接頭支持絕大多數Arduino系列主控板。
4 、引腳定義
紅外接收模有四個針腳的接頭,每個針腳的功能如下表
  
  
  
序號
  
  
  
  
引腳
  
  
功能
  
  
1
  
  
DAT
  
  
遙控按鍵狀態輸出
  
  
2
  
  
RX
  
  
遙控按鍵值輸出,接主板串口接收端
  
  
3
  
  
VCC
  
  
電源線
  
  
4
  
  
GND
  
  
地線
  

表1 4-Pin 接頭功能表

5 、接線方式
l RJ25連接
由於紅外接收模接口是藍色色標,當使用RJ25接口時,需要連接到主控板上帶有藍色色標的接口。以Makeblock Orion為例,可以連接到3,4,5,6號接口,如圖
圖1 紅外接收模與Makeblock Orion連接

l 杜邦線連接
當使用杜邦線連接到Arduino Uno主板時,模RX與DAT引腳需要連接到DIGITAL(數字)口,如下圖所示:
圖2 紅外接收模與Arduino UNO 連接圖
注:接杜邦線時,模上需要焊接排針。
6 、編程指南
l Arduino編程
如果使用Arduino編程,需要調用庫Makeblock-Library-master 來控制紅外接收模
本程序通過Arduino編程,通過串口監視器可觀查到被按下的紅外遙控器按鍵

  1. #include "MeOrion.h"
  2. #include <Wire.h>
  3. #include <SoftwareSerial.h>
  4. MeInfraredReceiver infraredReceiverDecode(PORT_6);
  5. void setup()
  6. {
  7.     infraredReceiverDecode.begin();
  8.     Serial.begin(9600);
  9.     Serial.println("InfraredReceiverDecode Start!");
  10. }
  11. void loop()
  12. {
  13.     if(infraredReceiverDecode.available() )
  14.     {
  15.         switch(infraredReceiverDecode.read() )
  16.         {
  17.         case IR_BUTTON_A:
  18.             Serial.println("Press A.");
  19.             break;
  20.         case IR_BUTTON_B:
  21.             Serial.println("Press B.");
  22.             break;
  23.         case IR_BUTTON_C:
  24.             Serial.println("Press C.");
  25.             break;
  26.         case IR_BUTTON_D:
  27.             Serial.println("Press D.");
  28.             break;
  29.         case IR_BUTTON_E:
  30.             Serial.println("Press E.");
  31.             break;
  32.         case IR_BUTTON_F:
  33.             Serial.println("Press F.");
  34.             break;
  35.         case IR_BUTTON_SETTING:
  36.             Serial.println("Press Setting.");
  37.             break;
  38.         case IR_BUTTON_UP:
  39.             Serial.println("Press Up.");
  40.             break;
  41.         case IR_BUTTON_DOWN:
  42.             Serial.println("Press Down.");
  43.             break;
  44.         case IR_BUTTON_LEFT:
  45.             Serial.println("Press Left.");
  46.             break;
  47.         case IR_BUTTON_RIGHT:
  48.             Serial.println("Press Right.");
  49.             break;
  50.         case IR_BUTTON_0:
  51.             Serial.println("Press 0.");
  52.             break;
  53.         case IR_BUTTON_1:
  54.             Serial.println("Press 1.");
  55.             break;
  56.         case IR_BUTTON_2:
  57.             Serial.println("Press 2.");
  58.             break;
  59.         case IR_BUTTON_3:
  60.             Serial.println("Press 3.");
  61.             break;
  62.         case IR_BUTTON_4:
  63.             Serial.println("Press 4.");
  64.             break;
  65.         case IR_BUTTON_5:
  66.             Serial.println("Press 5.");
  67.             break;
  68.         case IR_BUTTON_6:
  69.             Serial.println("Press 6.");
  70.             break;
  71.         case IR_BUTTON_7:
  72.             Serial.println("Press 7.");
  73.             break;
  74.         case IR_BUTTON_8:
  75.             Serial.println("Press 8.");
  76.             break;
  77.         case IR_BUTTON_9:
  78.             Serial.println("Press 9.");
  79.             break;
  80.         default:
  81.             break;
  82.         }
  83.     }
  84. }
  85. [align=left]
複製代碼





紅外接收模函數功能列表
  
  
  
函數
  
  
  
  
功能
  
  
MeInfraredReceiver(uint8_t port)
  
  
選定接口
  
  
bool avaliable()
  
  
檢測是否接收到按鍵值
  
  
int read()
  
  
讀取紅外控制器發送的紅外信號
  
串口顯示結果
我們可以看到,當接收到紅外控制器發出的紅外信號時,紅外接收器讀取紅外信號並譯碼,然後輸出到串口顯示。
l mBlock編程
紅外接收模支持mBlock編程環境,如下是該模指令簡介
  
  
編程說明
  
  
  
描述
  
     
參數一:選擇接口   

功能:讀取紅外接收器收到的按鍵值
   
  
下面程序可以讓小熊貓說出紅外接收到信號碼的值
7 、原理解析
    紅外通信是利用紅外技術實現兩點間近距離保密通信和信息轉發,一般由紅外發射和紅外接收兩部分系統組成。紅外接收模含有紅外一體化接收頭,其內部含有高頻的濾波電路,專門用來濾除紅外線合成信號的載波信號,隨後信號進入模內部解碼芯片。當紅外線合成信號進入紅外接收頭,在其輸出端便可以得到遠紅外發射器發出的數字編碼(當模接收到有效的紅外編碼數據時,STA變為低電位;如果紅外遙控按鍵被持續按下,STA會保持低電位,同時重複發送數據碼)。

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

QQ|Archiver|手機版|小黑屋|圓創力科技有限公司 IOP Robotic Technology Co.,Ltd Tel: 07-3924582

GMT+8, 2018-1-19 07:13 , Processed in 0.048385 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表