Съдържание:

Музикален цифров интерфейс: 6 стъпки (със снимки)
Музикален цифров интерфейс: 6 стъпки (със снимки)

Видео: Музикален цифров интерфейс: 6 стъпки (със снимки)

Видео: Музикален цифров интерфейс: 6 стъпки (със снимки)
Видео: 5 Яки Трика за iPhone, които НЕ ЗНАЕТЕ! 2024, Ноември
Anonim
Музикален цифров интерфейс
Музикален цифров интерфейс

Добре дошли на всички, Бих искал да ви покажа моя собствен музикален цифров интерфейс. Направих го по време на техническата си степен, това са моите научни статии. За начало ме попита как мога да композирам музика без DAW, с рециклирани консумативи и възможност за възпроизвеждане самостоятелно.

В тази инструкция ще ви науча как да използвате серийна комуникация за изпращане/получаване на сензори (аналогови и цифрови) информация от Arduino до Raspberry pi към софтуерни puredata за задействане на звук.

Необходимите материали са:

x1 Малина PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 сензор IR Sharp GP2Y0E02B

x1 Breadbord

x1 Измервателен уред за плочи (0,2)

x28 Съпротивление 10MΩ

x2 Съпротивление 1.8kΩ

x1 Съпротивление 10kΩ

x20 Терминални уши мъжки/женски

x1 Носач за запояване

x1 намотка от калай (1 метър)

x1 Поялник

x25 Гъвкави презрамки мъжки/мъжки

Стъпка 1: Сензори

Сензори
Сензори
Сензори
Сензори
Сензори
Сензори

Използвах 4 пиезоелектрика, идващи от дистанционното "Guitar Hero" Harmonix XBOX 360. Използвах бутон за включване/изключване, тъй като магнитен превключвател на тръстиката на дистанционното управление на педала за конфитюр беше изключен.

Използвах инфрачервен сензор Sharp GP2Y0E02B. За всички тези сензори направих издърпване за ефективна работа …

Така че емпирично открих стойността на съпротивлението към сензора на бутона и IR сензора. Въпреки това тествах пиезоелектрик, за да знам пълния мащаб на този, и фиксирах стойността на съпротивлението, необходима и кандидатствах за 4 -те аналогови сензора.

Стъпка 2: Издърпващ се монтаж

Издърпващ се монтаж
Издърпващ се монтаж
Издърпващ се монтаж
Издърпващ се монтаж
Издърпващ се монтаж
Издърпващ се монтаж
Издърпващ се монтаж
Издърпващ се монтаж

След тестване на пиезоелектрик с генератор на напрежение, фиксирах стойността на съпротивлението при 7MΩ.

Издърпването на съпротивлението на бутоните беше 10 kΩ.

За IR сензор използвах две съпротивления 1,8 kΩ между съответно захранващото напрежение и SDA (данни) и SCL (часовник).

Внимавайте, защото стойностите на съпротивлението са за RTX Arduino UNO; нещо, което трябва да знаете за входа на импеданса на Arduino: 10MΩ.

Можете да видите издърпващия монтаж на последната снимка на тази стъпка; Закрепих пиезоелектрически ремъци в 0 1 2 3 пина на UNO, лента с бутони в 2 цифрови щифта, но съобщавам стойността на 6 пина на UNO и лента на сензора за IR сензори в 4 5 пина на UNO, всички аналогови входове на Arduino Uno.

Стъпка 3: Код Arduino

За да се уверя, че операцията е ефективна, тествах информация за изпращане/получаване на сензори към Arduino.

Поставих файловете в описанието, но можете да ги намерите в раздела за примери на програмирането на Arduino Genuino, с изключение на IR сензора, тъй като не е пълен, промених малко информация в раздела „дефинирам“като „смяна“и промених изчислението на измерването, за да бъде редовно в вариации на разстояние. Вероятно сте виждали „Wire“в кода на IR сензора. Наистина използвах протокол I2C за комуникация. Каня ви да видите протокола I2C, много интересно, можете да използвате този за предаване в реално време на всички цифрови сензори, които искате.

Стъпка 4: И двете Arduino малинова серийна комуникация

И двете Arduino малинова серийна комуникация
И двете Arduino малинова серийна комуникация
И двете Arduino малинова серийна комуникация
И двете Arduino малинова серийна комуникация

Да: 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.

Надявам се, че това, което написах тук, ви помогна да започнете свой собствен проект, близък до моя.

Препоръчано: