新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > DIY系列:省下一万元自制触摸屏

DIY系列:省下一万元自制触摸屏

作者:时间:2016-10-22来源:网络

自从苹果的iPhone手机引入了多点触摸功能之后就引发了一股“多点触摸”的热潮,不仅手机纷纷克隆,易PC的触摸板也开始支持多点触摸了。微软也将推出Surface系统,这家伙使用多点,操作很炫,当然费用也是相当可观:需要花费接近1万美元,有钱还不一定能买到。为了一个功能换一台电脑显然划不来,本文将教大家用摄像头来实现多点触摸功能,成本很低;堪称穷人的法拉利!摄像头又多了一个有趣的应用。

本文引用地址:http://www.eepw.com.cn/article/201610/309200.htm

前期材料准备

1.摄像头一个。要求不算太高:30万或者更高像素、成像能看得清五官就行。我自己做的触摸板就用了一个一般画质的30万像素的摄像头,效果还行。当然,更好的摄像头无疑效果会更好。摄像头要求镜头能90度垂直摆放,如果镜头部分能自由调整就最好了。

2.纸箱或者能拼成容器的材料若干。

3.不干胶若干。

4.平板玻璃(或者硬质透明塑料片、毛玻璃之类半透明的材料)和白纸。如果你的电脑桌是玻璃做的,且桌面是毛玻璃,那再好不过了。

DIY系列:省下一万元自制触摸屏

动手DIY部分

第一步:固定摄像头

1.把摄像头固定在纸箱底部,或者用材料围成缺失一面的容器。要求四周不透光。考虑大家(包括我本人)的“木工”技术都不咋的,以最容易找的纸箱为例子介绍。

2.把纸箱竖立起来,在底部(就是平放的侧面之一)固定好摄像头,居中放置(图1)。要是镜头自身不能垂直摆放,可以给它垫点东西辅助它平躺。数据线用不干胶固定好,往棱角走线。

3.用美工刀或者剪刀切掉摄像头对面的那个面。建议用尺子+美工刀操作,这样切的面比较平整。

第二步:调整摄像头焦距

打开摄像头,观察预览窗口,要求纸箱开口处不能阻挡摄像头的视野,也就是说把摄像头预览窗口中看到的纸箱边框部分都切掉,最好恰好让开口部分能适应摄像头的视野,不能有暗角。在开口处放一张有图案的纸或者一本书,调整摄像头的焦距,让它在这个位置的成像最清晰。

有的摄像头可以自动调整焦距,有的需要手动调整。除了特别的调整旋钮外,部分摄像头的镜头可以旋转(图2),通过旋转镜头就可以调整焦距。

DIY系列:省下一万元自制触摸屏

第三步:拼合纸箱

除了切掉的那一面,把纸箱用不干胶拼起来。把可能漏光的部分封掉,一定不能在侧面漏光(图3)。如果有条件,可以在箱子内壁糊一层黑纸,或者用黑墨汁涂黑。如果箱子内壁不反光,不做处理也可以。

第四步:用玻璃板和白纸做个盖子

把玻璃板和白纸放在开口的地方,这个面就是触摸板的操作平面。玻璃板和白纸面积要略大于开口,同样也不能让接触缝隙有明显的漏光。我曾用较软的挂历纸玩了一下,实际用起来很难精确控制光标移动,所以这部分材料需要一定的硬度、不容易形变。可以使用两块玻璃板将白纸夹在中间。如果使用毛玻璃(毛的,不是那种有纹路、光滑的那种),可以不用白纸,直接将毛玻璃盖上去就行了(图4)。如果你的电脑桌表面是玻璃的,那么可把箱子和桌面整合在一起,用起来就方便多了。

DIY系列:省下一万元自制触摸屏

我们需要的软件,可以在这里下载:http://www.cbifamily.com/download/200829.html。这是国外高手制作的免费软件,大部分界面是英文的。不过不必担心语言障碍,因为界面很简单。有编程基础的朋友也可以看看压缩包带有的源程序,可以稍加改造让它更适合自己。

调整设置

