MaKeyMaKey是大众融资平台Kickstarter上的一个项目,由两位MIT在读博士设计。它能将日常物品变成触摸板,然后连上电脑和网络。 MaKeyMaKey由三个部分组成:MaKey MaKey主板,鳄鱼夹和数据线。对于任何导体(表面湿润的绝缘体也可以)来说,只要用鳄鱼嘴导线将物体与电路板上的各个金属触点相连,然后再连接电脑,就可达到触摸板的效果,成为一个计算机输入设备。 MaKeyMaKey能够模拟键盘和鼠标的信号,结合电脑中现成的游戏和媒体播放器之类的软件,不用编程,就能够设计简单的互动媒体作品了,常见的是用来做水果键盘,如图1所示。MaKeyMaKey 的意义在于它可以用极其简单的方法让艺术家创造艺术,让孩子体验技术带来的乐趣,因而称为是孩子们21世纪的发明工具包。 图1:MaKeyMaKey连接水果 MaKeyMaKey并不贵,淘宝上能买到,大概500左右。但是作为一名创客,当然要试着自己来做一块。论技术难度倒真不高,只要稍微懂一点Arduino的基础知识就能实现。 MaKeyMaKey的神奇在于能够把任何导体,包括人体)、表面湿润的绝缘体变成输入设备。对照运行图2所示的工作原理,我们可以发现,人体无非是一个选择性的开关,让不同的“键”(引脚)和“Gnd”连接起来,形成一个回路,让单片机能识别,如图3所示。 图2:MaKeyMaKey运行图示 图3:MaKeyMaKey运行图示 作为输入设备,我们知道最基础的电路如图4所示。这其实就是一个典型的分压电路,Vout的电压是受R1和R2的电阻值大小影响。R2的电阻越大,Vout分到的电压也就越大。但是,由于作为人体的电阻很大,如何选择合适的电阻是重点。 图4:输入模块的电路示意图 如果熟悉计算分压电路,可以试着计算一下。一般在干燥环境中,人体电阻大约在2千欧-20兆欧范围内,那么作为匹配的电阻,应该选择这一范围的中间值,即10兆欧。经过测试,一般来说,1-10兆欧的电阻基本上都能比较敏感地测出是否形成了回路。 控制板方面,我们当然要选择开源硬件Arduino。MaKeyMaKey本身就和Arduino有着密不可分的关系。不信你可以查看MaKeyMaKey板子的背后,是否写着Arduino的字样? Arduino也有多种型号,我们用Leonardo还是UNO?因为Leonardo直接使用了ATmega32u4的USB通信功能,取消了USB转UART芯片,这使得Leonardo不仅可以作为一个虚拟的(CDC)串行/ COM端口,还可以作为鼠标或者键盘连接到计算机。 那么,第一选择肯定是Leonardo了。其实,国内有很多Arduino的兼容产品,有些用的芯片就是ATmega32u4。只要是用这一芯片的,都可以改造为键盘和鼠标。 图5:Leonardo Arduino IDE中直接了提供模拟键盘、鼠标功能的范例,在“示例”-“09 USB”中,如图所示。范例中有英文的注释,很容易看懂。要实现键盘和鼠标功能,只要关注以下两点。 1、在setup函数中,加上“Mouse.begin();Keyboard.begin();”的声明。 2、输入按键信息,直接用“Keyboard.press('l');”即可。“Keyboard.releaseAll();”为释放按键。特殊字符,可以用KEY_LEFT_ALT之类的常量来代替。 图6:Arduino自带的范例文件 依样画葫芦,我写了如下的代码,其中TouchSensitivity用来调节输入模块的敏感度的。代码中我定义了A0到A5口,分别对应“右、左、下、上”的方向键,以及空格和鼠标左键。
1、解放另一只手。 2、远程控制。 来源:中国信息技术教育 |
|
来自: 长沙7喜 > 《兴趣培养与智力开发》