實驗目的
練習用光敏電阻切換電視頻道。在這個實驗裏,你將練習用 IRRemote 函式庫發射紅外線訊號,然後搭配兩顆光敏電阻來切換電視頻道,當發現左邊比較亮時,就控制電視切到上一個頻道,當發現右邊比較亮時,就控制電視切到下一個頻道。
前提
在做這個實驗前,我假設:
- 你已經看過「IRRemote 紅外線遙控教學」這系列的教學,而且
- 已經把 IRRemote 函式庫安裝起來了
材料
- 麵包板 x 1
- Arduino 主板 x 1
- 發射波長為 940nm 紅外線發射器 x 1
- 100 歐姆電阻 x 1
- 光敏電阻(photocell) x 2
- 10k ohm 電阻 x 2
- 單心線 x N
接線
- 把紅外線發射器(IR LED)接到 pin 3,長腳(陽極)串接一顆 100 ohm 電阻接到 pin 3,短腳(陰極)接到 GND
- 左手邊的光敏電阻一支腳接到 5V,另一支腳串接一顆 10k 電阻接到 analog pin 0
- 右手邊的光敏電阻一支腳接到 5V,另一支腳串接一顆 10k 電阻接到 analog pin 1
注意!因為 IRRemote 函式庫限定使用 pin 3,所以你只能把紅外線發射器接到 pin 3,不能接到其它腳位。
錄製切換頻道鈕的紅外線編碼
參考「1.5 兩個取得遙控器紅外線資料的方法」錄製電視遙控器的紅外線資料。以我所用的電視遙控器為例,用 IRRemote 解碼之後,可知我電視遙控器講的是 NEC 紅外線協定,紅外線編碼資料長度都是 32 位元。我取得的 Channel+ (上一個頻道)和 Channel- (下一個頻道)兩個按鍵的紅外線編碼如下:
程式
底下就是用光敏電阻控制電視機切換頻道的程式(Photocell_TVRemote.pde):
注意! 記得把 irKeyCodes 裏的資料換成你自己的遙控器的紅外線編碼。另外,如果你的遙控器講的不是 NEC 而是其它紅外線協定,例如 Philips RC5,記得也要把 sendNEC() 這行換成其它發射紅外線的函式,例如 sendRC5()。
示範影片
動動腦
- 把兩顆光敏電阻換成兩顆紅外線動作感測器(PIR Motion Sensor),用紅外線動作感測器來切換電視頻道。
- 把兩顆光敏電阻換成聲音感測器,然後拍拍手切換電視頻道。
- 想想看,還可以結合什麼感測器來遙控電視機?
0 意見:
張貼留言