可编程控制的提线木偶

时间:2022-08-26 11:17:18

可编程控制的提线木偶

提线木偶是古老的汉族木偶戏的一种,表演时,艺人用线牵引木偶表演动作(如图1)。当看到提线木偶的表演时,一个有趣的念头突然出现在笔者的脑海中,如果将提线木偶与Arduino结合在一起,用现代化的技术重新阐述这门古老的艺术,一定能够绽放异样的火花!这样做,既能让学生积极参与动手创作,又能让他们感受到中华艺术的博大精深,何乐而不为呢?

原理分析

提线木偶,顾名思义就是通过提拉线使木偶完成特定的动作。提线木偶一般会由五条线来控制,这五条线分别连着四肢和头顶,提拉每一根线都会出现相应的反应,同时提拉几根线则可以完成一系列连贯的动作,这就形成了表演。

舵机是常见的动作输出电子模块,多用在需要角度转换的作品中,用以精准控制角度。舵机本身能转动,加上摇臂之后,就能带动摇臂转过一定的角度,在这个转动的过程中,摇臂上的每个点都沿着弧线走过一段距离(如图2),其中离中心最远的点运动的半圆最大,走过的距离也最长。本次实验就是利用这一原理,把提线木偶的线绑在摇臂上,然后让舵机转动,带动摇臂运动,这样与摇臂直接相连的线也就能够被拉动,从而可以完成让木偶做动作的效果。

原型设计

这个作品用到的材料并不多,仅需Arduino主控板、扩展板和五个舵机,外加按钮、鞋盒子和双面胶、棉线之类。

首先,木偶都是在舞台上表演的,我们需要先设计一个适合的舞台,这里选择最常见的小鞋盒作为舞台的背景,把提线木偶安装在舞台上。用鞋盒做舞台背景有一个很特殊的优点,即鞋盒是一个长方形的立体空间,主板、舵机、按钮和电池都能完美地被隐藏在“幕布”之后,因此会让整个作品变得非常整洁(如上页图3)。

为了让提线木偶的线能方便地被舵机拉扯,我们可以在四肢对应的鞋盒上钻几个洞,以便让线通过洞与鞋盒中的舵机相连(如图4)。

确定好四肢线的位置之后,将舵机安装在盒子背后的相应位置,为了让舵机的转动最大化地变成线的移动,我们需要用双面胶把舵机固定在鞋盒上。随后,我再把舵机连接到扩展板上,使舵机的初始状态能够贴近盒子,这就为之后摇臂的运动提供了充足的运动空间。

舵机转动带动摇臂转过一定的角度,再拉扯线就能够使木偶做运动。木偶的动作需要让观众清楚地感受到,这就要求线运动的距离要长,不能只是轻微地拉一下,那如何才能让线走过的距离尽可能地长呢?

做圆周运动的物体有两个速度,分别是角速度和线速度,线速度=角速度×半径。在舵机转速既定的情况下,摇臂做的圆周运动角速度既定,而直接影响木偶扯线运动距离的则是摇臂上与扯线相连的点的线速度,该点的线速度越大,扯线的运动距离越大。根据上面的公式可知,要增大该点的线速度,我们可以通过加长连接点的运动半径,也就是加长摇臂的长度来实现这一效果。本实验选择在舵机原有的摇臂上另接一段木棍,再将扯线绑在木棍上(如图5)。

编程控制

制作完提线木偶的外观之后,我们就可以开始进入编程阶段,本次实验使用的是Mixly的编程环境。

在编写代码之前,我们应先为木偶设计几个基本动作。木偶的四肢都连接了线,所以可以设置几个四肢运动的基本动作,如抬左右手、踢脚等。如图6所示,提拉每个部位相应的线,就能达到所需的效果。

设计好基本动作之后,我们就可以编程了。Mixly的执行器中有舵机控制的节点,利用该节点,我们可以方便地控制舵机转动特定的角度(如图7)。

舵机是执行器,因此要连接在数字引脚中,而且舵机的转动角度是一定范围内可选择的,因此可把舵机接在PWM脚处,这里以3,4,6,7引脚为例。

经过调试得知,当3号引脚舵机的角度是150度时,舵机能够贴近盒子,因此,把150度作为左脚放下的状态。调整3号引脚的角度,当调节到50度的时候,木偶的右脚能够被提起到合适的高度(舵机的安装状态不同,初始位置的角度和拉扯线的角度都会有差别,因此角度需要根据自己的情况而定)。右手、右脚、左手的角度调试和左脚相同。为了方便之后的动作调用,我们可以利用Mixly的函数功能模块,把四肢的基础运动都封装成函数。因为四肢运动有快有慢,有不同的运动频率,所以可使用带有参数传递的函数节点(如图8)。

四肢运动的参考代码分别如图9、图10、图11、图12所示。

除了最简单的动四肢外,我们还可以放飞想象,制作一些复合的动作,如双手一起舞动,双脚一起跳跃,四肢一起舞动,等等。

拓展提升

制作完基本动作之后,我们就可以给木偶安排表演的曲目了。选择一曲节奏感强的歌曲,并想象在这样的歌曲中,你会如何舞动,然后把你的动作附给木偶,让木偶和你一起舞动,这绝对是件惬意的事情!

小结

舵机是一个十分实用的零件,与马达相比,它能够方便地控制转动的角度,如果再配合转盘和摇臂,就能够对角度和距离等量进行准确的控制,本次实验用到的就是舵机对距离的控制。这样的使用方式还能迁移到其他设计中,如把软的线换成铁丝,把木偶变成一个机器人的脸,利用以上原理就能够让机器人的五官动起来,做出不同的表情;把木偶换成皮影,把线变成铁丝或木棍,皮影戏是不是也就能够完成了?

同样的原理,应用在不同的场景中就能有不同的效果。创客就是这么神奇,大家都开始动手试试吧!

上一篇:连续硬膜外分娩镇痛对初产妇产后压力性尿失禁... 下一篇:“互联网+”时代背景下的诊断学教学模式改革研...