Оглавление:

Музыкальный цифровой интерфейс: 6 шагов (с изображениями)
Музыкальный цифровой интерфейс: 6 шагов (с изображениями)

Видео: Музыкальный цифровой интерфейс: 6 шагов (с изображениями)

Видео: Музыкальный цифровой интерфейс: 6 шагов (с изображениями)
Видео: Свидание в 16 vs 26 лет 😨😳 2024, Июль
Anonim
Музыкальный цифровой интерфейс
Музыкальный цифровой интерфейс

Приветствую всех, Я хотел бы показать вам мой собственный музыкальный цифровой интерфейс. Я сделал это во время учебы в области технического звука, это мои исследовательские работы. Для начала я спросил меня, как я могу сочинять музыку без DAW, с переработанными расходными материалами и возможностью играть в автономном режиме.

В этом руководстве я научу вас, как использовать последовательную связь для отправки / получения информации от датчиков (аналоговых и цифровых) от Arduino до Raspberry pi к программным чистым данным для запуска звука.

Требуются следующие материалы:

x1 Малина PI3

x1 Ботинок защиты PI3

x1 Micro SD (32 ГБ)

x1 Arduino UNO

x1 ИК-датчик Sharp GP2Y0E02B

x1 Breadbord

x1 пластинчатый калибр (0,2)

x28 Сопротивление 10 МОм

x2 Сопротивление 1,8 кОм

x1 Сопротивление 10 кОм

x20 клеммные наконечники, папа / мама

x1 Держатель припоя

x1 рулон олова (1 метр)

x1 Паяльник

x25 Гибкие ремни Мужской / Мужской

Шаг 1: датчики

Датчики
Датчики
Датчики
Датчики
Датчики
Датчики

Я использовал 4 пьезоэлектрических элемента, идущих от пульта Harmonix XBOX 360 "Guitar Hero". Я использовал кнопку включения / выключения, потому что герконовый переключатель магнитной педали гитарного пульта "Guitar Hero" отсутствовал.

Я использовал ИК-датчик Sharp GP2Y0E02B. Для всех этих датчиков я сделал подтягивающую сборку для эффективной работы…

Таким образом, эмпирическим путем я нашел значение сопротивления датчика кнопки и ИК-датчика. Однако я протестировал пьезоэлектрик, чтобы узнать полную шкалу этого, а также фиксированное значение сопротивления, необходимое и применимое для 4 аналоговых датчиков.

Шаг 2: Монтаж с подтягиванием

Подтягивающийся монтаж
Подтягивающийся монтаж
Подтягивающийся монтаж
Подтягивающийся монтаж
Подтягивающийся монтаж
Подтягивающийся монтаж
Подтягивающийся монтаж
Подтягивающийся монтаж

После тестирования пьезоэлектрика с генератором напряжения я зафиксировал значение сопротивления на уровне 7 МОм.

Повышение сопротивления узла кнопки составило 10 кОм.

Для ИК-датчика я использовал два сопротивления 1, 8 кОм между соответственно напряжением питания и SDA (данные) и SCL (часы).

Будьте осторожны, потому что эти значения сопротивления предназначены для RTX Arduino UNO; кое-что, что нужно знать о входе импеданса Arduino: 10 МОм.

Вы можете увидеть подтягивающий монтаж на последней картинке этого шага; Я закрепил пьезоэлектрические перемычки на 0 1 2 3 контактах на UNO, ремешок кнопок на 2 цифровых контактах, но передаю значение на 6 контактах на UNO и ремешке ИК-датчика на 4 5 контактов на UNO, всех аналоговых входах Arduino Uno.

Шаг 3: код Arduino

Чтобы убедиться, что операция была эффективной, я протестировал отправку / получение информации датчиков в Arduino.

Я поместил файлы в описание, но вы можете найти их в разделе примеров программирования Arduino Genuino, за исключением ИК-датчика, потому что он не завершен, я изменил несколько информации в разделе «определение», например «сдвиг», и я изменил расчет измерений на регулярный в вариациях расстояния. Вы, наверное, видели «Wire» в коде ИК-датчика. Действительно, я использовал протокол I2C для общения. Я приглашаю вас посмотреть протокол I2C, очень интересно, вы можете использовать его для передачи в реальном времени всех цифровых датчиков, которые вы хотите.

Шаг 4: Последовательная связь обоих Arduino Raspberry

Обе последовательной связи Arduino Raspberry
Обе последовательной связи Arduino Raspberry
Обе последовательной связи Arduino Raspberry
Обе последовательной связи Arduino Raspberry

Ага: D

Как вы можете видеть на первом рисунке, ссылка Arduino-Raspberry - это USB-штекер.

Я нашел способ получать информацию с датчиков напрямую через PureData Extented, установленный в Raspberry PI. Почему PureData Extended? Поскольку версия Vanilla не использует ту же библиотеку, что и приложение в среде Raspbian.

Так что запустите StandardFirmata в Arduino Genuino, чтобы правильно исправить изменения ввода-вывода и значения!

Для получения информации о значениях в Raspberry PI существует 2 протокола: Firmata и Msg.

Я выбрал Firmata по одной причине: было проще получать информацию в PureData через патч Pduino, одно окружение.

Я приглашаю вас открыть для себя Msg, если вы используете протокол OSC.

Шаг 5: получен патч PureData

Получен патч PureData
Получен патч PureData

Действительно, после нескольких недель кодирования на Genuino мне удалось получить всю информацию о моем датчике на одной странице, что позволило видеть изменения в реальном времени благодаря Pduino, патчу в Puredata, дополнительному разделу библиотек.

С этого шага мы больше не касаемся кода Arduino. Информация о стоимости читается.

Как я заметил на шаге 3, я получил информацию от цифровой кнопки в 6-контактном аналоговом, было просто увидеть эффективную работу связи. Все в одной строке.

Шаг 6: Разработка PureData

Разработка PureData
Разработка PureData
Разработка PureData
Разработка PureData
Разработка PureData
Разработка PureData
Разработка PureData
Разработка PureData

PureData - это особый язык, и вы должны тратить свое свободное время, чтобы преуспеть в создании хороших пэчворков.

Некоторые патчи PureData будут доступны на GitHub.

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

Рекомендуемые: