计算机接口使19世纪管风琴自行弹奏
时间:09-23
来源:与非网
点击:
我的日常工作是担任赛灵思苏格兰公司IP部门的设计经理,但在业余时间,我是"dorkbot"这个非正式组织的一分子,该组织旨在推进工程科学界与艺术界之间的草根协作;活动口号是"用电做离奇的事情"。我属于爱丁堡地区的dorkbot(可以称作"dorkbot alba"或"dorkbot Edinburgh",主要取决于您对谁讲)。我们的成员创造了很多新奇的东西,包括像素映射LED礼帽、自动牙刷、幻觉魔术设备、电磁改锥和各种噪音发生盒。鲜有意外伤害事故发生。
dorkbot Edinburgh团队每隔一周于周二在森林咖啡屋聚会,这间咖啡屋位于爱丁堡大学附近,是由志愿者经营的非赢利性聚会场所。我参加了几周在这家咖啡屋举行的聚会,一天晚上,当我到楼上修理舞台照明设备时,惊奇地发现自己置身教堂之中,这里有布道台和唱诗班楼座,最重要的是,这里有一台16英尺高的管风琴(图1)。
事实上,咖啡屋所在的建筑曾经是爱丁堡公理教会的会场--因此有管风琴。但这里并不是这台管风琴最初的家。19世纪末,伦敦著名的管风琴制造商Gray和Davison首次将这台管风琴安装在爱尔兰的都柏林城堡,1900年,不知什么原因,这台管风琴被转移到爱丁堡。自此,这台管风琴经过数次维修,一直留在爱丁堡。
酒吧闲聊之后,我们并没有立即行动起来。在随后7个月的聚会中,我们不断地思考、探究、讨论,最后设计出了几种操纵管风琴键盘的方式。
我们将这个项目取名为"Project WaldflÖte",是因为管风琴上的一个音栓叫"WaldflÖte"。在德语中,它的意思是"森林长笛"。由于管风琴位于森林咖啡屋,因此听起来还有些诗情画意。
采用正确的机械部件
在开发的初始阶段我们就明确地将问题分为机械和电子两部分。如果我们能够找到解决机械问题的方案,就能相对独立地打造这两个部分。
制约我们的主要因素之一是资金--我们没有多少资金可用,全部资金仅为我们几个核心成员自己筹集的资金。我们走遍尾货市场,找到了一些价格合适的电磁铁。我们能够以1英磅左右(约合1.5美元)的单价得到100个这样的电磁铁,我们订购了6个在管风琴上进行试验。
我们发现电磁铁的尺寸非常理想,但电磁铁芯的运动距离比要始终如一地触动管风琴白键所需的运动距离略短。尽管我们可以直接利用电磁铁芯来驱动黑键,但我们仍然需要某种杠杆来驱动白键。
电磁铁组装的首个原型如图2所示,图3为电磁铁的工作原理图。对于白键而言,顶部的胶合板杠杆的后面用管道胶带作铰链连接,当电磁铁通电时,它会受到下拉的力量。当电磁铁断电时,管风琴键自身会提供向上力--因此无需另外使用弹簧。对于黑键而言,从电磁铁底部伸出的小销可以足够的力量直接按压琴键,弹奏音符。
组件测试表明的确可以成功地按压琴键。同时也表明,我无法做到将放置电磁铁的空间七等分,其间隔无法接近键盘八度音阶的实际间隔,因此,我们只能一次测试一个键。但我们证实了这个原理是可行的,因此,我们继续开发工作,订购了适用于整个键盘的部件,然后开始着手电子设计。
电子设计
在进行电子设计时,我们大家坐下来,粗略地设计出电子结构;图4为基本结构图。在图的左侧,MIDI消息由外部传入(我将在下文详细介绍MIDI协议)。图的右侧是一个位移寄存器链;控制器在驱动相应的"数据"值填充位移寄存器链时,负责切换"时钟"信号,然后通过"选通"信号将位移寄存器链的内容并行发送至电磁铁驱动器的输入端。
我们在位移寄存器/驱动器链上采用了74HC595位移寄存器IC。不过,电磁铁试验显示每个电磁铁大约需要15V电源提供350mA驱动电流--超出了CMOS输出级的提供范围。这了满足这个要求,我们在每个位移寄存器IC上增加了一个ULN2803A Darlington输出级。这个芯片还具备一个保护二极管,对切断电流时电磁铁生成的高反激电压进行分流,避免增加一个分立式二极管。我们在万用板上制作了几个驱动器电路板原型,每个可驱动16个电磁铁。
控制器设计
尽管我们可以采取多种方法设计控制器(包括利用Arduino平台或采用其他微控制器),但我们最终还是选择使用赛灵思Spartan-3E入门套件,因为我在赛灵思的日常工作中用过这种开发板,对相关工具了如指掌。特别是,我知道如何使用Platform Studio SDK和ChipScope™等调试工具,由于这有可能是一个现场调试项目,这样做可节省时间。我们使用赛灵思嵌入式开发套件,开发核心组件MicroBlaze™ 子系统(图5)。
除了MIDI接口和位移寄存器接口,我们还选择增加了串行RS-232控制端口,帮助我们调试系统。RS-232协议看起来有点老套,但在此类项目中,它的价值非凡。我们也增加了一些GPIO端口,用于驱动LED,读取开关和按钮,以便在无需使用控制端口的情况下,完成某些交互操作。
dorkbot Edinburgh团队每隔一周于周二在森林咖啡屋聚会,这间咖啡屋位于爱丁堡大学附近,是由志愿者经营的非赢利性聚会场所。我参加了几周在这家咖啡屋举行的聚会,一天晚上,当我到楼上修理舞台照明设备时,惊奇地发现自己置身教堂之中,这里有布道台和唱诗班楼座,最重要的是,这里有一台16英尺高的管风琴(图1)。
事实上,咖啡屋所在的建筑曾经是爱丁堡公理教会的会场--因此有管风琴。但这里并不是这台管风琴最初的家。19世纪末,伦敦著名的管风琴制造商Gray和Davison首次将这台管风琴安装在爱尔兰的都柏林城堡,1900年,不知什么原因,这台管风琴被转移到爱丁堡。自此,这台管风琴经过数次维修,一直留在爱丁堡。
酒吧闲聊之后,我们并没有立即行动起来。在随后7个月的聚会中,我们不断地思考、探究、讨论,最后设计出了几种操纵管风琴键盘的方式。
我们将这个项目取名为"Project WaldflÖte",是因为管风琴上的一个音栓叫"WaldflÖte"。在德语中,它的意思是"森林长笛"。由于管风琴位于森林咖啡屋,因此听起来还有些诗情画意。
采用正确的机械部件
在开发的初始阶段我们就明确地将问题分为机械和电子两部分。如果我们能够找到解决机械问题的方案,就能相对独立地打造这两个部分。
制约我们的主要因素之一是资金--我们没有多少资金可用,全部资金仅为我们几个核心成员自己筹集的资金。我们走遍尾货市场,找到了一些价格合适的电磁铁。我们能够以1英磅左右(约合1.5美元)的单价得到100个这样的电磁铁,我们订购了6个在管风琴上进行试验。
我们发现电磁铁的尺寸非常理想,但电磁铁芯的运动距离比要始终如一地触动管风琴白键所需的运动距离略短。尽管我们可以直接利用电磁铁芯来驱动黑键,但我们仍然需要某种杠杆来驱动白键。
电磁铁组装的首个原型如图2所示,图3为电磁铁的工作原理图。对于白键而言,顶部的胶合板杠杆的后面用管道胶带作铰链连接,当电磁铁通电时,它会受到下拉的力量。当电磁铁断电时,管风琴键自身会提供向上力--因此无需另外使用弹簧。对于黑键而言,从电磁铁底部伸出的小销可以足够的力量直接按压琴键,弹奏音符。
组件测试表明的确可以成功地按压琴键。同时也表明,我无法做到将放置电磁铁的空间七等分,其间隔无法接近键盘八度音阶的实际间隔,因此,我们只能一次测试一个键。但我们证实了这个原理是可行的,因此,我们继续开发工作,订购了适用于整个键盘的部件,然后开始着手电子设计。
电子设计
在进行电子设计时,我们大家坐下来,粗略地设计出电子结构;图4为基本结构图。在图的左侧,MIDI消息由外部传入(我将在下文详细介绍MIDI协议)。图的右侧是一个位移寄存器链;控制器在驱动相应的"数据"值填充位移寄存器链时,负责切换"时钟"信号,然后通过"选通"信号将位移寄存器链的内容并行发送至电磁铁驱动器的输入端。
我们在位移寄存器/驱动器链上采用了74HC595位移寄存器IC。不过,电磁铁试验显示每个电磁铁大约需要15V电源提供350mA驱动电流--超出了CMOS输出级的提供范围。这了满足这个要求,我们在每个位移寄存器IC上增加了一个ULN2803A Darlington输出级。这个芯片还具备一个保护二极管,对切断电流时电磁铁生成的高反激电压进行分流,避免增加一个分立式二极管。我们在万用板上制作了几个驱动器电路板原型,每个可驱动16个电磁铁。
控制器设计
尽管我们可以采取多种方法设计控制器(包括利用Arduino平台或采用其他微控制器),但我们最终还是选择使用赛灵思Spartan-3E入门套件,因为我在赛灵思的日常工作中用过这种开发板,对相关工具了如指掌。特别是,我知道如何使用Platform Studio SDK和ChipScope™等调试工具,由于这有可能是一个现场调试项目,这样做可节省时间。我们使用赛灵思嵌入式开发套件,开发核心组件MicroBlaze™ 子系统(图5)。
除了MIDI接口和位移寄存器接口,我们还选择增加了串行RS-232控制端口,帮助我们调试系统。RS-232协议看起来有点老套,但在此类项目中,它的价值非凡。我们也增加了一些GPIO端口,用于驱动LED,读取开关和按钮,以便在无需使用控制端口的情况下,完成某些交互操作。