HOWTO: 在Macbook上DIY窮人的multi-touch (Part 2)

接續Part 1的說明,這次要解說如何自己製作必要的硬體設備,包括紅外線LED、紅外線攝影機、以及紅外線反射貼片。

紅外線LED(Infrared LED, 簡稱為IR LED)

紅外線LED可以在電子材料行輕易買到,一顆約NT$ 5~8元。如果會基本的電路製作,說穿了就只是買一大堆LED,插在一塊板子上,然後接上一個電阻和電池就行了。雖然很簡單,但我不建議這麼做。因為太費工了,我實驗過要取得夠好的效果,至少要用上50顆LED,才能勉強讓使用者的手直接從鍵盤上拿起來就能控制。我不想花那麼多時間慢慢焊50顆LED,所以決定買現成的紅外線LED燈來用。

所謂現成的紅外線LED燈,其實就是現在很多支援夜視功能的監視器上所用的紅外線投射器。

紅外線監視器的原理其實就是在夜晚時,利用鏡頭旁邊裝設的這一圈紅外線LED發出的紅外線光來取代白天的可見光作為照明。而監視器用的這一圈紅外線LED剛好就非常符合我們的需求:中間有個洞能放鏡頭,旁邊有48顆紅外線LED。我在台中的電子街買到這東西,大約要NT$ 6xx元。(如果自己做同樣的東西只需要一半的價錢,可見這東西多好賺)

這個LED燈背後有個小插座,只要接上12V的電就能運作。要特別注意的是這種給監視器用的燈,都附有一個光敏開關(上圖正面右下角那一個特別突出的圓柱),這個開關是用來偵測環境的光源亮度,如果天黑了就會啟動紅外線照明。因為我們需要它一直開著,所以就拿個不透明膠帶把這個開關貼起來騙它現在是晚上就行了。

我另外在電子材料行買了兩個加長型的塑膠銅柱(就是把電腦主機板固定在機殼上的銅柱),可以鎖在這個紅外線投射器上,以方便固定在Macbook的鏡頭上。

組合時稍微把銅柱的前端用刀片削一下,會比較好插進去旋轉。最後組合起來會像這樣:

完成後就能直接把這個LED燈放到Macbook的鏡頭上了:

 

紅外線攝影機和紅外線濾光片

Macbook內建的iSight攝影機其實本來就能看到紅外線,最簡單的實驗方法是打開Photo Booth,然後拿出Macbook附贈的小遙控器(長得很像舊款iPod Shuffle的那個遙控器),對著iSight按一按,你就能看到遙控器裡有一閃一閃的亮光。這個亮光就是從遙控器內的紅外線LED發出,直接用肉眼是看不見的。


雖然iSight看得到紅外線,但有個嚴重的問題是它也看得到可見光。參考上圖的光譜,我們可以知道紅外線的波長比可見光還長,而iSight的可視範圍就是從可見光區一直往上延伸到紅外線區。如果我們想讓iSight只能看到紅外線的話,就需要另外加上一片只讓紅外線通過的濾光片(IR-pass filter)。這個濾光片價錢不便宜,而且不容易買到,但還好我們能用很簡單的方法自己做一個,成本只要NT$ 32元就能搞定。

只要到書局買像上圖這種有色的透明包裝紙,一個藍的,一個紅的就行了。這種有色的透明包裝紙其實就是最簡單的濾光片,對人來說,紅色就是只能透過紅光,而藍色就只能透過藍光。但事實上這兩種包裝紙都還能讓紅外線穿透,也就是說我們只要把兩種顏色的包裝紙疊起來,就能把可見光全部濾掉,只讓紅外線通過。

我試了幾種排列組合,最後決定用一片紅色加兩片藍色。接著把它們用膠帶黏在一起,就能得到一片簡易的IR-pass filter。完成後可以直接用膠帶貼在iSight的鏡頭前,這樣原本的iSight就搖身一變成為只能看到紅外線的攝影機了。

下面是一個簡單的demo影片,我直接拿一顆IR LED接上一顆AAA電池在鏡頭前晃來晃去,搭配我自己寫的blob tracking程式,這樣就能當作一種虛擬手寫板來玩了 😀

有了IR-pass filter後,我們就能把它放到紅外線投射燈中間,最後再把整個投射燈架到iSight前面,就完成了紅外線的發射+接收裝置。

紅外線反射貼片

最後要做的一個小東西是可以黏在手指上,加強紅外線反射的反光貼片。有了這種貼片後,手指在紅外線攝影機前就會變成特別亮的一個光點,這樣我們後續要做光點追蹤就容易多了。

我在家裡附近的什麼都有賣的五金雜貨店(X北百貨)搜刮了四種反光片及反光膠帶,分別測試過後找到一種效果還蠻好的「安全反光帶」(就是交通警察身上都會有的那種螢光色反光帶)。

我把這個反光帶剪成幾塊小片,用雙面膠貼在手指上,就能得到不錯的效果。請見下面的video:

