Mundarija:

Musiqiy raqamli interfeys: 6 qadam (rasmlar bilan)
Musiqiy raqamli interfeys: 6 qadam (rasmlar bilan)

Video: Musiqiy raqamli interfeys: 6 qadam (rasmlar bilan)

Video: Musiqiy raqamli interfeys: 6 qadam (rasmlar bilan)
Video: buka buka raqisi yoqqan bõlsa bitta layk 2024, Noyabr
Anonim
Musiqiy raqamli interfeys
Musiqiy raqamli interfeys

Hammaga xush kelibsiz, Men sizga o'z musiqiy raqamli interfeysimni ko'rsatmoqchiman. Men buni texnik ovoz darajasida o'qiganman, bu mening ilmiy ishlarim. Boshlash uchun, men mendan qanday qilib DAW holda, qayta ishlangan materiallar va mustaqil ijro etish bilan musiqa yozishim mumkinligini so'radim.

Bu yo'riqnomada men sizga ketma -ket aloqadan Arduino -dan Raspberry pi -ga sensorlar (analog va raqamli) ma'lumotlarini yuborish/qabul qilish uchun dasturiy ta'minotni tozalovchi ma'lumotlarga yo'naltirishni o'rgataman.

Quyidagi materiallar talab qilinadi:

x1 Raspberry PI3

x1 PI3 himoyasi

x1 Micro SD (32G)

x1 Arduino UNO

x1 sensori IQ Sharp GP2Y0E02B

x1 Breadbord

x1 plastinka sinov o'lchagichi (0,2)

x28 qarshilik 10MΩ

x2 qarshilik 1,8 kΩ

x1 qarshilik 10 kΩ

x20 Terminal qulflari Erkak/Ayol

x1 Lehim tashuvchisi

x1 kalay lasan (1 metr)

x1 Lehimlash temir

x25 moslashuvchan tasmalar erkak/erkak

1 -qadam: Sensorlar

Sensorlar
Sensorlar
Sensorlar
Sensorlar
Sensorlar
Sensorlar

Men "Guitar Hero" Harmonix XBOX 360 masofadan boshqarish pultidan keladigan 4 ta piezoelektrikdan foydalandim. Men tugmachani yoqish/o'chirish tugmasidan foydalanardim, chunki murabbo oyoq pedalli gitara qahramonining pulti magnitlangan.

Men Sharp GP2Y0E02B infraqizil sensoridan foydalandim, bu sensorlar uchun men samarali ishlash uchun tortish moslamasini o'rnatdim.

Shunday qilib, men empirik ravishda tugma sensori va IQ sensoriga qarshilik qiymatini topdim. Ammo men uning to'liq o'lchovini bilish uchun piezoelektrikni sinab ko'rdim va qarshilikning qiymatini aniqlab, 4 ta analog datchik uchun qo'lladim.

2-qadam: tortish moslamasi

Yuk ko'taruvchi montaj
Yuk ko'taruvchi montaj
Yuk ko'taruvchi montaj
Yuk ko'taruvchi montaj
Yuk ko'taruvchi montaj
Yuk ko'taruvchi montaj
Yuk ko'taruvchi montaj
Yuk ko'taruvchi montaj

Piezoelektrni kuchlanish generatori bilan sinab ko'rganimdan so'ng, qarshilik qiymatini 7MΩ ga o'rnatdim.

Tugmalar qarshiligining yig'ilishi 10 kΩ edi.

IQ sensori uchun men mos ravishda besleme zo'riqishida va SDA (ma'lumotlar) va SCL (soat) o'rtasida 1, 8kΩ ikkita qarshilik ishlatganman.

Ehtiyot bo'ling, chunki bu qarshilik qiymatlari RTX Arduino UNO uchun; Arduino impedans kiritish haqida bilish kerak bo'lgan narsa: 10MΩ.

Ushbu qadamning oxirgi rasmida siz tortiladigan montajni ko'rishingiz mumkin; Men UNO -ga 0 1 2 3 pinli piezoelektrik tasmalarni o'rnatdim, 2 raqamli pinli tugmachali tasmani, lekin UNO -dagi 6 pinli va IQ sensori tasmasidagi 4 ta pinli UNO -dagi qiymatni, Arduino Uno -ning barcha analog kirishlarini bildiraman.

