本實作使用VS1938B的紅外線接收模組,與一般通用之NEC的PD6122編碼紅外線遙控器。
紅外線接收模組只有三支接腳,價格便宜一隻約2~5元(台幣),外觀尺寸與接腳說明如下圖。
測試程式碼如下,按下遙控器上的按鍵即會將其對應代碼輸出於序列埠通訊視窗。
#include <IRremote.h> //引入紅外線通訊函數庫
const int RECV_PIN = 2; //訊號接腳是2號
IRrecv irrecv(RECV_PIN); //建置IR接收器
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); //啟動紅外線接收功能
irrecv.blink13(true); //接收到訊號閃一下主板上的指示燈L
}
void loop() {
if (irrecv.decode(&results)) //接收並解碼紅外線訊號
{
if (results.decode_type == NEC)
Serial.print("NEC: ");
else if (results.decode_type == SONY)
Serial.print("SONY: ");
else if (results.decode_type == RC5)
Serial.print("RC5: ");
else if (results.decode_type == RC6)
Serial.print("RC6: ");
else if (results.decode_type == UNKNOWN)
Serial.print("UNKNOWN: ");
Serial.println(results.value, HEX); //輸出遙控案件的代碼
irrecv.resume(); //重置IR接收器
}
}
以下是實作後取得的代碼:
0-->NEC: FF6897 1-->NEC: FF30CF 2-->NEC: FF18E7 3-->NEC: FF7A85 4-->NEC: FF10EF 5-->NEC: FF38C7 6-->NEC: FF5AA5 7-->NEC: FF42BD 8-->NEC: FF4AB5 9-->NEC: FF52AD CH- -->NEC: FFA25D CH -->NEC: FF629D CH+ -->NEC: FFE21D |<< -->NEC: FF22DD >>| -->NEC: FF02FD >|| -->NEC: FFC23D - -->NEC: FFE01F + -->NEC: FFA857 EQ -->NEC: FF906F




沒有留言:
張貼留言