方案介绍
特雷门琴
特雷门琴是一种电子乐器,由演奏者(表演者)在没有身体接触的情况下控制。它于 1928 年由 Leon Theremin 获得专利,其控制部分通常由两个金属天线组成,这些金属天线可以感应演奏者手的相对位置,并用一只手控制振荡器的频率和幅度(音量)。在下面的项目中,我们尝试使用两个能够检测距离的超声波传感器来模拟该仪器的功能,并据此告诉 Arduino 通过扬声器以不同的频率和幅度发出声音。
频率:
我们使用带有四个引脚的超声波传感器。两个用于电压输入和接地。另一种称为触发器用于通过程序上的数字写入发送超声波脉冲。最后一个引脚称为回波,它在反弹时接收到超声波脉冲。读取脉冲返回电路板所需的时间并将其存储在一个变量中,然后我们将其转换为距离单位 (cm)。最后,我们使用 TonePlayer 库将每个距离转换为不同的频率。我们使用等律系统来计算精确的音符,因此对于每个不同的距离值,我们都有不同的音符。
振幅:
为了控制振幅,我们使用另一个超声波传感器,但这次我们决定使用 NewPing 库和 sonar.ping_cm() 函数发送 ping,返回以厘米为单位的距离,如果在设置的距离限制内没有 ping 回波,则返回 0(零) . 此信息存储在可变距离中。然后我们制作了两个特殊的函数,称为 incremento 和 decremento。此功能告诉数字电位器是否应该根据距离信息增加或减少其电阻值。如果距离增加,阻力也会增加,如果距离减小,阻力也会减小。
输出:
一个普通的扬声器直接连接到数字电位器的输出引脚。不同的电阻值将被视为体积变化。可选地,我们可以为扬声器使用放大器,但实际上没有必要。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !