键盘用什么线性传感器?

电器工程 传感器 键盘
2022-02-06 17:24:07

我正在尝试制作一个速度敏感的键盘来播放音乐。

我必须测量每个键的位置才能知道声音应该有多大。

声音的音量是下降结束时按键速度的函数。我知道可以通过积分从速度中恢复位置。

什么是最便宜、最简单但仍然相当精确的方法?

我不知道上下文中“相当精确”的确切含义。我得测试一下。

最大位移的长度约为2厘米。

编辑:不像某些答案似乎暗示的那样,响度不是键的平均速度的函数。

EDIT2:响度是击弦那一刻的锤子速度的函数,但关键是直到它的路径结束时才推动锤子。这真的就像在墙上扔一个球:球在撞到墙上之前的某一刻离开了手。

4个回答

大多数键盘只使用每个键的两个触点,配置为使它们在键行程的不同位置关闭(或打开)。他们根据两个事件之间经过的时间来估计速度。即使是花哨的加重“钢琴动作”键盘也使用这种基本的感应方法。

尝试直接测量位置和/或速度听起来像是大材小用。

我必须测量每个键的位置才能知道声音应该有多大。

通常键速度是通过测量常闭向上开关断开和常开向下开关闭合之间的时间来计算的。

示意图

模拟此电路- 使用CircuitLab创建的原理图

图 1. 先断后合键盘触点通常用于速度测量。

声音的音量不仅是下降结束时按键速度的函数。... 最大位移的长度约为 2 厘米。

在这种情况下,您需要机械地安排常闭触点,使其在最后几毫米的行程中断开。

示意图

模拟这个电路

图 2. 机械开关装置。

在我看来,您最好的选择是修改现有的 MIDI 贝司踏板以适应您的目的。


OP 对 Dave Tweed 的评论:

我认为这种方法是不够的。原因如下:如果我把琴键慢慢推到一半,然后快速推到底,在真钢琴上声音会很大,这种方法会认为琴键被推得很慢,因此输出一个真的很安静的声音。此外,如果我想重复一个音符,我必须让琴键完全回到原来的位置,这根本不是我在真正的钢琴上会做的。

这就是为什么我建议在最后几毫米的行程中激活转换开关。

你应该看看模拟键盘。看看这个视频这只是概念的一个例子。

编辑:另外,如果光开关不适合你,看看这个:

在此处输入图像描述

每个键帽下方都有一个PCB印刷线圈。当您按下按钮线圈时,测量由按键弹簧压缩和减压引起的电感变化,因此,您可以获得开关位置的非常准确的读数。

资料来源:
Reddit
Imgur

电容感应怎么样?将一些铝箔贴在按键底部,将键盘底部接地,并通过 100k 电阻测量上升时间。

只要您的处理器足够快以区分电容的变化,这种方法几乎可以任意精确。

我没有很好地解释电路。您通过一个高阻值电阻将数字输出连接到按键,将其设置为低以释放任何杂散电荷,然后将其设置为高。您还可以将数字输入直接连接到按键。电容将通过电阻缓慢充电,您可以计算数字输入打开之前需要多长时间。该时间等于电路的 RC 时间常数。