2017年6月6日星期二

Arduino 红外遥控解码方法

红外接受管采用5V电压,需注意部分GND和VCC是对调通电如发烫立刻断开电源对调即可

将Vout连接至DigitalPin 2 作为信号输入

程式碼如下,也非常簡單,收到紅外線訊號後便輸出到序列埠。

#include <IRremote.h>

int RECV_PIN = 2; // 使用數位腳位2接收紅外線訊號
IRrecv irrecv(RECV_PIN); // 初始化紅外線訊號輸入
decode_results results; // 儲存訊號的結構


void setup()
{
  Serial.begin(115200);
  irrecv.blink13(true); // 設為true的話,當收到訊號時,腳位13的LED便會閃爍
  irrecv.enableIRIn(); // 啟動接收
}

void loop() {
  if (irrecv.decode(&results)) { // 接收紅外線訊號並解碼
    Serial.print("results value is "); // 輸出解碼後的資料
    Serial.print(results.value, HEX);
    Serial.print(", bits is ");
    Serial.print(results.bits);
    Serial.print(", decode_type is ");
    Serial.println(results.decode_type);
    irrecv.resume(); // 準備接收下一個訊號
  }
}
上传至Arduino UNO 然后按下键盘ctrl+shrift+M打开串口监视器

然後,請拿著紅外線遙控器,對著紅外線接收器隨便按一些按鈕。 

将获取的解码HEX 记录下来




没有评论:

发表评论