第19天我要實作的是利用紅外線接收模組接收訊號。
那首先是這次需要的模組
紅外線接收模組
接線圖
實體圖
再來是arduino部分
首先要先去下載所需的函數庫,在程式庫管理員輸入IRremote便可以找到。
接著導入函數庫,設定腳位的代數以及紅外線模組函數庫的代數,dacode_results則是用來接收紅外線所用。
接著設定啟動時的程式,一樣先開啟監控器,在來用blink13函數讓其在接收到訊號時13號燈閃爍,接著啟動紅外線接收模組。
再來主程式的部分利用if判斷式去判斷是否有接收到訊息(&指寫入此代數),接著在監控器上印出所接收到的訊號,最後用resume()函數去重新接收新的訊號。
導入後就可以利用手邊的遙控器去嘗試接收訊號。
監控器接受到的訊號。
主程式
#include <IRremote.h>
int recvpin = 2;
IRrecv recv(recvpin);
decode_results Val;
void setup()
{
Serial.begin(9600);
recv.blink13(true);
recv.enableIRIn();
Serial.println("IRremote Start");
}
void loop() {
if (recv.decode(&Val)) {
Serial.print("get:");
Serial.println(Val.value);
delay(1000);
recv.resume();
}
}