No Image

Электронные барабаны на ардуино

СОДЕРЖАНИЕ
0 просмотров
10 марта 2020

Статья покажет, как сделать набор мини- барабанов с помощью Pringles банок. Подключение идет в Arduino через пьезоэлектрические датчики, которые будут вызывать команды MIDI-устройства или компьютерного барабанного синтезатора. Мембраны из крышек чувствительны к скорости, поэтому легко играть даже просто стуча пальцами.

В первую очередь, 4 банки размерами с Pringles банки. Другими компонентами являются:

  • Arduino Micro, SparkFun Pro Micro или совместимый (5V, 16МГц вариант)
  • 4 х пьезоэлектрические элемента (смотри ниже)
  • 1 х PNP транзистор слабого сигнала (BC558, 2N3906 или аналогичный)
  • 5-контактный DIN разъем
  • 5 х 10К резисторы
  • 2 х 220 Ом резисторы
  • 470 Ом резистор
  • регулятор напряжения 78L05
  • 1 х 22uF и 1 х 1uF электролитический конденсатор (10V или больше номинальное напряжение)
  • 100nF конденсатор
  • Красный светодиод
  • 1N4001 диод (или аналогичный)
  • 9В (PP3) батарея
  • Макетная плата (7 х 4.5cm приблизительно)
  • Двусторонняя клейкая лента
  • проволока, припой и т.д.

О пьезоэлектрических преобразователях

То, что вы ищете просто пьезоэлектрический элемент – не в пластиковом корпусе. Я использовал пару – LS03807 из КПК и YU85G, с хорошими результатами. Последний больше в диаметре, который сделает игру двумя пальцами проще.

Обезжирьте и промойте внутреннюю часть крышки. Прикрепите пьезо к центру крышки с помощью двустороннего скотча (чем тоньше, тем лучше) по всему диаметру. Дрелью проделайте небольшое (5 мм) отверстие в корпусе банки (чем ниже тем лучше), чтобы выводить провода через него наружу, а затем прикрепите крышку к банке.

Сборка печатной платы

Схема достаточно проста, чтобы собрать на макете, но я сделал паяную версию для надежности. Полная схема прилагается как файл миди-trigger.pdf. Рисунки и эскизы схемы показывают 24-контактный разъем Micro Pro (см https://www.sparkfun.com/products/12640). Обратите внимание, что плата Arduino / Adafruit "Микро" имеет другую раскладку, хотя имена сигналов одинаковы.

Midi-trigger.pdf

MIDI выход схемы

В схеме используется транзистор, подключенный к TXD (последовательный вывод) из Arduino для управления выходной MIDI. Убедитесь, что правильно соединены электроды С, В и Е на транзисторе BC558. Я обнаружил, что есть много противоречивой информации в Интернете о том, как MIDI подключается к 5-контактному гнезду DIN, поэтому смотрите на фото разводку: красный провод соединения ‘+’ (к R2 в цепи) и черный это ‘-‘ (в R3).

Читайте также:  Motorola droid turbo xt1254 характеристики

Pad входы схемы

Каждая площадка подключается напрямую к одному из аналоговых входов ARDUINO к (А0-А3), через 10K резистор, соединенный с землей.

Вы можете питать Arduino подключением к USB, или блоку питания. Я добавил простой регулятор напряжения, чтобы запустить его от батареи 9В (PP3). Потребление тока составляет около 50 мА. В схеме есть съемная перемычка (JP1), так что схема регулятора может быть отключена, когда Arduino получает питание от USB во время программирования. В схеме D1 предотвращает блокируеть батарею, если она подключена не той полярностью. На схеме есть светодиодный индикатор состояния, он подключен к контакту D2 на Arduino.

Программирование и тестирование

Если вы включили индикатор состояния, прикрепленный файл blink.ino будет переключать его и выключать каждую секунду. Если это работает , то вы можете скачать drumtrigger.ino, который является полной программой запуска барабана в одном файле.

Blink.ino

drumtrigger.ino

Вы можете подключить его прямо к M >General MIDI Level 1) . В первой картине я использую GarageBand от Apple на IPad с помощью интерфейса Yamaha-MX1 M >ЗДЕСЬ .

Для меня музыка является самым мощным триггером ностальгии, дарит возможность путешествовать во времени и переживать связанные с ней периоды жизни, снова и снова.

Знакомство с музыкой Akira Yamaoka я начал еще в начальной школе. Мой приятель тоже был фанатом серии игр Silent Hill, поэтому мы были на одной волне. Прошло много лет, универ подарил мне лучшего друга, и волею судьбы наши музыкальные вкусы оказались в одном диапазоне. Школьный приятель на тот момент подружился с бас гитарой. ЕОТ, которая меня ненавидела, согласилась петь. Друг начал осваивать барабаны, а я умел играть на гитаре несколько песен по табам. Так появилась на свет наша кавер-группа.

Однажды, возвращаясь с другом с очередной репетиции, нам пришла в идея собрать свою электронную ударную установку, дабы была возможность играть из дома. Ставить акустику было некуда, а электронная тогда нам была не по карману.

