紅外線發射接收

紅外線發射與接收,常見於我們日常生活的電器用品,舉凡電視機、冷氣機、遙控電風扇、玩具...等,只要有「遙控器」的電器,大多都是利用紅外線發射與接收的原理,這篇教學將會介紹如何透過 Webduino,時做出可以偵測遙控器紅外線訊號,以及發送紅外線訊號的實際案例。

範例影片展示

影片對應範例:https://blockly.webduino.io/?&page=tutorials/irrecv-1

接線與實作

將紅外線接收器上頭靠近「-」的腳接上 GND,中間的腳是 3.3V,靠近「S」的腳接到 10 的腳位,由於 Arduino 本身對於紅外線訊號的處理只有「一個」振盪器,所以發射與接收紅外線的事件會同時發生,因此,無法在同一塊 Arduino 上頭,同時使用紅外線接收器與發射器,如果要測試發射訊號,可以用紅外線接收器,接收家裡的電視機遙控器訊號,然後用紅外線發射器發送給電視機,就可以了。

由於 Webduino 支援開發板種類只會越來越多,接線圖先使用 Fly 示範,對於其他開發板來說,只要紅外線接收器的訊號端接數位腳 ( 數字 ),仍會一樣的效果

Fly 接線紅外線接收器,接線示意圖:( Smart 僅能使用 2 號腳,參考: Smart 接線紅外線接收器 )

FLY 接線紅外線接收器

紅外線接收器實際接線照片:

FLY 接線紅外線接收器

紅外線發射器的長相就很類似一個大顆的 LED 燈,如果我們使用紅外線發射器,一定得使用 9 號腳位,因為該腳位就是具備振盪器功能的腳位,才能發出紅外線訊號使用的方波,接別的腳位是無效的,紅外線發射器和 LED 一樣有長短腳之分,因此將長腳接在 9 號,短腳接在 GND,。

Fly 接線紅外線發射器,接線示意圖:( Smart 僅能使用 5 號腳,參考: Smart 接線紅外線發射器 )

Fly 接線紅外線發射器

紅外線接收 基本操作

打開 Webduino Blockly 編輯工具 ( https://blockly.webduino.io ),因為這個範例會用網頁「顯示文字」來顯示接收到的紅外線訊號,所以要先打開 Webduino Blockly 的網頁互動測試區,下拉選單選擇「顯示文字」,此時在右下角會出現對應的積木功能可以選擇。

網頁互動測試區

把開發板放到編輯畫面裡,填入對應的 Webduino 開發板名稱,開發板內放入紅外線接收器的積木,名稱設定為 irrecv,腳位設定為 10。

紅外線接收的積木,在「輸入輸出 > 紅外線接收」目錄下


部分開發板要使用紅外線發射與接收的功能,必須透過「韌體更新」或「雲端更新」才能完成,詳細說明請參考:Webduino 雲端平台Device 裝置管理 ( 雲端更新 )Arduino 韌體下載與燒錄

紅外線 Blockly

放入「irrecv 開始接收」以及「顯示」的積木,在偵測的時候將紅外線收器接收到的代碼,顯示在網頁裡。

如果需要透過紅外線發射器發射訊號,這個步驟可以先用電腦或紙筆記下接收到的代碼。

紅外線接收代碼

填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,用電視機遙控器或紅外線遙控器,對準接收器按壓開關,就可以看到網頁上出現偵測到的紅外線代碼。

注意,「冷氣機遙控器」雖然也是紅外線遙控器,但發送訊號的原理和電視機遙控器不同,必須使用「紅外線側錄」才能進行偵測。( 參考 Webduino 雲端平台 )


範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-01#k8meEL0gdb

範例解答 ( 體驗版 ):https://goo.gl/8diKbd

紅外線發射 基本操作

如果是紅外線發射,就把剛剛紅外線接收的積木換成紅外線發射的積木,變數名稱為 irled,腳為設定為 9 號腳。

紅外線發射 Blockly

使用「irled 發射代碼」的積木,將已經記錄下來的十六進位的紅外線代碼填入。

紅外線發射代碼 Blockly

填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以看到電視機被打開或是電扇被打開了。

範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/#Xq53Bz1Z88

範例解答 ( 體驗版 ):https://goo.gl/4lDS3M

相關參考

購買 Webduino 系列產品:https://webduino.io/buy.html

如需轉帳付款請來信詢問:webduino.io@gmail.com

聯絡我們

若對於這篇教學有任何問題或建議,歡迎透過下列方式聯繫我們:

Email:service@webduino.io
Facebook 粉絲團:https://www.facebook.com/webduino/
Facebook 技術討論社團:https://www.facebook.com/groups/webduino/