紅外線傳輸(IR Remote)是最簡易的遙控方式,平常我們遙控電器就是透過紅外線遙控器,所以進入Arduino領域後,最初入門的遙控方式,傑森也會建議用紅外線。

雖然紅外線也有它的缺點,像是距離有限、不能有阻隔,但若只是實驗用途,這些問題都可以不用太在意。

我們把紅外線的範例分兩部份:接收、傳送。先講講接收的部份,這個例子是用最常見的紅外線接收頭,當然也可以選擇更方便的紅外線模組。如果是用接收頭,接腳不要弄錯就行了。

這個範例我們使用現成的紅外線遙控器,常見的Arduino材料會有兩種款式的遙控器,基本上都是一樣的,只是外型和按鍵不同而已。

接下來就是安裝紅外線遙控的函式庫了,如果沒有函式庫的幫忙,還真的會有一點小麻煩哦。紅外線遙控的函式不少,但傑森只推薦「IRremote by shirriff」,無敵簡單!

接著把紅外線接收頭的線接好,這部份不難,也就三條線,這次我們把Output端接到pin 7。

打開函式庫附的範例「IRrecvDemo」,程式很簡單,其實一看就懂了;主要就是設定好紅外線訊號的PIN腳,寫入開發板後,可以打開監控視窗,把遙控器拿來亂按,就會顯示你所按的按鍵代碼,用16進位輸出。

這時可以記起來會用到的按鍵,分別是哪些代碼,這樣就能在程式中加上簡單的判斷了;以傑森手上這個遙控器來說,中間的「OK」鍵代碼是16進位的「FF38C7」,程式中如果要判斷是不是按了這個按鈕,可以這樣寫:


if(results.value == 0xFF38C7){  //如果按下遙控器的特定鍵,就顯示訊息!
       Serial.println("Turn On!");
}

是不是很簡單呢,這段程式就能移到一些像是智慧車或是智慧家電的範例中囉!傑森下一篇再跟大家談談紅外線的傳送部分。