吴俊杰
米思齐是北京师范大学付骞教授团队设计的一个开源编程软件,随着创客教育的推进以及开源软件硬件编程的推广,它渐渐成为行业内的一个编程规范。我们在推动创客教育发展的过程中,应注意的是,不是教给学生冷冰冰的电路,而是要创造一种玩法,一种交互的体验,一个完整的制作、改装、玩转、分享的学习过程。因此,本次我们将做一个稍微彪悍一点的东西——巫师灯。
现代艺术的一个重要特征就是将观众由欣赏者转变为参与者,这在很多装置艺术中都可以看到,如交互投影、一个当人走进以后会自动开始张牙舞爪的电子章鱼等,而这一切在现代信息技术的帮助下可以变得非常有参与感。例如,在北京“世贸天阶”硕大的天顶显示屏上,用户可以通过发送短信将自己的祝福投射到“头顶的天空上”,甚至去改变它的颜色,控制播放的影片。在这个过程中,交互和交互的设计是核心,而技术上的实现则是相对下位的东西,一个非常简单的技术通过交互设计的思想也能够产生奇妙的效果。让参与者觉得一件作品很酷,也并非难事,这其中需要作者对这个世界充满好奇和爱,同时也应有一些简单、通用的设计原则可以遵循。
● 制作:巫师灯的线路衔接
将一个LED插在13口和GND之间,我们会发现它有时候亮,有时候灭。用手指触摸D3端口,这种现象尤其明显,这种时亮时灭的效果就像巫师手中的水晶球一样,变幻莫测,因此我们称其为“巫师灯”(如图1)。
为了增强巫师灯的效果,我们可以在D3引脚上添加一根导线,这根导线起到天线的作用,能够增强人体磁场对D3端口电压的影响,使得巫师灯的效果更为明显。这时,从有趣的角度,你可以试着对巫师灯说一些话看看它有什么反应,当然,这并不是真正的巫术,只是好玩的游戏。
● 改装:制作一个大型的巫师灯交互装置
在巫师灯的设计中,我们知道D0~D13引脚除了可以作为信息的输出之外,还可以作为信息的输入来使用,但是这种信息的输入是一个二值量,意味着它只有高低两种变化:当D3引脚电压为高时,输入值为真;当D3引脚电压为低时,输入值为假。为了使巫师灯的交互效果更好,我们制作了如图2所示的装置。
首先,使用绕线棒将更多的LED连接在数字端口上,以四边形的形式装饰在盒子的底部。随后,我们将D3端口的导线延长,在底部打孔,使其能够在将灯悬挂起来之后,吹到地面上供参与者把玩,接下来将GND和D5端口用同样的方式垂下来一根导线,这三根导线就构成了一个交互装置的雏形(如下页图3)。
我们事先已经通过程序将D5的电压升到5V,使用者将D3和D5连接,巫师灯常亮,将D3与GND连接巫师灯熄灭,这说明D3作为信息的输入使用时,电压为5V的时候输入为真,电压为0V的时候输入为假。这样通过垂下的、类似水母触须一样的导线的不同连接方式,我们就可以控制水母本身的LED的亮和暗。这样,用更多的导线和更多的数字输入输出端口可以做出更加绚丽的互动效果。
● 玩转:数字输入
在初始化环节中,我们将管脚5的电压设置高,这样做的目的是让其充当一个小电流输出的5V,因为如果直接连接系统的5V,当用户不慎将5V和GND连接起来时,会导致控制器停止工作,长期短路甚至会危害控制器,所以使用数字端口置高的办法,既能够充当5V信号的输入源,又能够有效地避免短路的风险,另外它还可以作为一个小电流电源,用于连接一些简单的电路(如图4)。
上面的程序当中,使用设置的方法直接将数字端口3的输入值赋值给数字输出管脚13,这与下面的“如果…否则…”结构是一致的(如图5)。
此外,我们还可以从代码的角度分析一下,数字输入端口的使用如图6所示的代码。
在米思齐自动翻译的代码中,初始化时设定端口3的状态为“INPUT”即输入,设定端口13的状态为“OUTPUT”即输出,这进一步明确了D0~D13端口既可以作为信息输出又可以作为信息输入使用的特性。
● 分享:如何让作品更有交互性
数字艺术装置的设计有一些共同的原则,如装置大一些、尺寸最好和一个成年人的尺寸相当,这样就会看上去壮观很多。另外,在设计的过程中主动地安排一些用户参与的环节和项目,这样就会使得作品有更强的参与感,也会使得参观者的体验更好。例如,在巫师灯的触须下面放一个圆桌,上面放一些定值电阻、光敏电阻、拨位开关、电位器、倾斜传感器、LED一类的电子元器件,让使用者自由地连接在上面,这样就有可能产生更为奇妙的互动体验。当然,拍一张美美的宣传照片也是必要的,如图7中的这个小姑娘,举着巫师灯的样子,仿佛魔法学院中的精灵。但愿这个世界的美好和爱,可以通过一个个充满创意的设计无限地传递下去。
本案例的分享视频将会在以下公众号中陆续登载。