Я пытаюсь сделать чувствительную к скорости клавиатуру для воспроизведения музыки.
Я должен измерить положение каждой клавиши, чтобы понять, насколько громким должен быть звук.
Громкость звука зависит от скорости нажатия клавиш в конце спуска. Я знаю, что положение может быть восстановлено от скорости, интегрируя это.
Какой самый дешевый и простой, но все же достаточно точный способ сделать это?
Я не знаю точно, что означает «достаточно точное» в контексте. Я должен проверить это.
Длина максимального смещения составляет около 2 см.
РЕДАКТИРОВАТЬ: не так, как некоторые ответы, кажется, предполагает, что громкость НЕ является функцией средней скорости клавиши.
РЕДАКТИРОВАТЬ 2: Громкость является функцией скорости молотка в момент, когда он ударяет по струне, но ключ не толкает молоток до конца своего пути. Это действительно похоже на бросание мяча в стену: мяч покидает руку в одно мгновение, прежде чем ударить по стене.
Ответы:
Как насчет емкостного зондирования? Приклейте алюминиевую фольгу к нижней части клавиши, заземлите нижнюю часть клавиатуры и измерьте время нарастания через резистор 100 кОм.
Этот метод может быть сделан почти произвольно точным, если ваш процессор достаточно быстр, чтобы различить изменение емкости.
Я не очень хорошо объяснил схему. Вы подключаете цифровой выход к ключу через резистор высокого значения, устанавливаете его низким, чтобы разрядить любой случайный заряд, а затем устанавливаете его высоким. Вы также подключаете цифровой вход непосредственно к клавише. Емкость будет медленно заряжаться через резистор, и вы определите время, необходимое для включения цифрового входа. Это время равно постоянной времени RC цепи.
источник
analogRead
в Arduino. [1]: pjrc.com/teensy/teensyLC.htmlБольшинство клавиатур просто используют два контакта на клавишу, настроенные таким образом, чтобы они закрывались (или открывались) в разных положениях хода клавиши. Они оценивают скорость по времени, которое проходит между двумя событиями. Даже причудливые утяжеленные «пианистические» клавиатуры используют этот базовый метод восприятия.
Попытка измерить положение и / или скорость напрямую звучит как массовый перебор.
источник
Обычно ключевая скорость рассчитывается путем измерения времени между нормально замкнутым размыканием переключателя вверх и выполнением нормально разомкнутого выключателя.
смоделировать эту схему - схема, созданная с использованием CircuitLab
Рис. 1. Клавиатурный контакт с разрывом перед замыканием обычно используется для измерения скорости.
В этом случае вам необходимо механически расположить нормально замкнутый контакт так, чтобы он сломался за последние несколько мм хода.
смоделировать эту схему
Рисунок 2. Механическое переключение.
Мне кажется, что лучше всего было бы изменить существующую педальную панель MIDI-баса в соответствии с вашими целями.
Комментарий ОП Дейву Твиду:
Вот почему я предложил активировать переключатель на последних нескольких миллиметрах хода.
источник
Вы должны взглянуть на аналоговые клавиатуры. Посмотрите на это видео . Это всего лишь пример концепции.
Изменить: Кроме того, если оптические переключатели не работают для вас, посмотрите на это:
Под каждой крышкой клавиатуры находится печатная катушка для печатной платы. Когда вы нажимаете кнопку, катушка измеряет изменение индуктивности, вызванное сжатием и декомпрессией пружины, поэтому вы можете получить довольно точное считывание положения переключателя.
Источник:
Реддит
Имгур
источник
Если важной переменной является воздействие «молотка», который вы пытаетесь эмулировать, рассмотрите пьезодатчики, которые позволяют вам измерять это напрямую. Они генерируют импульс, амплитуда которого зависит от ударного импульса.
источник
Одним из вариантов могут быть датчики Холла, которые измеряют силу магнитного поля. Существуют различные типы датчиков Холла для цифрового и аналогового зондирования, вам нужен аналог, который имеет аналоговые. Например, SI7211 стоит около 0,80 долларов США.
Вам также нужен маленький магнит под каждым ключом. Когда магнит приближается к датчику, магнитное поле увеличивается, что увеличивает выходное напряжение датчика.
источник
Вы можете рассматривать это как гибридный цифровой / аналоговый инструмент, поместив микрофоны [1] внутри клавиатуры, настроенные на звук нажатия клавиш. Сигналы от микрофонов дополняют традиционный ввод на основе переключателя, поэтому переключатель сообщает вам, какая клавиша нажата, а микрофоны - насколько громким было последнее нажатие.
2 или более микрофона по всей длине клавиатуры позволят декодировать аккорд с громкими / низкими нотами и мягкими / высокими нотами и наоборот.
[1]: я продолжаю говорить «микрофон», но я имею в виду «универсальное устройство восприятия вибрации».
источник
Вы можете исследовать переменные резисторы с пружинным возвратом, потенциометры с пружинным возвратом или линейные датчики положения. Вот один пример: http://ecatalog.beisensors.com/item/linear-position-sensors/linear-position-sensor-9600-series-compact-spri/9610r3-4kl2-0
Другой возможностью может быть использование небольшого поворотного энкодера (и механическое преобразование движения линейного нажатия клавиши во вращательное движение). Датчик вращает один или несколько наборов импульсов при вращении вала. Более высокая частота пульса будет указывать на более высокую скорость прессования. Положение датчика можно отслеживать напрямую, если группы импульсов отправляются на дополнительную цифровую логику. Вот пример часть: https://www.mouser.com/ProductDetail/Bourns/PEC16-4220F-S0024?qs=6FD5PBp7ZtQte%252Bg7b%2FiMUw%3D%3D&gclid=EAIaIQobChMIrKbIjOSa4QIVCEsNCh3JAAKuEAQYAyABEgKM_fD_BwE
источник
Если вам нужна сверхточность по разумной цене, как насчет использования линейного энкодера , прикрепления полосы с серым кодом (которую вы распечатываете с помощью лазерного принтера на прозрачном листе, затем режете и прикрепляете по одному на каждую клавишу) - подробнее подробности о том, как они работают под поворотными энкодерами, здесь . Таким образом, вам нужно две (возможно, 3, чтобы вы получили точное указание конечного положения) цифровых линий на клавишу. Это позволит вам измерять скорость с очень хорошей точностью и даже положением, если это уместно. Преимущество этого в том, что вы можете установить его на старую клавиатуру (даже на акустическую клавиатуру).
Предостережение: когда я был подростком (давным-давно), я долго думал, могу ли я сделать реалистичную клавиатуру дешевле, чем покупать ее. Тогда это казалось невероятным, а сейчас - еще менее вероятным. Поэтому экономически эффективным методом, вероятно, является «покупка чувствительной к скорости клавиатуры и ее разборка», что неинтересно.
источник