Мы придумывали множество концепций, но все они остались на этапе раздумий и споров.

В какой-то момент все закончилось. Больше мы не играли вместе.

Но это было чертовски классно.

Читайте также:  Asms windows xp при установке с флешки

Я проснулся с четким пониманием, как сделать рабочий вариант. Хотелось минимализма и возможности в любой момент разобрать все на части и перенести в другое место.

Решил не гнаться за количеством пэдов, так как все равно планировал в основном побаловаться, в лучшем случае поиграть с друзьями как в старые добрые.

Сразу забегу вперед и скажу, что ударная установка очень впечатлила, учитывая как мало ресурсов было вложено в ее создание.

Показал концепт другу – ему сразу понравилось. Загоревшись идеей, на следующий день мы встретились и поехали по магазинам.

В качестве материала для каркаса был выбран полипропилен. Нужно было купить трубок 3 метра на 32 мм, 4 T-адаптера, 2 заглушки, пачку болтов, 6 уголков, вооружиться дрелью и каркас был готов к сборке.

воскресенье, 6 августа 2017 г.

Arduino M >

Попалось мне как-то в интернете видео про барабаны из пьезоизлучателей и Ардуино. Идея мне очень понравилась и я решил собрать что-то подобное для сынишки. Поэтому начал изучать информацию по данной теме.

Пьезоэлектрический излучатель состоит из металлической пластины, на которую нанесён слой пьезоэлектрика, имеющий на внешней стороне токопроводящее напыление. Пластина и напыление являются двумя контактами. Пьезоизлучатель способен как генерировать звуковой сигнал из электрической энергии, так и конвертировать приходящие механические колебания в электрические. Именно на этом эффекте и основан принцип работы MIDI-барабанов, описанных в данной статье.

С подключением к Ардуино все просто, кроме собственно пьезоизлучателя нужен резистор на 1МОм. Ниже приведена схема подключения одного барабана.

Теперь когда мы можем отследить момент удара по барабану необходимо воспроизвести соответствующий звук. Эту задачу можно возложить на компьютер. Для этого будем передавать ему сообщения в M >– Сообщения канала, она мне здорово помогла. Для остальных же скажу, что на Ардуино необходимо реализовать передачу MIDI-сообщений NOTE ON и NOTE OFF через Serial. Данные сообщения состоят из 3 байт:

Компьютер, а точнее установленная на нем музыкальная программа, при получении с MIDI-входа сообщения NOTE ON воспроизводит ноту с заданной частотой и громкостью (частота ноты определяется ее номером). Соответственно, NOTE OFF используется для снятия ноты. Здесь есть момент, имеющий отношение к нашим MIDI-барабанам: большинство звуков ударных имеют фиксированное время звучания, и управлять их длительностью с помощью команды NOTE OFF мы не можем. Тем не менее данная команда должна рано или поздно поступить, как того требует спецификация. Также отмечу, что для перкуссии в стандарте MIDI зарезервирован отдельный 10-й канал, поэтому Ардуино будет передавать в сообщениях номер канала 9 (нумерация с 0).

Читайте также:  Вспышка для nikon d3200

Как было сказано ранее, для воспроизведения звука требуется установка соответствующей программы. И такой подход применялся во всех публикациях на данную тему которые мне попадались. При этом входящие с Ардуино сообщения должны перенаправляться на MIDI-вход, например, при помощи программы Hairless MIDI Serial. Я не музыкант, ничего подобного у меня на компьютере не установлено. И захламлять систему ненужным ПО не хотелось бы. Я поступил иначе: написал свою программу, которая читает сообщения из указанного COM порта и воспроизводит соответствующие звуки. Мне для написания ПО ближе всего Delphi, но т.к. это платный продукт, то для размещения здесь готовой программы и исходников к ней я воспользовался бесплатной средой Lazarus. В своей программе можно было бы отойти от формата сообщений MIDI, я рассматривал вариант с передачей номера барабана вместо конкретной ноты. И уже в программе можно сопоставить каждому барабану свой инструмент. Но в итоге я оставил эту затею, по крайней мере для публикации. Пусть лучше это будет MIDI-совместимое решение.

Вот и видео работы моих барабанов. Ниже есть ссылка для скачивания скетча и исходников программы для компьютера. Есть еще один момент, о котором стоит упомянуть: громкость барабанов. Чем сильнее удар, тем громче должен быть звук. Силу удара можно определить, сделав несколько считываний с пьезоизлучателя, по ним вычисляетсясреднее значение и уже на его основе можно рассчитать значение громкости. Но я хочу напомнить, что барабаны создавались как игрушка ребенку, поэтому я не стал так заморачиваться и при каждом ударе в MIDI-сообщении передается максимальная громкость – 127. Возможно, позже вернусь к данной теме и попробую доработать этот момент.

Скетч для Ардуино и программа для компьютера
Исходники для Lazarus (в архиве также есть необходимый компонент для работы с COM портом)

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector