本實作使用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
沒有留言:
張貼留言