2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Этот проект представляет собой ультразвуковой терменвокс на базе Arduino.
Шаг 1:
Введение / Справочная информация:
Я давно думал о том, чтобы сделать терменвокс. Меня привлекла версия на базе Arduino, в которой я мог экспериментировать с различными библиотеками и звуками. Изначально я решил сослаться на один проект, который видел в сети.
Он был основан на библиотеке «Mozzi» в Arduino и требовал монофонического аудиоусилителя для звука. Он также использовал акселерометр, чтобы он создавал прерывистый звук с привидениями при наклоне, но поскольку мне не требовалась эта дополнительная функция, я соответствующим образом адаптировал код и схему. Тем не менее, усилитель продолжал доставлять мне проблемы с источниками питания, несмотря на то, что я пробовал использовать самые разные схемы. Поскольку мне даже не требовался «звук вибрато с привидениями», для которого в особенности использовал Mozzi, я решил двигаться дальше и вообще разработать новую вариацию.
Разработка проекта
Я наткнулся на библиотеку «ToneAC», которая была достаточно простой для программирования, и использовал библиотеку «New Ping» для моего ультразвукового сигнала. В то время как ToneAC работал отлично, новый Ping не работал с тем диапазоном звука, который я хотел, а также продолжал издавать постоянный звук, когда он выходил за пределы диапазона, чего я не хотел. Я также читал, что он был не очень совместим с библиотекой ToneAC; в любом случае, я решил переключиться на «ультразвуковую» библиотеку для определения расстояния и переписал весь код, так как он давал мне расстояние в сантиметрах, а NewPing - в микросекундах. Я повозился с формулой частоты, чтобы достичь желаемого оптимального диапазона (около 120 см) и высоты звука (играет около 1,5 октавы), а также изменил свою схему. В обеих библиотеках хорошо то, что контакты четко определены и нет двусмысленности в отношении контактов по умолчанию. Кроме того, динамик напрямую подключен к Arduino, поэтому, если вы используете USB-кабель, он не вызывает проблем с питанием и может воспроизводить чистый и громкий звук. Однако он плохо работает с аккумулятором, который не может обеспечить такой большой ток, поэтому после его подключения вы можете увидеть, как Arduino загорается, а затем тускнеет.
Шаг 2:
Дополнительные настройки и полировка
Для регулировки громкости я прикрепил потенциометр между динамиком и Arduino, чтобы игрок мог изменять его с помощью ручки. Поскольку это работало лучше всего с доской, я сделал доску для терменвокса с фиксаторами для пальцев сзади, чтобы правильно ее схватить. Наконец, я нашел красивый кожух для главной цепи, просверлил несколько отверстий для проводов динамика, датчика и USB-кабеля (чтобы я мог напрямую подключить Arduino), не вынимая его (я вставил несколько деревянных деталей, чтобы убедитесь, что Arduino остается на месте). Я поместил все эти компоненты - корпус коробки, динамик, USB-кабель и адаптер в компактную коробку, так что это было похоже на комплект - все, что вам нужно было сделать, это добавить USB-кабель, подключить адаптер к розетке и играть. !
Шаг 3:
Части:
Ультразвуковой датчик
Динамик - 16 Ом (можно использовать меньшее напряжение, но этот дает лучшую громкость)
Потенциометр - до 10к
Arduino Uno (с USB-кабелем)
Провода и кожух для установки всего
Шаг 4:
Код и схема
Код, используемый для схемы, можно найти по адресу: Код
Схема для этого проекта очень проста. Динамик подключается напрямую к Arduino, провод заземления идет к контакту 9, а положительный провод - к контакту 10 через потенциометр. Для ультразвукового датчика триггер переходит на 12, эхо на 13, а питание и земля переходят на 5 В и землю соответственно.
Шаг 5: Еще пара видео:
Шаг 6:
Удачи в строительстве!