微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > DIY系列:省下一万元自制触摸屏

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

时间:10-22 来源:互联网 点击:

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

前期材料准备

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

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

3.不干胶若干。

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

动手DIY部分

第一步:固定摄像头

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

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

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

第二步:调整摄像头焦距

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

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

第三步:拼合纸箱

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

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

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

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

调整设置

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

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

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

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

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

玩一下Windows示例程序

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

再来看看Flash示例

目前Wi

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top