到此我們已經完成了所有必要的硬體配備,總成本不超過NT$ 750。總共有下列配備:

  • 紅外線攝影機: 內建的iSight + 自製IR-pass filter NT$ 32
  • 紅外線LED發射器(外加一些小零件,銅柱、電池、銅線..) NT$ 6xx
  • 反光貼片 NT$30

硬體部份到此就能全部完成,最麻煩的其實是自製紅外線燈,但不想自己焊的多花點錢也是能買到現成的來用。剩下的IR-pass filter和反光貼片只要去文具店買,拿回來剪剪貼貼就能完成了。很簡單吧 😀

下一篇將會介紹軟體的部份。軟體是最複雜的地方,可能要等我下次放假才能完成了。

30 thoughts on “HOWTO: 在Macbook上DIY窮人的multi-touch (Part 2)

  1. 真是酷!
    其實, 要濾掉光線有幾種簡單的方式, 可以用完全曝光後的底片, 或是用 floppy.
    我測試的結果是…floppy 效果好的驚人啊 🙂

  2. 我知道用底片可以, 但我在家都找不到底片了XD
    用floppy倒是很有趣, 之後也來試試看效果如何

  3. Mr. Monday,
    我試過用5.25″ floppy當IR-pass filter,和我用包裝紙做的比起來透光率稍微低了一些,透過反光片反射回去的紅外線會太暗一點。所以看起來我還是用包裝紙比較好一點 😀

  4. Pingback: » DIY Surface Table (IV): 製作 DI Table & 改造攝影機

  5. Pingback: DIY Surface Table (IV): 製作 DI Table & 改造攝影機 - MMDays

  6. 謝謝你詳細的文章
    想請問你喔~
    你的紅外線投射器是在哪邊買的呢?
    台中電子街哪一間呢?
    中間可以放webcam 好方便~
    感謝~

    真希望網路上也買的到~

  7. 感謝vgod給實踐了這麼好的原型。有幾個疑問哦:
    整個硬件部分做下來似乎就是一個紅外夜視攝像頭啊。市面上有賣這個的現成的東東。有一些是還是無線的,靠2.4G或藍牙與電腦通訊。直接用這種東西是不是也可以呢?
    不過這種夜視攝像頭里一般只有10幾顆LED,卻一般號稱攝像距離達到10米。
    請問vgod,原型裡最後的效果手指能離開鏡頭多遠呢?一直有一個疑問,wiimote總共也沒用幾顆LED,感應距離可以達到5米呢。為什麼從 Johnny Lee和vgod的實驗來看,似乎用手指貼反光帶的方式,不僅需要很多的LED,有效距離也大大縮短。這是為什麼呢?
    如果用手持一個主動發光的LED,是不是有效距離就好得多呢?
    以上是我的疑問,還請vgod能幫忙澄清。

  8. Hi Dawson,

    直接用現成的紅外線夜視攝影機是不行的,因為這種攝影機同時會接受紅外線和可見光,我們必須要把可見光濾掉只留下紅外線才行。
    如果只用手指,不貼反光片,能離鏡頭頂多30~50cm,會這樣的原因是手指的反射效果並不是很好,紅外線經過手指反射會散開來,所以攝影機接受到的亮度很有限。wiimote可以這麼遠是因為wii的sensor bar裡面是會自行發光的LED,LED會均勻對所有角度發光,所以wiimote在任意角度都可以「看到」LED。在手指上貼反光片的目的其實也只是為了能把LED發出的光再反射回去讓攝影機「看到」,距離會縮短一部分是因為這樣子LED發出的光就走了兩倍的距離才能回到攝影機,另一方面是光線用折射的就只能在特定角度下能讓攝影機「看到」。所以你說的沒錯,用手拿主動發光的LED,效果會很好,可以用的角度和距離都會大大提昇。

  9. 我使用普通的 WEBCAM改造 是可以看的到遙控器的光源
    為甚麼得不到http://www.hoagieshouse.com/IR/Phone_In_IR.jpg
    這種圖呢
    是因為WEBCAM沒發出紅外光的關係嗎

  10. Hi KK,
    你不需要得到那種清晰的影像。用濾鏡的目的就是要濾掉你不想要看到的東西,在這裡就是除了手指尖端以外的所有影像。如果你從攝影機可以看到完整的影像,這樣就沒有過濾的意義了。LED的數量要看你的距離和要不要用反光片而定,我這裡用48顆在正常使用notebook的距離內都沒問題。

  11. Pingback: ir filter 幾錢 -網誌熱搜"ir filter 幾錢"

  12. Pingback: Best electronics and microcontroller projectsAll b.tech projects

  13. Pingback: funny pics, amaing, lol, epic, awesome, fun

  14. Pingback: Cuadros oleo

  15. Pingback: Baju bayi

  16. Pingback: Perlengkapan Bayi Murah

  17. Pingback: New Android Market

  18. Pingback: New Android Market

  19. Pingback: New Android Market

  20. Pingback: New Android Market

  21. Pingback: New Android Market

  22. Pingback: New Android Market

  23. Pingback: Sarung tangan bayi

  24. Pingback: New Android Market

  25. Pingback: Sarung tangan bayi

留言給我吧!