紅外接收模組
紅外接收模組通過紅外信號接收器接收遠處發來的紅外信號,紅外線遙控是目前使用最廣泛的一種通信和遙控手段,具備體積小、功率低、功能強等優點。如各種家用電器、音響設備、空調機、機器人動作控制、小車控制以及其它智能控制。在高壓、輻射、有毒氣體、粉塵等環境下,採用紅外遙控可以有效地隔離電氣乾擾。本模組接口是藍色色標,說明是雙數字口控制,需要連接到主板上帶有藍色標識接口。 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編程,通過串口監視器可觀查到被按下的紅外遙控器按鍵
- #include "MeOrion.h"
- #include <Wire.h>
- #include <SoftwareSerial.h>
- MeInfraredReceiver infraredReceiverDecode(PORT_6);
- void setup()
- {
- infraredReceiverDecode.begin();
- Serial.begin(9600);
- Serial.println("InfraredReceiverDecode Start!");
- }
- void loop()
- {
- if(infraredReceiverDecode.available() )
- {
- switch(infraredReceiverDecode.read() )
- {
- case IR_BUTTON_A:
- Serial.println("Press A.");
- break;
- case IR_BUTTON_B:
- Serial.println("Press B.");
- break;
- case IR_BUTTON_C:
- Serial.println("Press C.");
- break;
- case IR_BUTTON_D:
- Serial.println("Press D.");
- break;
- case IR_BUTTON_E:
- Serial.println("Press E.");
- break;
- case IR_BUTTON_F:
- Serial.println("Press F.");
- break;
- case IR_BUTTON_SETTING:
- Serial.println("Press Setting.");
- break;
- case IR_BUTTON_UP:
- Serial.println("Press Up.");
- break;
- case IR_BUTTON_DOWN:
- Serial.println("Press Down.");
- break;
- case IR_BUTTON_LEFT:
- Serial.println("Press Left.");
- break;
- case IR_BUTTON_RIGHT:
- Serial.println("Press Right.");
- break;
- case IR_BUTTON_0:
- Serial.println("Press 0.");
- break;
- case IR_BUTTON_1:
- Serial.println("Press 1.");
- break;
- case IR_BUTTON_2:
- Serial.println("Press 2.");
- break;
- case IR_BUTTON_3:
- Serial.println("Press 3.");
- break;
- case IR_BUTTON_4:
- Serial.println("Press 4.");
- break;
- case IR_BUTTON_5:
- Serial.println("Press 5.");
- break;
- case IR_BUTTON_6:
- Serial.println("Press 6.");
- break;
- case IR_BUTTON_7:
- Serial.println("Press 7.");
- break;
- case IR_BUTTON_8:
- Serial.println("Press 8.");
- break;
- case IR_BUTTON_9:
- Serial.println("Press 9.");
- break;
- default:
- break;
- }
- }
- }
- [align=left]
複製代碼
紅外接收模組函數功能列表 函數 | 功能 | MeInfraredReceiver(uint8_t port) | 選定接口 | bool avaliable() | 檢測是否接收到按鍵值 | int read() | 讀取紅外控制器發送的紅外信號 |
串口顯示結果 我們可以看到,當接收到紅外控制器發出的紅外信號時,紅外接收器讀取紅外信號並譯碼,然後輸出到串口顯示。 l mBlock編程 紅外接收模組支持mBlock編程環境,如下是該模組指令簡介
編程說明
| 描述 | | 參數一:選擇接口
功能:讀取紅外接收器收到的按鍵值
|
下面程序可以讓小熊貓說出紅外接收到信號碼的值 7 、原理解析 紅外通信是利用紅外技術實現兩點間近距離保密通信和信息轉發,一般由紅外發射和紅外接收兩部分系統組成。紅外接收模組含有紅外一體化接收頭,其內部含有高頻的濾波電路,專門用來濾除紅外線合成信號的載波信號,隨後信號進入模組內部解碼芯片。當紅外線合成信號進入紅外接收頭,在其輸出端便可以得到遠紅外發射器發出的數字編碼(當模組接收到有效的紅外編碼數據時,STA變為低電位;如果紅外遙控按鍵被持續按下,STA會保持低電位,同時重複發送數據碼)。
|