解压软件包,运行其中的“1)Configuration.bat”;这时出现一个命令提示符的黑框和一个窗口,这里可以调整摄像头的输出大小和帧率(图5),一般不需要调太高,选择默认就可以。点击“确定”之后就出现一堆窗口,把手指放在玻璃板上,立即就能看到图像了。需要调整那些滑块,例如噪声之类的。那些滑块的具体含义可以不用关心,调整到rectify*窗口(图6)中只出现平滑的和你的手指对应的点就可以了;*代表数字,不一定为一个定值,可能是6或者7。调整完成后,按ESC退出。

DIY系列:省下一万元自制触摸屏

1.如果环境的光照变化比较大或者比较暗,可能需要适当的补光;例如多开一盏灯。

2.要想了解各个窗口的用途和每个滑块的实际含义,可以阅读压缩包中的MTmini - Getting Started.pdf,全英文的。

3.如果玻璃板不垫白纸,透明度太高容易受到干扰,反而效果不好。

4.软件支持Vista,我就是在Vista X86版本下面完成DIY的。

玩一下Windows示例程序

运行Demos/C++ Demos里面的Smoke_Demo.bat;把你的“爪子”放上玻璃板,看到手指对应的“烟雾点”了吧,按B可以重新进行背景捕捉,如果效果不好需要重复上一步操作继续设置软件;如果觉得效果可以接受了,就按Q键退出。这个程序本身效果就挺炫,开始觉得多点触摸好玩了吧?这只是一个开始而已(图7)。

DIY系列:省下一万元自制触摸屏

再来看看Flash示例

目前Windows下面完美支持多点触摸的程序不是很多,可以先玩一玩Flash示例,开个胃。这些示例程序其实很好玩。

要玩Flash示例,需要先运行Server.bat,出现一个命令提示符窗口和一个没有图像的灰色窗口。把手指按在玻璃板上,直到命令提示符窗口出现“Blob Detected:X:0.493456……”,然后运行Gateway.bat,出现一个命令提示符窗口和一个名称为“FLOSC 2.0”的窗口(图8);如果没有这个窗口,需要安装Java runtime 1.6以上的版本。点击“Start”,直到命令提示符的黑窗口出现“server started”,这时就可以玩Flash示例了。

DIY系列:省下一万元自制触摸屏

运行Demos\ Flash Demos\MultiKey.exe,这是一个电子键盘示例(图9)。这下可以发挥多点触摸的威力了,羡慕用iPhone组建乐队的朋友这下心理应该会少许有些平衡了。来,我们来演奏一把,多个手指一起点果然比用鼠标一个一个点要爽多了。

1.有的Flash示例默认以全屏方式运行,按下ESC键可以退出全屏模式。

2.这个示例需要给本机发送UDP数据包,如果防火墙提示访问网络,请允许它通过。否则也是玩不了的。

最后一步:替代鼠标操作

运行Demos/C++ Demos里面的Windows_Mousedriver.bat,在命令提示符窗口中出现“recap”之后,就可以使用DIY的多点触摸板替代鼠标操作了;关闭命令提示符窗口之后,“鼠标”功能自动停止。假如使用毛玻璃电脑桌,用起来可不是一个爽字能形容的。如果需要重启之后自动运行Windows_Mousedriver.bat,可以将它添加到开始菜单的启动项目中。

小结

成功DIY的关键在于当你的手指按上玻璃板的时候摄像头能否捕捉到手指留下来的阴影,所以它对摄像头的要求并不高。当然也可以预见,如果设置得好,玩一把“隔空点穴”操纵触摸板也能做到哦。需要注意一点,如果周围环境光照变化比较大,使用前最好重新设置一下。它的配置文件是Touchlib_Tracking_Software\config.xml,根据每种环境备份/恢复配置文件也可以。假如觉得箱子有点丑,可以用画笔或者壁纸修饰一下,相信这不是什么难事。

后记

要是觉得不过瘾,可以用红外摄像机和投影仪等大家伙DIY一个可以玩的Surface

桌面,效果近似于超过30寸的,成本预计8000-10000元人民币左右,比Surface(预计5000-10000美元)系统便宜多了。



关键词: 触摸屏 制造

评论

技术专区

关闭