3 -qadam: Arduino kodi

Operatsiya samarali bo'lishini ta'minlash uchun men sensorlar haqidagi ma'lumotlarni Arduino -ga yuborish/qabul qilishni sinab ko'rdim.

Men fayllarni tavsifga joylashtiraman, lekin siz ularni Arduino Genuino dasturining misollar bo'limida topishingiz mumkin, chunki IR sensori to'liq emas, men "ta'rif" bo'limida "siljish" kabi bir nechta ma'lumotni o'zgartirdim va o'lchov hisobini odatiy qilib o'zgartirdim. Siz, ehtimol, IR sensori kodidagi "sim" ni ko'rgansiz. Haqiqatan ham, men muloqot qilish uchun I2C protokolidan foydalandim, men sizni I2C protokolini ko'rishga taklif qilaman, bu juda qiziq, siz undan xohlagan raqamli sensorlarni real vaqtda uzatish uchun foydalanishingiz mumkin.

4 -qadam: Arduino Raspberry Serial aloqasi

Ikkala Arduino Raspberry seriyali aloqa
Ikkala Arduino Raspberry seriyali aloqa
Ikkala Arduino Raspberry seriyali aloqa
Ikkala Arduino Raspberry seriyali aloqa

Ha: D.

Birinchi rasmda ko'rib turganingizdek, Arduino-Raspberry havolasi-bu USB vilkasi.

Men sensorlar ma'lumotlarini to'g'ridan -to'g'ri Raspberry PI -da o'rnatilgan PureData Extented orqali olish usulini topdim. Nima uchun PureData kengaytirilgan? Chunki Vanilla versiyasi Raspbian muhitidagi ilovadan ko'ra bir xil kutubxonadan foydalanmaydi.

Shunday qilib, Arduino Genuino -da StandardFirmata -ni ishga tushiring, kirish -chiqish va o'zgarishlarni to'g'ri sozlash uchun!

Raspberry PI -da qiymat ma'lumotlarini qaytarish uchun 2 ta protokol mavjud: Firmata va Msg.

Men bir sababga ko'ra Firmata -ni tanladim, PureData -da bitta muhit Patch orqali ma'lumot olish osonroq edi.

Agar siz OSC protokolidan foydalansangiz, sizni Msg -ni topishga taklif qilaman.

5 -qadam: PureData tuzatmasi qabul qilindi

PureData patch qabul qilindi
PureData patch qabul qilindi

Haqiqatan ham, bir necha haftadan so'ng Genuino-da kodlashdan so'ng, men sensorning barcha ma'lumotlarini bitta sahifada olishimga muvaffaq bo'ldim, bu esa Pduino, Puredatadagi yamoq, qo'shimcha bo'limlar librairiyasi tufayli real vaqtda o'zgarishlarni ko'rish imkonini berdi.

Bu qadamdan biz endi Arduino kodiga tegmaymiz. Value ma'lumotlari o'qilishi mumkin.

3 -qadamda sezganimdek, men 6 pinli analogli raqamli tugmachadan ma'lumot oldim, aloqa samarali ishlashini ko'rish oson edi. Hammasi bitta qatorda.

6 -qadam: PureData -ni ishlab chiqish

PureData -ni ishlab chiqish
PureData -ni ishlab chiqish
PureData -ni ishlab chiqish
PureData -ni ishlab chiqish
PureData -ni ishlab chiqish
PureData -ni ishlab chiqish
PureData -ni ishlab chiqish
PureData -ni ishlab chiqish

PureData - bu o'ziga xos til va siz bo'sh vaqtingizni yaxshi patchwork ishlarini bajarish uchun sarflashingiz kerak.

PureData tuzatishlarining bir qismi GitHub -da mavjud bo'ladi.

Umid qilamanki, bu erda yozganlarim sizga o'z loyihangizni boshlashingizga yordam berdi.

Tavsiya: