楔子
因為日前DIY做過RS232的IR(紅外線)發射器來控制MOD(因為要遠端連回去看電視),所以對IR遙控器有一些瞭解。
最近朋友提到用音訊做IR遙控器,控制相機快門做縮時攝影(把音訊重複播放就可以定時重覆按快門)。
由於現在IR遙控器的應用太多了,冷氣、電視、音響...,所以我就想,那不是我有個PLAYER(手機、隨身聽),就可以控制這些電器了嗎?
於是有了這篇。
這篇您可以學到
1.一點IR遙控器原理
2.製做由麥克風輸入的IR接收器
3.製做由耳機孔輸出的IR發射器
4.解析遙控器波形(應該說只是把波形複製出來,各家電的Protocol不一定一樣,要理解有難度)
5.編輯音訊檔做出IR遙控曲目
醜話說前頭
1.不要想得太美好,因為是播放曲目的方式,所以沒辦法像真正的遙控器即時按出組合鍵。但可以把組合編成一個曲目,例如我有一首歌曲名叫HBO,另一首歌叫TVBS-N,播HBO時電視會轉到65台,播TVBS-N時會轉到55台。如果您直接播放6跟5會來不及,大概只會轉到民視跟CNN,所以將6跟5編在一個曲目就可以轉到HBO了。
2.您還是要有原來的遙控器才能複製。
3.受限於player耳機驅動強度,遙控距離可能沒有原遙控器遠。我用iPhone遙控我家電視,坐在沙發約2.5公尺,可以遙控得到。但用小筆電音量開到最大還不一定一次遙控成功。
4.player要能播放.wav的音訊檔。還有編輯波形可能會有些辛苦。
原理
就是把IR接收器接到麥克風孔,用Audacity(或可編輯音訊波形的程式)錄下原遙控器的編碼波形,再用錄下的波形做出立體聲曲目,這樣就可以由耳機孔接IR發射器取代原遙控器了。
為什麼不能直接發射錄下的波形?
因為IR遙控原理是編碼波形載在38KHz的IR LED閃爍頻率上,而接收器是已經調解了,所以錄不到IR的38KHz閃爍。
為什麼要立體聲?
因為人的耳朵只能聽到最高約20K的頻率,所以沒有(應該)player發出高於20KHz的聲音,因為沒意義,且為了聲音的純淨通常20KHz以上的高頻音都會濾掉,除非不是給人聽的。那怎麼讓IR閃出38KHz的頻率呢?就有人很聰明想到立體聲,一邊各發出19KHz的頻率,波形相反,用兩顆IR LED就可以閃出38KHz的頻率了(就像全波整流)。
以上不懂沒關係,去拜google大神或看以下我參考的網站
。Cooper Maa-紅外線遙控原理與 NEC IR Protocol
。cubie-自製Sony NEX-5的紅外線遙控器(幾乎所有紅外線遙控設備都能使用)
。Jumping Jack Flash weblog-World's cheapest remote control replicator: just 1$ !(世蓋俗的遙控器替代方案)
由於我還沒跟這些文章作者打招呼,如有原作者看到覺得引用不妥請告訴我
材料
我是在光華的源達買的,其它電子材料行(不是五金行喔!)應該也不難買到(或者家裡不用的電器拆下也可以)
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-82439a25b8fec5e570af926904450eab.jpg)
3.5mm音源接頭兩個(至少要有一個是立體聲,可以拿不用的耳機線來改)-NT20.-(應該不超過,有點忘了)
IR LED兩個(壞掉的遙控器拆下來也可以)-NT16.-
IR接收器一個-NT25-
USB公頭一個(要用來接5V電源,若有其它電源,例如4~6V變壓器,則可不用,或者有點電子基礎的直接接電器的IR接收元件,連IR接收器都可以省下來)-NT20.-(以內)
電線兩條
有些東西價格忘了,但絕對不會超過-NT100.-
嚴格來說還要烙鐵跟錫絲啦!
開始
1.製做使用麥克風音源的IR接收器
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-0b524885462cd87f327477365e4fbbf0.jpg)
IR接收器,通常是三支腳,一支電源,一支GND,一支訊號輸出。源達買的這個順序是右到左,若是拆家裡原本電器的IR接收器或其他地方買的,請問清楚,或上ALLDATASHEET網站輸入型號查詢確認。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-3f8223eee7c8d8af2c05049d7baf36ed.jpg)
由於要用5V所以我拿USB來接,或者你也可以接其它5V電源。
USB接腳是5V、DATA+、DATA-、GND(上下反順序就反了,所以自己確認一下),我買的公頭在插入的地方有標示第1PIN,所以對應到後面就知道5V跟GND在哪。
把USB跟IR接收器如圖接起來。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-ae506409da09b3343eda5c7a27d1d4d8.jpg)
轉開3.5mm音源接頭,由與只接單聲道所以接GND跟其中一個聲道就可以了。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-2f0d7efe395c48fd7738d1cff1e7cd74.jpg)
另一端當然就接到IR接收器的GND跟訊號輸出。若你有心,可以做得更漂亮一點,但我想,拿出去見人的是發射器,所以接收器就隨便囉!對了!那個5V最好要保護好,跟USB的機殼搭到的話可能會弄壞您的USB插槽。
若你是拿既有的耳機線來改,就只要接這一端的GND跟其中一個聲道就可以了。
更強一點直接接既有的還可以用的電器的IR接收器,把GND跟訊號輸出接到音源線的GND跟其中一個聲道,這樣連USB都不用,把原本的電器插電就可以了。
如下圖是一個我沒在用的電視盒(以前用來接自製的投影機的),找到IR接收器,接上3.5mm音源線,輕鬆搞定。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-40abdb30273b39e0cc0823f5da14392a.jpg)
2.接收要複製的IR遙控器訊號
先去下載安裝免費好用的音訊波形編輯軟體Audacity,安裝時語言選English會變簡體中文...>_<。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-5684826eeaab867d88165ec7cbd7cded.jpg)
接好剛剛做出來的IR接收器,將3.5mm音源接頭插到mic輸入。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-2a9aafb6853b9a4f76649180b1420789.jpg)
打開Audacity,準備錄音。這邊有幾點要注意:1.你可能得先用正常的麥克風輸入,確定麥克風錄音沒有問題。2.輸入音量開到最大,這樣波形比較清楚。3.若無法錄音可能是音效卡選錯,或者到控制台看你的音量,麥克風輸入是不是被靜音。4.工程採樣率調高,越高錄到的波型失真度越低。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-fca25a9a3f953e61c907dc61ef946033.jpg)
按下錄音,並且將遙控器對著接收器按下要複製的按鍵(不要急先一個按鈕就好),結束錄音。這樣你就得到遙控器訊號了。
到這邊大概就成功一半了。
3.解析遙控器訊號
上圖是錄到我同事的顯示器『切換AV輸入』的遙控器波形,我一共按了兩次,一次較短暫,一次按比較久,這是故意要做比較的,實際要複製時按一次就可以了。
波形上可以看到第一次按的地方大約可以分成4段。基本上我們就是如實複製按一次鈕出現的波形就對了,管它是幾段。但本著研究精神跟後面複製時可否減少工時,我們還是研究一下。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-26635cf2328f67c4633106dec0e0329c.jpg)
先按『縮放工具』,左鍵放大,右鍵縮小,然後用『選擇工具』跟『適應選段』放大一段波形。這個方波在Hi時,表示收到IR LED以38KHz的頻率在閃爍,在Lo時表示不閃爍。IR遙控就是在這些胖瘦方波構成的編碼中完成通訊,由於沒有統一的通訊協定,所以每家公司都有各自的編碼方式,Protocol也不盡相同,有的會驗證收到的碼,有的不會,有的表示重複的方法是一直發射同一段碼,有的則是以一個更短的編碼表示重複。唯一的相同是大家都以38KHz的頻率在閃爍(也有以別的頻率閃爍的,但大部分是38KHz,若您要破解別的頻率的遙控器,要去找對應的接收器來製作)。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-aa04c22c8e1f37912aaf2dcc9f70cd9d.jpg)
我們將第一段編碼選取後複製,然後點『軌道』->『增加新軌道』->『音軌』,在新音軌,相對第二段開頭的位置貼上(對不準可以用『時間移動工具』對齊),這樣可以很方便的觀察第二段波形跟第一段有沒有一樣。若一樣,表示第二段是重複,或者是用來驗證跟第一段有沒有一樣,若是驗證,就表示按一次按鈕,遙控器至少會送出兩次一樣的編碼。若是第二段跟第一段不一樣,則表示碼比較長,遙控器分兩次送,這也表示我們等一下的處理會花比較長的工時。第三段一樣去對對看,通常是會一樣。
有些遙控器編碼只有第一段比較長,後面都以相同的時間間隔有個短的編碼,這種就是以那個短編碼表示長的那個的重複。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-0f43123e3d3bf9f1f796d0b05e181a8c.jpg)
回到一開始我們錄到的波形,第二次我們按比較久,波形重複了20次。以一樣的按鈕時間來遙控電器,電器會判斷我們只按了一次,這是因為每一段的時間間隔都一樣,符合電器對『重複』的判斷定義,這告訴我們,如果我們要做出HBO組合鍵,要先以符合重複定義的時間間隔重複『6』的編碼,然後再拉長一點時間,再拉長一點時間,然後重複『5』的編碼,這樣就可以正確轉到HBO了,要是時間間隔沒弄正確就會轉到東森洋片台或民視。
4.重製給IR發射(LED)用的波形(曲目)
接著我們要把這些調解過後的編碼波形再還原給IR LED閃爍用。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-e0a85b2c90bdb4f60cbd687709ab0ec8.jpg)
先點『軌道』->『增加新軌道』->『音軌』,然後點音軌旁的下拉三角形先做一些設定。
勾選單聲道,採樣格式是32bit float,採樣率設定44.1KHz。
關於設定採樣率,其實最好是設定76KHz,因為我們等一下要做出一個19K的弦波,76KHz的採樣率剛好可以採樣在波峰波谷,這樣LED的閃爍頻率最正確,但由於大部份的player不接受48KHz以上的音訊(可能是bitrate太高的關係),所以只好選44.1KHz。我原本設定76KHz採樣率,結果iTunes不讓我同步進iPhone,但放在skyDriver或用附件寄mail到iPhone卻又可以播,我想iPhone可能有兩支播放器。
雖然44.1KHz的採樣率會有點失真,但目前我試起來還是可以遙控。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-948d417b2d9339f1545760e2b93ea981.jpg)
接著我們在新增加的音軌,『生成』->『單音』,弦波,19000Hz,振幅0.9,持續時間3秒(用不到那麼長,等會兒可以裁掉),我們就可以得到一個19KHz的鋸齒波。放大後就可以看到如圖的波形。
我show出用44.1KHz與76KHz的差異。若您的player可以播76KHz做出來的.wav檔,那建議用76KHz來做,或者您有dropbox之類的網路空間也可以,我試過放在skyDriver可以播。
不確定player可不可以播或希望可以放到iPhone的音樂裡的,就用44.1KHz囉!我本來還抓個HBO圖檔要當專輯封面,結果.wav似乎不能加專輯封面(殘念)。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-6156d805a1cd431ba0f287ac6aae7560.jpg)
接著我們將剛剛錄下來的第一段波形用『時間移動工具』移往接近0秒的地方,然後放大
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-ecaec3623a4182b100f02b4cb8b236b7.jpg)
接著用『選擇工具』將Lo的地方選取(以錄下來音軌做對齊),然後按『靜音』。放大會處理的比較精準。將每個Lo的地方(包含每段的開頭與每段間沒有波形的地方),都做靜音處理。
這邊有個小技巧就是只要做好一段,然後我們之前觀察到的若每一段都是重複,那你就只要用『選擇工具』,複製第一段,然後對齊每一段(錄下的)開頭貼上,可以貼上後用『時間移動工具』對齊。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-b8a2cfe6f3615f21bfc048b5172b803e.jpg)
處理完後後我們得到這樣的波形。縮小來看有4段,表示我完全複製按一次按鈕的波形。
這時就可以把錄下的刪除了。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-9b9c61b25110a4dc1c45b6f31779eabc.jpg)
然後再新增一個軌道,把剛才做好的軌道全選,貼到新軌道,在新軌道全選的狀態下,點『特效』->『上下翻轉』。這樣我們就得到兩軌一樣,但上下顛倒的音訊波形。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-e09037d52f3d680d669099bcc87c88a3.jpg)
最後點上方音軌旁的下拉黑色三角,選『製作立體聲音軌』。左下方的工程採樣率確定是44.1KHz(如果想做76KHz這邊就輸入76KHz。當然一開始製作時就要用76KHz),然後『文件』->『導出』WAV檔,一定要WAV檔才不會被壓縮導致波形變掉。
5.製作音訊輸出的IR發射器
LED本來就是二極體,超過順向接面電壓就會發光,我們就是使用二極體的整流作用跟立體聲的左右反向聲道音訊,把19KHz的閃爍變成38KHz。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-034769568a8e3971676599ddd6e5b099.jpg)
將兩顆IR LED的正負腳對接,正接負,負接正,長為正,短為負。
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-6ba75570d6e1daced82ac712aa0b1c64.jpg)
再將另一個3.5mm音源接頭旋開,把GND拗斷,我們用不到,然後把左右聲道接到剛剛做好的LED上,我覺得短一點比較好看,所以後來把它改短。
這樣就成了,接上player配合剛剛會做好的.wav音訊檔,就可以遙控看看囉!
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-a72a9c4575fe8bd567b43032f2439ee9.jpg)
紫灰艇組合
用接收器看看原遙控器的波形跟DIY的音訊遙控波形差多少
![[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多](http://attach.mobile01.com/attach/201207/mobile01-846dff7347a302ad2681845370470d06.jpg)
還不錯,幾乎是一模模一樣樣啦!實際使用上功能也是OK。
DIY遙控器大成功!!!
後記
用iPhone的音樂播的話,因為音訊太短,他很快就會換下一首,所以可以嚐試把音訊檔做長一點,後面多塞一些重複或靜音。
後來我比較喜歡用skyDriver或dropbox,除了可以用76kHz的採樣率,播放時也不會自動跳到下一首。
後來Jumpjack有發新的一篇,可以不用Audacity慢慢做的快速建立.wav檔的方法,但我還沒去研究。若有人知道怎麼做也請不吝分享。
其實我有L5 Remote的iPhone用IR遙控發射器,雖然它很強,可以自己做出完整的遙控器面板,學習其它遙控器也很簡單,但一個要-NT1500.-很不親民。
做這個是因為除了自用,還可以給朋友用,便宜,又不限定iPhone。
還有一個原因就是-因為我可以。