紅外線發射接收
紅外線發射與接收,常見於我們日常生活的電器用品,舉凡電視機、冷氣機、遙控電風扇、玩具...等,只要有「遙控器」的電器,大多都是利用紅外線發射與接收的原理。這篇教學將會介紹如何透過 Webduino,實作出可以偵測遙控器紅外線訊號,以及發送紅外線訊號的實際案例。
範例影片展示
影片對應範例:https://blockly.webduino.io/?&page=tutorials/irrecv-1
接線與實作
將紅外線接收器上頭靠近「-」的腳接上 GND,中間的腳是 3.3V,靠近「S」的腳接到 10 的腳位,由於 Arduino 本身對於紅外線訊號的處理只有「一個」振盪器,所以發射與接收紅外線的事件會同時發生,因此,無法在同一塊 Arduino 上頭,同時使用紅外線接收器與發射器,如果要測試發射訊號,可以用紅外線接收器,接收家裡的電視機遙控器訊號,然後用紅外線發射器發送給電視機,就可以了。
由於 Webduino 支援開發板種類只會越來越多,接線圖先使用 Fly 示範,對於其他開發板來說,只要紅外線接收器的訊號端接數位腳 ( 數字 ),仍會有一樣的效果。
Fly 接線紅外線接收器,接線示意圖:( Smart 僅能使用 2 號腳,參考: Smart 接線紅外線接收器 )
紅外線接收器實際接線照片:
紅外線發射器的長相就很類似一個大顆的 LED 燈,如果我們使用紅外線發射器,一定得使用 9 號腳位,因為該腳位就是具備振盪器功能的腳位,才能發出紅外線訊號使用的方波,接別的腳位是無效的,紅外線發射器和 LED 一樣有長短腳之分,因此將長腳接在 9 號,短腳接在 GND,。
Fly 接線紅外線發射器,接線示意圖:( Smart 僅能使用 5 號腳,參考: Smart 接線紅外線發射器 )
紅外線接收 基本操作
打開 Webduino Blockly 編輯工具 ( https://blockly.webduino.io ),因為這個範例會用網頁「顯示文字」來顯示接收到的紅外線訊號,所以要先打開 Webduino Blockly 的網頁互動測試區,下拉選單選擇「顯示文字」,此時在右下角會出現對應的積木功能可以選擇。
把開發板放到編輯畫面裡,填入對應的 Webduino 開發板名稱,開發板內放入紅外線接收器的積木,名稱設定為 irrecv,腳位設定為 10。
紅外線接收的積木,在「輸入輸出 > 紅外線接收」目錄下
部分開發板要使用紅外線發射與接收的功能,必須透過「韌體更新」或「雲端更新」才能完成,
詳細說明請參考:Device 裝置管理 ( 雲端更新 )、Arduino 韌體下載與燒錄
放入「irrecv 開始接收」以及「顯示」的積木,在偵測的時候將紅外線接收器接收到的代碼,顯示在網頁裡。
如果需要透過紅外線發射器發射訊號,這個步驟可以先用電腦或紙筆記下接收到的代碼。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,用電視機遙控器或紅外線遙控器,對準接收器按壓開關,就可以看到網頁上出現偵測到的紅外線代碼。
範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-01#k8meEL0gdb
範例解答 ( 體驗版 ):https://goo.gl/8diKbd
紅外線發射 基本操作
如果是紅外線發射,就把剛剛紅外線接收的積木換成紅外線發射的積木,變數名稱為 irled,腳位設定為 9 號腳。
使用「irled 發射代碼」的積木,將已經記錄下來的十六進位的紅外線代碼填入。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以看到電視機被打開或是電扇被打開了。
範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/#Xq53Bz1Z88
範例解答 ( 體驗版 ):https://goo.gl/4lDS3M
相關參考
- 範例解答 - 紅外線接收 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-01#k8meEL0gdb
- 範例解答 - 紅外線發射 ( 雲端平台 ):https://blocklypro.webduino.io/#Xq53Bz1Z88
- 範例完整程式碼:http://bin.webduino.io/gutot/edit?html,js,output
聯絡我們
如果對於 Webduino 產品有興趣,歡迎透過下列方式購買:
個人線上購買:https://store.webduino.io/ ( 支援信用卡、超商取貨付款 )
企業&學校採購:來信 [email protected] 或來電 07-3388511。
如果對於這篇教學有任何問題或建議,歡迎透過下列方式聯繫我們:
Email:[email protected] ( 如對於產品有使用上的問題,建議透過 Email 附上照片或影片聯繫 )
Facebook 粉絲團:https://www.facebook.com/webduino/
Facebook 技術討論社團:https://www.facebook.com/groups/webduino/