前往內容


[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多

因為常逛iPhone版,所以貼在這

楔子
因為日前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$ !(世蓋俗的遙控器替代方案)
由於我還沒跟這些文章作者打招呼,如有原作者看到覺得引用不妥請告訴我

材料
我是在光華的源達買的,其它電子材料行(不是五金行喔!)應該也不難買到(或者家裡不用的電器拆下也可以)
按這裡檢視圖片
3.5mm音源接頭兩個(至少要有一個是立體聲,可以拿不用的耳機線來改)-NT20.-(應該不超過,有點忘了)
IR LED兩個(壞掉的遙控器拆下來也可以)-NT16.-
IR接收器一個-NT25-
USB公頭一個(要用來接5V電源,若有其它電源,例如4~6V變壓器,則可不用,或者有點電子基礎的直接接電器的IR接收元件,連IR接收器都可以省下來)-NT20.-(以內)
電線兩條
有些東西價格忘了,但絕對不會超過-NT100.-
嚴格來說還要烙鐵跟錫絲啦!

開始
1.製做使用麥克風音源的IR接收器

按這裡檢視圖片
IR接收器,通常是三支腳,一支電源,一支GND,一支訊號輸出。源達買的這個順序是右到左,若是拆家裡原本電器的IR接收器或其他地方買的,請問清楚,或上ALLDATASHEET網站輸入型號查詢確認。

按這裡檢視圖片
由於要用5V所以我拿USB來接,或者你也可以接其它5V電源。
USB接腳是5V、DATA+、DATA-、GND(上下反順序就反了,所以自己確認一下),我買的公頭在插入的地方有標示第1PIN,所以對應到後面就知道5V跟GND在哪。
把USB跟IR接收器如圖接起來。

按這裡檢視圖片
轉開3.5mm音源接頭,由與只接單聲道所以接GND跟其中一個聲道就可以了。

按這裡檢視圖片
另一端當然就接到IR接收器的GND跟訊號輸出。若你有心,可以做得更漂亮一點,但我想,拿出去見人的是發射器,所以接收器就隨便囉!對了!那個5V最好要保護好,跟USB的機殼搭到的話可能會弄壞您的USB插槽。
若你是拿既有的耳機線來改,就只要接這一端的GND跟其中一個聲道就可以了。
更強一點直接接既有的還可以用的電器的IR接收器,把GND跟訊號輸出接到音源線的GND跟其中一個聲道,這樣連USB都不用,把原本的電器插電就可以了。
如下圖是一個我沒在用的電視盒(以前用來接自製的投影機的),找到IR接收器,接上3.5mm音源線,輕鬆搞定。
按這裡檢視圖片

2.接收要複製的IR遙控器訊號
先去下載安裝免費好用的音訊波形編輯軟體Audacity,安裝時語言選English會變簡體中文...>_<。

按這裡檢視圖片
接好剛剛做出來的IR接收器,將3.5mm音源接頭插到mic輸入。

按這裡檢視圖片
打開Audacity,準備錄音。這邊有幾點要注意:1.你可能得先用正常的麥克風輸入,確定麥克風錄音沒有問題。2.輸入音量開到最大,這樣波形比較清楚。3.若無法錄音可能是音效卡選錯,或者到控制台看你的音量,麥克風輸入是不是被靜音。4.工程採樣率調高,越高錄到的波型失真度越低。

按這裡檢視圖片
按下錄音,並且將遙控器對著接收器按下要複製的按鍵(不要急先一個按鈕就好),結束錄音。這樣你就得到遙控器訊號了。
到這邊大概就成功一半了。

3.解析遙控器訊號
上圖是錄到我同事的顯示器『切換AV輸入』的遙控器波形,我一共按了兩次,一次較短暫,一次按比較久,這是故意要做比較的,實際要複製時按一次就可以了。
波形上可以看到第一次按的地方大約可以分成4段。基本上我們就是如實複製按一次鈕出現的波形就對了,管它是幾段。但本著研究精神跟後面複製時可否減少工時,我們還是研究一下。

按這裡檢視圖片
先按『縮放工具』,左鍵放大,右鍵縮小,然後用『選擇工具』跟『適應選段』放大一段波形。這個方波在Hi時,表示收到IR LED以38KHz的頻率在閃爍,在Lo時表示不閃爍。IR遙控就是在這些胖瘦方波構成的編碼中完成通訊,由於沒有統一的通訊協定,所以每家公司都有各自的編碼方式,Protocol也不盡相同,有的會驗證收到的碼,有的不會,有的表示重複的方法是一直發射同一段碼,有的則是以一個更短的編碼表示重複。唯一的相同是大家都以38KHz的頻率在閃爍(也有以別的頻率閃爍的,但大部分是38KHz,若您要破解別的頻率的遙控器,要去找對應的接收器來製作)。

按這裡檢視圖片
我們將第一段編碼選取後複製,然後點『軌道』->『增加新軌道』->『音軌』,在新音軌,相對第二段開頭的位置貼上(對不準可以用『時間移動工具』對齊),這樣可以很方便的觀察第二段波形跟第一段有沒有一樣。若一樣,表示第二段是重複,或者是用來驗證跟第一段有沒有一樣,若是驗證,就表示按一次按鈕,遙控器至少會送出兩次一樣的編碼。若是第二段跟第一段不一樣,則表示碼比較長,遙控器分兩次送,這也表示我們等一下的處理會花比較長的工時。第三段一樣去對對看,通常是會一樣。
有些遙控器編碼只有第一段比較長,後面都以相同的時間間隔有個短的編碼,這種就是以那個短編碼表示長的那個的重複。

按這裡檢視圖片
回到一開始我們錄到的波形,第二次我們按比較久,波形重複了20次。以一樣的按鈕時間來遙控電器,電器會判斷我們只按了一次,這是因為每一段的時間間隔都一樣,符合電器對『重複』的判斷定義,這告訴我們,如果我們要做出HBO組合鍵,要先以符合重複定義的時間間隔重複『6』的編碼,然後再拉長一點時間,再拉長一點時間,然後重複『5』的編碼,這樣就可以正確轉到HBO了,要是時間間隔沒弄正確就會轉到東森洋片台或民視。

4.重製給IR發射(LED)用的波形(曲目)
接著我們要把這些調解過後的編碼波形再還原給IR LED閃爍用。

按這裡檢視圖片
先點『軌道』->『增加新軌道』->『音軌』,然後點音軌旁的下拉三角形先做一些設定。
勾選單聲道,採樣格式是32bit float,採樣率設定44.1KHz。
關於設定採樣率,其實最好是設定76KHz,因為我們等一下要做出一個19K的弦波,76KHz的採樣率剛好可以採樣在波峰波谷,這樣LED的閃爍頻率最正確,但由於大部份的player不接受48KHz以上的音訊(可能是bitrate太高的關係),所以只好選44.1KHz。我原本設定76KHz採樣率,結果iTunes不讓我同步進iPhone,但放在skyDriver或用附件寄mail到iPhone卻又可以播,我想iPhone可能有兩支播放器。
雖然44.1KHz的採樣率會有點失真,但目前我試起來還是可以遙控。

按這裡檢視圖片
接著我們在新增加的音軌,『生成』->『單音』,弦波,19000Hz,振幅0.9,持續時間3秒(用不到那麼長,等會兒可以裁掉),我們就可以得到一個19KHz的鋸齒波。放大後就可以看到如圖的波形。
我show出用44.1KHz與76KHz的差異。若您的player可以播76KHz做出來的.wav檔,那建議用76KHz來做,或者您有dropbox之類的網路空間也可以,我試過放在skyDriver可以播。
不確定player可不可以播或希望可以放到iPhone的音樂裡的,就用44.1KHz囉!我本來還抓個HBO圖檔要當專輯封面,結果.wav似乎不能加專輯封面(殘念)。

按這裡檢視圖片
接著我們將剛剛錄下來的第一段波形用『時間移動工具』移往接近0秒的地方,然後放大

按這裡檢視圖片
接著用『選擇工具』將Lo的地方選取(以錄下來音軌做對齊),然後按『靜音』。放大會處理的比較精準。將每個Lo的地方(包含每段的開頭與每段間沒有波形的地方),都做靜音處理。
這邊有個小技巧就是只要做好一段,然後我們之前觀察到的若每一段都是重複,那你就只要用『選擇工具』,複製第一段,然後對齊每一段(錄下的)開頭貼上,可以貼上後用『時間移動工具』對齊。

按這裡檢視圖片
處理完後後我們得到這樣的波形。縮小來看有4段,表示我完全複製按一次按鈕的波形。
這時就可以把錄下的刪除了。

按這裡檢視圖片
然後再新增一個軌道,把剛才做好的軌道全選,貼到新軌道,在新軌道全選的狀態下,點『特效』->『上下翻轉』。這樣我們就得到兩軌一樣,但上下顛倒的音訊波形。

按這裡檢視圖片
最後點上方音軌旁的下拉黑色三角,選『製作立體聲音軌』。左下方的工程採樣率確定是44.1KHz(如果想做76KHz這邊就輸入76KHz。當然一開始製作時就要用76KHz),然後『文件』->『導出』WAV檔,一定要WAV檔才不會被壓縮導致波形變掉。

5.製作音訊輸出的IR發射器
LED本來就是二極體,超過順向接面電壓就會發光,我們就是使用二極體的整流作用跟立體聲的左右反向聲道音訊,把19KHz的閃爍變成38KHz。

按這裡檢視圖片
將兩顆IR LED的正負腳對接,正接負,負接正,長為正,短為負。

按這裡檢視圖片
再將另一個3.5mm音源接頭旋開,把GND拗斷,我們用不到,然後把左右聲道接到剛剛做好的LED上,我覺得短一點比較好看,所以後來把它改短。
這樣就成了,接上player配合剛剛會做好的.wav音訊檔,就可以遙控看看囉!

按這裡檢視圖片
紫灰艇組合

用接收器看看原遙控器的波形跟DIY的音訊遙控波形差多少
按這裡檢視圖片
還不錯,幾乎是一模模一樣樣啦!實際使用上功能也是OK。
DIY遙控器大成功!!!

後記
用iPhone的音樂播的話,因為音訊太短,他很快就會換下一首,所以可以嚐試把音訊檔做長一點,後面多塞一些重複或靜音。
後來我比較喜歡用skyDriver或dropbox,除了可以用76kHz的採樣率,播放時也不會自動跳到下一首。

後來Jumpjack有發新的一篇,可以不用Audacity慢慢做的快速建立.wav檔的方法,但我還沒去研究。若有人知道怎麼做也請不吝分享。

其實我有L5 Remote的iPhone用IR遙控發射器,雖然它很強,可以自己做出完整的遙控器面板,學習其它遙控器也很簡單,但一個要-NT1500.-很不親民。
做這個是因為除了自用,還可以給朋友用,便宜,又不限定iPhone。
還有一個原因就是-因為我可以。
太厲害了大大,這文章一定要收藏的
太專業了都看不懂 厲害.....
PDA&MAC新手 wrote:
太厲害了大大,這文章...(恕刪)
看不懂+1
雖然我也是用 RS232的紅外線發射器來控制MOD等裝置,但沒有大大的巧手,只好花大錢購入
佩服版大, 太厲害了, 建議可以去申請個發明專利, 看是否可以產品化就賺大錢了!!
(目前一戶裡, 平均大約就會有3隻以上的遙控器)
superricky wrote:
佩服版大, 太厲害了...(恕刪)

說專利太慚愧了,這都是網路上其他人分享的智慧。
產品化也已經有了,就是貴!
按這裡檢視圖片
重點在於整合成面板程式,而不是像我用曲目來遙控。

KaiserChen wrote:
說專利太慚愧了,這都...(恕刪)


大大方便分享一下 RS232的紅外線接收發射器 要如何DIY嗎?
太強了!!
推最後【因為我可以。】這一句!!
超神!!
mav0905 wrote:
大大方便分享一下 RS232的紅外線接收發射器 要如何DIY嗎?


按這裡檢視圖片
RS232的IR發射器,材料是公司的報廢料搜刮來的,沒有去買也沒有做紀錄。要教學的話可能有點難,等我有空吧!
電路我是參考這篇,但我有修改成如下圖。
按這裡檢視圖片
因為我沒有5V的Regulator,所以我還是借USB的+5V來用,我只是要接收時(要學習遙控器時),才用到USB,要發射時我直接用RS232的電壓,+15V,只要調整R2的阻值就可以避免電流太大或加強遙控距離,您可以先不接電腦,把RS232的RTS跟DTR都直接先給+15V把電晶體turn on飽和,然後量R2兩端的壓降,V=IR就可以得到LED的電流,想要遠一點電流就大一點,不要超過20mA就好。另外,因為我要將LED對著MOD所以用線把它延長出去,若沒有必要,直接做在板子上就好。

RS232的IR發射器的重點在於使用WinLIRC錄下MOD(或你想要學習的遙控器)遙控的按鈕成為一個.cfg(設定檔),錄的方法可以參考這篇這篇,接收器的部份就可以用上面做的mic in接收器,RS232的有點麻煩。學到設定檔後,用WinLIRC帶入設定檔,就可以透過RS232發射訊號控制電器了。

找到一篇用mic in接收設定.cfg檔的。
給了那麼多魚竿,希望大家可以釣到自己想要的魚。
感謝大大的分享,您這個成品真的很有DIY的感覺,如前次回文所說,個人實在沒那個巧手,只好花大錢購入,另外感嘆網路上能找到的訊息實在太少,才冒昧請您分享一下,您提到錄製紅外線訊號才是關鍵的說法我有很深的體會,那幾篇教人釣魚的文章,我都曾經多次反覆閱讀後,才摸索到一點門徑說。

1頁 (共7頁) » 分享到

前往



廣告