虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

您现在的位置是:首页 > 技术阅读 >  魔法乐器:空中特雷门琴

魔法乐器:空中特雷门琴

时间:2024-02-04

有了高精度测距仪,你可以使用红外线制作乐器。 

几个月前,我改装了一台老式卡西欧电子合成器,让它可以发出奇异的新声音。同时,我搭建了一个接口,可以插上Arduino Mega单片机来控制键盘。这是我计划的一部分,在电子系统协助下解决我一直以来不会演奏任何乐器的问题。

最初,我对Mega简单地进行编程,让其发出其中存储的旋律。去年3月份,我在汉诺威消费电子、信息及通信博览会(CeBIT)见过TeraRanger方面的一些人。这款传感器实际上是欧洲核子研究组织(CERN)核研究中心的一个副产品,其用精确、廉价的轻量级方法来确定地下无人机调查所需的距离范围。TeraRanger One测量反射红外脉冲的飞行时间;它的刷新率为1千赫,能够以5毫米的分辨率在室内确定远达14米的距离。

我意识到,以这样的测量范围和分辨率,我可以制作一个具备两种不同演奏方式的乐器。我将第一种模式称为“空中特雷门琴”,是一种可以单手演奏的乐器。我将第二种模式称为“空中大长琴”

将TeraRanger One的输出信号接到Mega很简单。可以通过配置传感器,将测量范围(以毫米计)编码为2字节。我把TeraRanger One的发送和接收线路连接到Mega奏出的两个数字管脚上,使用SoftwareSerial Library处理通信问题。

我的最大问题是不能毁掉Mega。我最近从一家美国销售本土品牌Arduino的零售店买了一批Mega。我之前使用过这些主板,感觉不错。但当我测试这个项目时,Mega罢工了。于是,我换掉了它,但后来电路板也怠工了。我认为作为外部电源的通用插头出了问题。

通常,通过USB连接器提供的5伏电压足够运行基于Arduino的项目,但TeraRanger One的电压需要10~20伏,其中以12伏电压为最佳。对于Mega,当其依靠外部电源运行时,输入电压的推荐范围为7~12伏,耐受电压为6~20伏。所以我在攒下的旧插头中翻找,终于找到了输出电压为12伏的插头,通过Mega的Vin引脚将外部电源供给TeraRanger One。但当我用第3台Mega检查Vin电压时,我发现同时负载Mega和TeraRanger时电压略微超过了14伏。我设置的负载不足,无法使插头的电压下降到额定值。

因此,我从攒下的旧插头中找到9伏的插头。TeraRanger One能够承受这一电压,Mega也运行良好。我能确定是偏高的电压(即使仍然在规定范围内)引起了电路板崩溃吗?不能,但现在我打算接受这个解释。

将测距传感器的结果映射到卡西欧的键盘上也很简单:我把手放在传感器上方,确实可以产生与离传感器距离相对应的音符。但发出的音听上去有点烦人。即使我会弹钢琴,在没有视觉参考点的情况下,让手掌离开TeraRanger的可感应范围,然后再将手置于正确的距离,制造出想要的音符,也是极具挑战性的。这在“空中大长琴”模式下将更加困难。

我意识到自己并不局限于卡西欧的传统音阶和半音排列,这便是解决办法。这个灵感来自Animoog iPad应用程序,其可以支持多种不同屏幕上的键盘和音阶排列,我将TeraRanger的结果投映到音阶C、D#、E、F、F#、G#、A、B上。结果显示,即便我在传感器的感知范围内将手从一个音符移动到另一个音符,声音仍然更加悦耳了。

单音符的旋律有时听起来仍然有点单薄,因此我编写了一个查找表,可以查找每个音符的主要和弦,并增加了一个开关,让Mega可以自动奏出这些和弦。我还增加了一个电位器来调整Mege决定音符的距离范围。然后我把TeraRanger安装在一个带铰链盖的木盒里,可以让我把朝上的传感器翻转到朝外,从“空中特雷门琴”切换到“空中大长琴”模式。

作者:Stephen Cass

长按二维码关注我们吧!