2008.08.16 23:05 bruce:
胖子Johnny.lee http://www.cs.cmu.edu/~johnny/projects/wii/ 发现了这种用途,一直想找机会试。
下周准备在一个100寸的投影背投上做实验,今天到电子城买了元器件,回家把构思的改造笔实现了一下。
就是拿wii的蓝牙遥控手柄wiimote在PC上实现多媒体交互。
原理是wiimote手柄的红外点感应定位功能,通过wiimote的蓝牙遥控程序API,实现4点定位后计算坐标,来实现鼠标位置的模拟。当红外光线亮时表示鼠标按下,熄灭表示鼠标释放。
胖子李的笔是用把开关装在笔侧面,用手来按的。我琢磨了一下,用圆珠笔的弹簧压感来做开关会更爽,于是乎,找了一堆能找到的东西实现了。
可怜我的笔记本和发光二极管多次亲密接触。
[flashvideo filename=http://bruce.in/wp-content/uploads/2008/08/wiiwb.flv /]


1:设计


这是原理图,将小开关装在笔芯底部,笔尖用牙签等绝缘替代,前面帮上红外发光二极管,当写字时会有压感,触发开关,电池供电,发光二极管发出人眼看不到(DV DC和wiimote拍得到)的红外光。
wiimote捕捉到红外光后就可以定位了。
2:原材料
除了红外发光二极管和微型触控开关要去电子城买,其他东西都好找。
其实这2个东西也可以在家里找到,
红外发光二极管:拆开一个废旧的遥控器,把前端的红外发光二极管拆下来就可以用。测试方法是用1.5v干电池接通,然后用手机摄像头看,如果发亮就可以工作。
触摸开关:可以用鼠标的按键,把废旧的鼠标拆开,把按键取下来就可以用了,不过个头大,只能实现胖子李的侧边按钮。

其实价格很便宜,都懒的还价的。
红外二极管市面上常见的就个头大小2种,都是1.5v,我用3v烧坏了一个。长脚一端是正极
触控开关很少,我也是找了第二家店才买了这三种做实验,5毛的那种最好用了。
再就是家里找废旧的圆珠笔。要作压控式的,需要那种有弹簧,笔尖可以缩进去的那种进行改造。关键就是那个弹簧了。

一些配件就是电池、电线(光驱的音频线挺好的,买PC的时候都会多出来)、牙签是很好的绝缘体,可以把二极管绑在上面,替代笔尖。

再就是些加工的用品,镊子很重要,在焊接时候可以起到散热作用。不然很容易烧坏元器件。

按顶上的原理图,做出来这个,比较丑,但是挺好用,挺灵敏。

笔做出来了。
运行环境就是Wiimote、蓝牙适配器、笔记本电脑、红外笔
辅助的是落地扇,他可以随意调节高度,真是很好的支架。
看如下原理图:
红外笔在写的时候,发出红外轨迹,wiimote捕获到以后,通过蓝牙传送给蓝牙接收器。
计算机通过软件采集到红外点的便宜,同时确定笔的位置。
至于为什么那么准,是软件计算出来的,用4点或者多点定位做位置基准点。

3:软件实现
硬件完成了,最关键的就是软件了
3.1、先要蓝牙通,驱动能识别wiimote 参见http://bruce.in/p/265
可以选用 东芝的Bluetooth Stack,容易找到Wiimote
也可以使用BlueSoleil,查找时如果找不到wiimote,则拔掉蓝牙再插
在查找蓝牙设备时,同时按住wiimote的 1、2两键
3.2、测试蓝牙手柄
用小日本的WiinRemote
调节电风扇,用笔在屏幕的四个角点,要让wiimote有感应才行,在wiinremote的屏幕上会有反应的。
一定要保证屏幕的4角都能感应到。
还有一点就是:为了避免手挡住红外光,wiimote必须避免在手后面。我们在他们演示的视频上可以看到,一般都是在侧面。
我就是用顶部感应,手在下侧面写字。
3.2 使用胖子李的程序,C#的 http://www.cs.cmu.edu/~johnny/projects/wii/WiimoteWhiteboardv02.zip
可以自己改。
程序将引导你做4个角的基点定位。
定位完成后就可以很准确的使用了。就跟触摸屏一样。
这种方法,只要个wiimote遥控器就可以很方便的创建多媒体触摸屏,一个60寸的多媒体液晶屏要几十万呢。如果拿个投影加wiimote可以实现,岂不是很好。
不说大用途,用来做ppt演示应该绰绰有余。难怪胖子李说全世界各地的教师都用上了这套系统。
过几天再到100寸的背投高亮工程投影上去试试,效果好就推荐用户用。呵呵。
—————-
8月17日
为了美观,电池必须内置。只有白板笔才有那么大容量。
今天拆了个白板笔,用外置按钮的方式做控制,选用了鼠标按钮的那种开关。如下图,整体感很强

本想试着在笔的末端加另外一套红外LED,用了2个小的LED,想用2个灯亮的信号模拟鼠标右键操作。
结果发现距离太近,wiimote直接把它当作一点了。真是郁闷,白费心。

白板笔做出来了,和昨天做的笔尖压控的比起来,不至于把笔记本画花。
但手指按键始终迟钝一点,下图蓝色是手动按的,收笔时总会往上提一下。
下面压控的就好一些

总体说来,灵敏度不是很高,尤其是距离远的时候,可能是亮度的问题,反映迟钝。尤其是反射以后,光源更弱。
LED的前端是凸透镜原理,目的是为了向前聚光。所以笔尖的LED必须和幕布或屏幕接触才会给幕布和屏幕反光,才能被wiimote采集到。
LED自生发光背对着wiimote是采集不到的。
所以一直按着按钮,也只有在接触屏幕写字的时候才有所感应。
————–
2008.8.18 郁闷呀~~~~~笔记本上一道一道的。且:
在大屏幕上试了,效果很糟糕,因为红外发光LED功率太小的缘故,wiimote在1米远就无法感应到红外灯。
基本上是废的,完全没法用。真是失败。
回头到电子城再买个大功率的红外LED试试。
