Theremin 由在两个传感器(天线、距离传感器等)前通过挥手操作的声音(乐器)仪器组成,其中一个确定频率,而另一个确定所产生声音的音量。这通常需要笨重的设备,并且需要大量的训练才能获得正确的手位置以获得所需的声音。(过一段时间手也累了!)
在这里,我们展示了如何构建一个简单、便携的 Theremin,它通过触摸屏幕来工作,屏幕的一个轴决定音高,而另一个轴决定音符的持续时间。屏幕还显示音符播放时的频率和持续时间。频率间隔可以由用户定义(这里我们从 C3 到 C7),以及音符持续时间(我们在这里从 100 到 1000 毫秒)。
我们使用 Banggood 的 240x320 2.4" TFT-LCD 触摸屏,ID=0x9340,并使用 MCUFRIEND_kbv 库来驱动它。它安装在 Arduino UNO R3 上。扬声器连接在 Arduino 的数字引脚 10 和地之间;它必须是启用 PWM 的引脚,并且由于tone() 函数与引脚 3 和 9 上的 PWM 信号冲突(因为它们使用相同的定时器),我们选择了引脚 10,除非 SD卡存在并正在使用。
屏幕尺寸映射到最小和最大音符持续时间,以及最小和最大频率,因此当在点 p 触摸屏幕时,它的坐标 (x, y) 被tone() 函数注册和使用发送到扬声器,并显示在屏幕上作为用户的反馈。
为了避免虚假信号进入扬声器,我们在 p 的 z 坐标(用于屏幕压力)上设置了一个下限,以使触摸有效。
音质不是很好,但可以使用 MIDI 对其进行改进并切换到不同乐器的音色。
如果需要更永久的电路,则在屏蔽层和 Arduino 板之间有空间可以在屏蔽层下方粘上一个小扬声器。整个特雷门都放在衬衫口袋里。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !