2012年9月16日

用iPad當紅外線遙控器

早先看到小p貼了這個連結(便宜好用-使用耳機孔的IR遙控器),內心就一直惦記著想要作,後來又在Hack a day的網站上再次看到這樣的介紹,再加上幾天前才作了一個電腦上的脈搏計,大部分的材料都在身邊,不如就趕緊作一作,了一樁心事。

整個過程的原理是先利用紅外線接收器接到麥克風插孔(聲音輸入),可以錄下遙控器的紅外線訊號之後,再學著那個訊號,在audacity上做出19KHz的波形變化。然後紅外線LED的正負極互相串聯,接到耳機孔(聲音輸出),把訊號透過紅外線LED發出,變成38KHz的訊號,藉此達到遙控的功能。

詳細的製作過程,在上面第一個連結中,和下面兩個連結裡頭都有。

接收紅外線訊號,我就直接用電腦上的脈搏計的那個接收器,插到電腦的麥克風插孔後,開啟audacity錄音,拿遙控器對著它按鍵,成功的話,audacity就會出現一連串變化極大的波形。錄到這些訊號之後,紅外線接收器就達成任務了,這個可以收起來了。

接著是作訊號處理,我做了三次才成功。其實這個不難,做了三次的原因我還沒了解原理,就隨便亂做。

我文章還沒看完,我就想直接就把錄下的訊號,透過紅外線LED發射出去不就得了。但是那有兩個問題,首先是錄下的訊號是接收器解調過的,並不是38KHz。再者就算你真的弄個38KHz,電腦也發不出那個訊號,因為音效卡都設計是給人聽的,所以訊號最多也就20KHz左右。

因此整件事情就要拐兩個彎才作的到。首先,既然錄下的訊號不是38KHz,那我們就只好學著它的波形變化重新作一個,而且是改用19KHz。雖然是輸出19KHz,但是透過LED的巧妙接法,我們也可以把它變成38KHz。

波形變化要怎麼改呢?前面參考網址都有教,就是在audaciy再開一個音軌,生成19KHz頻率聲音,振幅就維持一樣就好。接下來參考錄下的波形變化,把新的19KHz的聲音都做處理,處理的原則是這樣的,因為錄下的聲音波形變化有High有Low,只要是Low的,我們就學著把19KHz作靜音。把19KHz的那軌處理完之後,複製這軌再貼上,然後對新作的這軌作相反處理,讓波形上下顛倒。處理完這些訊號之後,就把它存成WAV檔,不可以存成mp3檔,因為波形會壓縮。

紅外線發射器的作法是將3.5mm的接頭ground端拆掉,留下兩個左和右的正極。然後  紅外線LED兩顆的正負極互相接作反向並聯。舉例來說這兩個LED命名成A和B,我們就把A的正極和B的負極相接,A的負極和B 的正極相接,然後再把LED焊在3.5mm留下的兩個正極上。



LED本身就是二極體,所以我們可以透過這樣子相接達到類似全波整流的效果,所以原先的19KHz的訊號,透過LED輸出的時候,就會變成38KHz了。(這頁有圖可看)



做了這些,還真的學到不少,之前對訊號透過38KHz載波的原理似懂非懂的,做完之後,懂得更多了,雖然不至於完全了解,但是多少成長了。此外還順便了解了全波整流這件事。

後來看文章的時候,看到有香港網友做了用excel的VBA就可以解析錄下波形的High Low的持續秒數,這點讓我很驚訝,Excel VBA居然還可以解析這些。


原來audacity 存檔也可以導出unsigned 8 Bit的wav檔,或是導出給matlab或是 gnu octave用,我未來想用audacity作data logger,這些資訊對我很重要啊。另外我還看到一個聲音處理軟體sox,我想這以後應該會有幫助。