Мазмұны:

Музыкалық сандық интерфейс: 6 қадам (суреттермен)
Музыкалық сандық интерфейс: 6 қадам (суреттермен)

Бейне: Музыкалық сандық интерфейс: 6 қадам (суреттермен)

Бейне: Музыкалық сандық интерфейс: 6 қадам (суреттермен)
Бейне: Видеолекция Информатиканың негізгі түсініктері 2024, Қараша
Anonim
Музыкалық сандық интерфейс
Музыкалық сандық интерфейс

Барлығына қош келдіңіз, Мен сізге музыкалық сандық интерфейсті көрсеткім келеді. Мен оны техникалық дыбыс дәрежесінде жасадым, бұл менің зерттеу жұмыстарым. Бастау үшін мен DAW жоқ, қайта өңделген материалдармен және дербес ойнату мүмкіндігі бар музыканы қалай жазуға болатынын сұрадым.

Бұл нұсқаулықта мен сізге дыбысты іске қосу үшін бағдарламалық қамтамасыз ету бойынша Arduino -дан Raspberry pi -ге сенсорлық (аналогтық және цифрлық) ақпаратты жіберу/алу үшін сериялық байланысты қолдануды үйретемін.

Қажетті материалдар:

x1 Raspberry PI3

x1 Қорғаныс 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 -қадам: сенсорлар

Сенсорлар
Сенсорлар
Сенсорлар
Сенсорлар
Сенсорлар
Сенсорлар

Мен «Guitar Hero» Harmonix XBOX 360 қашықтан басқару пультінен келетін 4 пьезоэлектронды қолдандым. Мен джем педальды гитараның батыры пультінің қамысты магниті өшірілгендіктен қосу/өшіру түймесін қолдандым.

Мен Sharp GP2Y0E02B инфрақызыл сенсорын қолдандым, бұл сенсорлардың барлығында тиімді жұмыс жасау үшін жиналмалы жинақты жасадым.

Мен эмпирикалық түрде түйме сенсоры мен ИҚ сенсорына қарсылық мәнін таптым. Бірақ мен оның толық масштабын білу үшін пьезоэлектрді сынап көрдім және кернеудің тұрақтылық мәні 4 аналогты сенсорға қолданылды.

2-қадам: Монтажды тарту

Жойылатын монтаж
Жойылатын монтаж
Жойылатын монтаж
Жойылатын монтаж
Жойылатын монтаж
Жойылатын монтаж
Жойылатын монтаж
Жойылатын монтаж

Пьезоэлектрді кернеу генераторымен сынағаннан кейін мен қарсылықтың мәнін 7МОм деп бекіттім.

Түйменің кедергісінің жиналуы 10 кОм болды.

IR сенсоры үшін мен сәйкесінше кернеу мен SDA (деректер) мен SCL (сағат) арасындағы 1, 8kΩ екі қарсылықты қолдандым.

Сақ болыңыз, себебі бұл қарсылық мәндері RTX Arduino UNO үшін; Arduino импеданс кірісі туралы білу керек нәрсе: 10MΩ.

Бұл қадамның соңғы суретінен тартылатын монтажды көре аласыз; Мен пьезоэлектрлік белдіктерді БҰҰ -дағы 0 1 2 3 түйреуішке, 2 цифрлы түйреуіштегі түймеге тағамын, бірақ мәнді БҰҰ -дағы 6 істікшеге және ИН сенсорлық белдеуіне 4 5 түйреуіште, Arduino Uno аналогтық кірістерінің барлығына жеткіземін.

3 -қадам: Arduino коды

Операцияның тиімді болуын қамтамасыз ету үшін мен сенсорлар туралы ақпаратты Arduino -ға жіберуді/алуды тексердім.

Мен файлдарды сипаттамаға енгіземін, бірақ сіз оларды Arduino Genuino бағдарламасының мысалдар бөлімінде таба аласыз, тек инфрақызыл сенсордан басқа, ол толық емес, мен «анықтау» бөлімінде «ауысым» сияқты бірнеше ақпаратты өзгерттім, мен өлшеуді есептеуді тұрақты етіп өзгерттім. Мүмкін сіз IR сенсорының кодындағы «Сымды» көрген боларсыз. Мен I2C протоколымен сөйлесу үшін қолдандым, мен сені I2C протоколымен танысуға шақырамын, бұл өте қызықты, сен оны кез келген сандық датчиктерді нақты уақытта жіберу үшін қолдана аласың.

4 -қадам: Arduino Raspberry сериялық байланысы

Arduino Raspberry сериялық байланысы
Arduino Raspberry сериялық байланысы
Arduino Raspberry сериялық байланысы
Arduino Raspberry сериялық байланысы

Иә: Д.

Бірінші суретте көріп тұрғаныңыздай, Arduino-Raspberry сілтемесі USB қосқышы.

Мен сенсорлар туралы ақпаратты Raspberry PI -де орнатылған PureData Extended арқылы алудың әдісін таптым. Неліктен PureData кеңейтілді? Vanilla нұсқасы Raspbian ортасындағы қосымшадан гөрі бірдей кітапхананы пайдаланбайды.

Енгізу -шығару және вариацияларды дұрыс бағалау үшін Arduino Genuino -да StandardFirmata іске қосыңыз!

Raspberry PI -де құнды ақпарат алу үшін 2 хаттама бар: Firmata және Msg.

Мен Firmata -ды бір себеппен таңдаймын, PureData -да Pduino бір орта арқылы ақпарат алу оңай болды.

Егер сіз OSC протоколын қолдансаңыз, сізді Msg табуға шақырамын.

5 -қадам: PureData патч алынды

PureData патч алынды
PureData патч алынды

Шынында да, Genuino-да бірнеше апталық кодтаудан кейін мен сенсордың барлық ақпаратын бір бетте ала алдым, бұл Pduino, Puredata патчының қосымша секция либирлерінің арқасында нақты уақыттағы өзгерістерді көруге мүмкіндік берді.

Бұл қадамнан кейін біз енді Arduino кодына қол тигізбейміз. Мән туралы ақпарат оқылады.

3 -қадамда байқағанымдай, мен 6 істікшелі аналогтағы цифрлық батырмадан ақпарат алдым, байланыстың тиімді жұмысын көру оңай болды. Барлығы бір қатарда.

6 -қадам: PureData әзірлеу

PureData әзірлеу
PureData әзірлеу
PureData әзірлеу
PureData әзірлеу
PureData әзірлеу
PureData әзірлеу
PureData әзірлеу
PureData әзірлеу

PureData - бұл белгілі бір тіл және бос уақытты жақсы патч -жұмысты жасау үшін өткізу керек.

Кейбір PureData патчтары GitHub -те қол жетімді болады.

Бұл жерде жазғандарым сізге өз жобаңызды бастауға көмектесті деп үміттенемін.

Ұсынылған: