我儿子是个音乐家,他多次提到他想要一种叫特雷门琴的乐器。如果你以前没见过这个仪器,它是由一个天线组成的,那个热敏论者(是的,那是一个真实的词)会在周围挥动他们的手。这个装置会根据使用者的手离天线有多近来发出音乐声。它是如何工作的?根据维基百科:
本特雷门琴使用差产生音频信号的原理。该仪器的音高电路包括两个部分无线电频率振子设置为低于500千赫最大限度地减少无线电干扰。一个振荡器在一个固定频率工作。另一振荡器的频率几乎是相同的,并且由从所述俯仰控制天线的表演者的距离来控制。/表演者的手充当接地板(表演者的身体是与地面连接的)可变电容器在L-C(电感-电容)电路中,它是振荡器的一部分并决定其频率。
theremin是什么声音?传统上,它会发出典型的科幻摇摆音,比如“看”(或者“听”)这一天地球停转1951 - 特雷门工作室会议。
我最近无意中发现了一款theremin型乐器的设计(换句话说,就是一种通过挥手来控制的音乐设备),它更适合我的生活,因为它不是基于对无线电频率信号的修改,而是使用了一个树莓派(Raspberry Pi)和一个超声波测距仪。该设备详细介绍在树莓派学习资源页面超声特雷门。
我只是碰巧手头有所有需要的组件,大约15分钟就把整个项目准备好并开始运行。HC-SR04超声波距离传感器是便宜的在亚马逊(我买了5约10美元),你唯一需要的是其他事情覆盆子πRaspbian运行,两个电阻(330Ω,470Ω),和几件线。面包板很方便,但你也可以很容易地把它们粘在一起。
马克·吉布斯
的HC-SR04超声波距离传感器
所述的传感器,其具有的超声波脉冲发生器和彼此相邻的麦克风,具有四个引脚;
- VCC的功率将来自引脚2,两个5V引脚中的第一个树莓派的40针通用输入输出(GPIO)头
- 三角,当GPIO 4 (pin 7)激活时,触发传感器发出超声波
- 回波,它提供的电压正比于超声波脉冲从传感器到一个物体的时间,然后返回。这个值是在GPIO 17 (pin 11)上测量的。
- GND,当然,是地面,我们将使用引脚39,尽管任何其他GND GPIO引脚都可以使用。
这里的电路:
马克·吉布斯
如何连接HC-SR04传感器到树莓Pi GPIO头
很简单,不是吗?现在,我们已经建立了硬件,我们需要一些软件来访问它,所以我们需要GPIO零库安装。这是一个Python库,使得使用Raspberry Pi输入/输出硬件更加容易(raspberry.org有个很好的图书馆介绍)。如果你正在运行Raspbian Jessie,那么这个库是预先安装的;如果您不是,我们将其作为练习留给用户升级。
要查看超声波距离传感器的工作原理,运行下面的Python代码:
从gpiozero导入距离传感器从时间导入睡眠传感器=距离传感器(echo=17, trigger=4)而True:打印(sensor.distance)睡眠(1)
gpiozero是一个非常有用的库;如您所见,它内置了对超声波距离传感器的支持,因此我们只需指定要使用哪些GPIO头管脚,然后,每当我们调用时sensor.distance,我们会得到当前的传感器读数。
你会看到一个由传感器范围从1为没有返回(即无限大的距离)下产生的接近为0很短的距离的值。I haven’t got around to calibrating a sensor yet but the specifications state a ranging distance of 2 cm to 500 cm (under 1 inch to just over 16 feet) with a resolution of 0.3 cm (which is, of course a theoretical limit given that most things that the signal will reflect from won’t be perfectly smooth and normal to the sensor’s axis). For our purposes, i.e. making a musical instrument, we’re good with the inexactitude.
下一部分:将传感器的距离测量转换成音符。