DIY系列:省下一萬(wàn)元自制觸摸屏
自從蘋果的iPhone手機(jī)引入了多點(diǎn)觸摸功能之后就引發(fā)了一股“多點(diǎn)觸摸”的熱潮,不僅手機(jī)紛紛克隆,易PC的觸摸板也開始支持多點(diǎn)觸摸了。微軟也將推出Surface系統(tǒng),這家伙使用多點(diǎn)觸摸屏,操作很炫,當(dāng)然費(fèi)用也是相當(dāng)可觀:需要花費(fèi)接近1萬(wàn)美元,有錢還不一定能買到。為了一個(gè)功能換一臺(tái)電腦顯然劃不來(lái),本文將教大家用攝像頭來(lái)實(shí)現(xiàn)多點(diǎn)觸摸功能,成本很低;堪稱窮人的法拉利!攝像頭又多了一個(gè)有趣的應(yīng)用。
本文引用地址:http://www.ex-cimer.com/article/201610/309200.htm前期材料準(zhǔn)備
1.攝像頭一個(gè)。要求不算太高:30萬(wàn)或者更高像素、成像能看得清五官就行。我自己做的觸摸板就用了一個(gè)一般畫質(zhì)的30萬(wàn)像素的攝像頭,效果還行。當(dāng)然,更好的攝像頭無(wú)疑效果會(huì)更好。攝像頭要求鏡頭能90度垂直擺放,如果鏡頭部分能自由調(diào)整就最好了。
2.紙箱或者能拼成容器的材料若干。
3.不干膠若干。
4.平板玻璃(或者硬質(zhì)透明塑料片、毛玻璃之類半透明的材料)和白紙。如果你的電腦桌是玻璃做的,且桌面是毛玻璃,那再好不過(guò)了。
動(dòng)手DIY部分
第一步:固定攝像頭
1.把攝像頭固定在紙箱底部,或者用材料圍成缺失一面的容器。要求四周不透光??紤]大家(包括我本人)的“木工”技術(shù)都不咋的,以最容易找的紙箱為例子介紹。
2.把紙箱豎立起來(lái),在底部(就是平放的側(cè)面之一)固定好攝像頭,居中放置(圖1)。要是鏡頭自身不能垂直擺放,可以給它墊點(diǎn)東西輔助它平躺。數(shù)據(jù)線用不干膠固定好,往棱角走線。
3.用美工刀或者剪刀切掉攝像頭對(duì)面的那個(gè)面。建議用尺子+美工刀操作,這樣切的面比較平整。
第二步:調(diào)整攝像頭焦距
打開攝像頭,觀察預(yù)覽窗口,要求紙箱開口處不能阻擋攝像頭的視野,也就是說(shuō)把攝像頭預(yù)覽窗口中看到的紙箱邊框部分都切掉,最好恰好讓開口部分能適應(yīng)攝像頭的視野,不能有暗角。在開口處放一張有圖案的紙或者一本書,調(diào)整攝像頭的焦距,讓它在這個(gè)位置的成像最清晰。
有的攝像頭可以自動(dòng)調(diào)整焦距,有的需要手動(dòng)調(diào)整。除了特別的調(diào)整旋鈕外,部分?jǐn)z像頭的鏡頭可以旋轉(zhuǎn)(圖2),通過(guò)旋轉(zhuǎn)鏡頭就可以調(diào)整焦距。
第三步:拼合紙箱
除了切掉的那一面,把紙箱用不干膠拼起來(lái)。把可能漏光的部分封掉,一定不能在側(cè)面漏光(圖3)。如果有條件,可以在箱子內(nèi)壁糊一層黑紙,或者用黑墨汁涂黑。如果箱子內(nèi)壁不反光,不做處理也可以。
第四步:用玻璃板和白紙做個(gè)蓋子
把玻璃板和白紙放在開口的地方,這個(gè)面就是觸摸板的操作平面。玻璃板和白紙面積要略大于開口,同樣也不能讓接觸縫隙有明顯的漏光。我曾用較軟的掛歷紙玩了一下,實(shí)際用起來(lái)很難精確控制光標(biāo)移動(dòng),所以這部分材料需要一定的硬度、不容易形變??梢允褂脙蓧K玻璃板將白紙夾在中間。如果使用毛玻璃(毛的,不是那種有紋路、光滑的那種),可以不用白紙,直接將毛玻璃蓋上去就行了(圖4)。如果你的電腦桌表面是玻璃的,那么可把箱子和桌面整合在一起,用起來(lái)就方便多了。
我們需要的軟件,可以在這里下載:http://www.cbifamily.com/download/200829.html。這是國(guó)外高手制作的免費(fèi)軟件,大部分界面是英文的。不過(guò)不必?fù)?dān)心語(yǔ)言障礙,因?yàn)榻缑婧芎?jiǎn)單。有編程基礎(chǔ)的朋友也可以看看壓縮包帶有的源程序,可以稍加改造讓它更適合自己。
調(diào)整設(shè)置
解壓軟件包,運(yùn)行其中的“1)Configuration.bat”;這時(shí)出現(xiàn)一個(gè)命令提示符的黑框和一個(gè)窗口,這里可以調(diào)整攝像頭的輸出大小和幀率(圖5),一般不需要調(diào)太高,選擇默認(rèn)就可以。點(diǎn)擊“確定”之后就出現(xiàn)一堆窗口,把手指放在玻璃板上,立即就能看到圖像了。需要調(diào)整那些滑塊,例如噪聲之類的。那些滑塊的具體含義可以不用關(guān)心,調(diào)整到rectify*窗口(圖6)中只出現(xiàn)平滑的和你的手指對(duì)應(yīng)的點(diǎn)就可以了;*代表數(shù)字,不一定為一個(gè)定值,可能是6或者7。調(diào)整完成后,按ESC退出。
1.如果環(huán)境的光照變化比較大或者比較暗,可能需要適當(dāng)?shù)难a(bǔ)光;例如多開一盞燈。
2.要想了解各個(gè)窗口的用途和每個(gè)滑塊的實(shí)際含義,可以閱讀壓縮包中的MTmini - Getting Started.pdf,全英文的。
3.如果玻璃板不墊白紙,透明度太高容易受到干擾,反而效果不好。
4.軟件支持Vista,我就是在Vista X86版本下面完成DIY的。
玩一下Windows示例程序
運(yùn)行Demos/C++ Demos里面的Smoke_Demo.bat;把你的“爪子”放上玻璃板,看到手指對(duì)應(yīng)的“煙霧點(diǎn)”了吧,按B可以重新進(jìn)行背景捕捉,如果效果不好需要重復(fù)上一步操作繼續(xù)設(shè)置軟件;如果覺得效果可以接受了,就按Q鍵退出。這個(gè)程序本身效果就挺炫,開始覺得多點(diǎn)觸摸好玩了吧?這只是一個(gè)開始而已(圖7)。
再來(lái)看看Flash示例
目前Windows下面完美支持多點(diǎn)觸摸的程序不是很多,可以先玩一玩Flash示例,開個(gè)胃。這些示例程序其實(shí)很好玩。
要玩Flash示例,需要先運(yùn)行Server.bat,出現(xiàn)一個(gè)命令提示符窗口和一個(gè)沒有圖像的灰色窗口。把手指按在玻璃板上,直到命令提示符窗口出現(xiàn)“Blob Detected:X:0.493456……”,然后運(yùn)行Gateway.bat,出現(xiàn)一個(gè)命令提示符窗口和一個(gè)名稱為“FLOSC 2.0”的窗口(圖8);如果沒有這個(gè)窗口,需要安裝Java runtime 1.6以上的版本。點(diǎn)擊“Start”,直到命令提示符的黑窗口出現(xiàn)“server started”,這時(shí)就可以玩Flash示例了。
運(yùn)行Demos Flash DemosMultiKey.exe,這是一個(gè)電子鍵盤示例(圖9)。這下可以發(fā)揮多點(diǎn)觸摸的威力了,羨慕用iPhone組建樂隊(duì)的朋友這下心理應(yīng)該會(huì)少許有些平衡了。來(lái),我們來(lái)演奏一把,多個(gè)手指一起點(diǎn)果然比用鼠標(biāo)一個(gè)一個(gè)點(diǎn)要爽多了。
1.有的Flash示例默認(rèn)以全屏方式運(yùn)行,按下ESC鍵可以退出全屏模式。
2.這個(gè)示例需要給本機(jī)發(fā)送UDP數(shù)據(jù)包,如果防火墻提示訪問網(wǎng)絡(luò),請(qǐng)?jiān)试S它通過(guò)。否則也是玩不了的。
最后一步:替代鼠標(biāo)操作
運(yùn)行Demos/C++ Demos里面的Windows_Mousedriver.bat,在命令提示符窗口中出現(xiàn)“recap”之后,就可以使用DIY的多點(diǎn)觸摸板替代鼠標(biāo)操作了;關(guān)閉命令提示符窗口之后,“鼠標(biāo)”功能自動(dòng)停止。假如使用毛玻璃電腦桌,用起來(lái)可不是一個(gè)爽字能形容的。如果需要重啟之后自動(dòng)運(yùn)行Windows_Mousedriver.bat,可以將它添加到開始菜單的啟動(dòng)項(xiàng)目中。
小結(jié)
成功DIY的關(guān)鍵在于當(dāng)你的手指按上玻璃板的時(shí)候攝像頭能否捕捉到手指留下來(lái)的陰影,所以它對(duì)攝像頭的要求并不高。當(dāng)然也可以預(yù)見,如果設(shè)置得好,玩一把“隔空點(diǎn)穴”操縱觸摸板也能做到哦。需要注意一點(diǎn),如果周圍環(huán)境光照變化比較大,使用前最好重新設(shè)置一下。它的配置文件是Touchlib_Tracking_Softwareconfig.xml,根據(jù)每種環(huán)境備份/恢復(fù)配置文件也可以。假如覺得箱子有點(diǎn)丑,可以用畫筆或者壁紙修飾一下,相信這不是什么難事。
后記
要是覺得不過(guò)癮,可以用紅外攝像機(jī)和投影儀等大家伙DIY一個(gè)可以玩的Surface
桌面,效果近似于超過(guò)30寸的觸摸屏,成本預(yù)計(jì)8000-10000元人民幣左右,比Surface(預(yù)計(jì)5000-10000美元)系統(tǒng)便宜多了。
評(píng)論