Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu ko'rsatma sizga garajda yoki podvalda bo'lgan eski sevilmaydigan elektron organni olib, zamonaviy musiqa asbobiga aylantiradi. Sizda mavjud bo'lgan organ tafsilotlari haqida ko'p to'xtalib o'tmaymiz, bundan tashqari, odatiy musiqiy klaviatura - umumiy avtobusga bosilganda ulanadigan kalitlar to'plami. Qadimgi dunyoda, kalitlar bilan bir qatorda, avtoulovga chiqishni olib kelgan, bu esa o'z navbatida kuchaytirilib, audio tizimga uzatilgan. Bugungi kunda klaviatura - sensorlar to'plami; biz alohida kalitlarning holatini o'qiymiz va o'zgarishlarni MIDI buyruqlari bilan boshqariladigan dastur sintezatoriga yuboramiz.
Ko'rsatmalar kalitlarning raqamli holatini yig'ish, Arduino mikroprotsessori bilan boshqarish, MIDI ma'lumotlar oqimini yaratish va uni sintezator bilan ishlaydigan kompyuterga (shu jumladan Raspberry Pi) o'tkazish jarayonining ko'p qismini o'z ichiga oladi.
1 -qadam: Klaviatura mavhum
Quyida abstraktsiya qilingan elektron organ ko'rsatilgan, bu erda har bir satr tugmachalar yoki to'xtashlar yoki boshqa boshqaruv kalitlari. 0 ustunli yozuvlar alohida tugmachalarni ifodalaydi va - tugma bosilganda ulanadigan avtobus. 61 kalitli Buyuk Qo'llanma birinchi qator, shishish qo'llanmasi ikkinchi qator, pedallar uchinchi, to'xtash joylari va boshqalar to'rtinchi bo'lishi mumkin. Qatorlar aslida 64 ta elementni o'z ichiga oladi, chunki ularning raqamli ahamiyati 61 dan oshadi. Klaviatura qatorlarida, chapdagi C bilan oddiy musiqiy konvensiya amal qiladi.
Avtobus 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Avtobus 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Avtobus 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 -avtobus - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Har bir avtobus mustaqil va tengdoshlaridan elektr izolyatsiya qilingan. Dastlabki 8 ta element Bold bilan ajratilgan, yuqoridagi tartibda 8 ta shunday blok mavjud. Keyingi qadam qalin elementlar va boshqa 7 ta blokda ishlaydigan bosma elektron karta haqida batafsil ma'lumot beradi.
Kalitlar yuqorida 0 belgisi bilan ko'rsatilgan. Buni biroz oldinga surishimiz mumkin va aytish mumkinki, tugma bosilganda raqamli 1, aks holda 0 bo'ladi. Va kalitlar an'anaviy musiqali oq kvartiralar yoki qora o'tkir, organ pedallari, organ to'xtash joylari yoki bizga saksofon ohangini beradigan aylanadigan kalitlar bo'lishi mumkin. Biz asbobni faqat avtobuslar to'plamidagi kalitlar majmui va 0 va 1 raqamli raqamli oqim deb bilamiz.
2 -qadam: Klaviaturadan simlarni ulash
Klaviatura simlarini ulashda yordam berish uchun Eagle CAD yordamida bosma elektron platalar qurilgan. Uning o'lchami taxminan 96 mm X 43 mm va 8 ta organ klaviatura birikmalarining orqa tomoniga cho'zilgan bo'lishi kerak.
Keling, ushbu bosilgan elektron kartani (PCB) batafsil ko'rib chiqaylik. Chap tasvir - bu komponentlar o'rnatilgan tenglikni old qismi, o'ng tomon - uning orqa tomoni, biz uni lehimlaymiz.
Birinchidan, yuqoridagi 2X3 komponentlari yuqoridagi tugmachalarga ulanishi uchun mo'ljallangan, yuqori ikkita ulanish avtobuslari 0 va 1, keyingi juftliklar 2 va 3, pastki juftlari ham 2 va 3 -avtobuslar. 2X3 sarlavhasi Arduino qalqonsimon kabeliga o'xshab, faqat bitta sarlavhaga sig'adigan kalitlardan bitta simli ulash simini joylashtirish uchun etarlicha qattiq edi. Men ishlatgan ulanish simlari asl organdan tiklandi; uning diametri 0,75 mm.
Shunday qilib, har bir 2X3 sarlavhasi qalin ajratilgan tugmachalarning ustunini yoki keng ma'noda bitta eslatmani o'z ichiga oladi. Kengash shunday 8 ta sarlavhani talab qiladi. Rasmda yuqori chapda ayol sarlavhalardan biri bor. Kengashning o'rta qismida 32 ta diod (1N4148 yoki shunga o'xshash) joylashgan bo'lib, ularning har biri qizil kirishlardan biriga to'g'ri keladi. Diyot qutblanishi doskada ko'rsatilganidek, taxtaning yuqori uchida katod (qora tasma) bilan belgilanadi. Bitta diod 4 -pozitsiyada tasvirlangan. Nihoyat, bitta 2X5 erkak boshi taxtaning eng past qismini to'ldiradi. Uning yuqori 2 pimi ulanmagan. 1-pin pastki o'ng burchakda joylashgan bo'lib, eng chapdagi 4 ta diodga, 5-8-diodli 2-pinga va nihoyat 8-pinga 29-32-ga ulanadi. taxta. Har xil komponentlar orasidagi simlar PCB ichida o'tkaziladi, faqat lehim bilan diodlar va sarlavhalar kerak bo'ladi.
Ushbu to'liq taxtalardan 8 tasi qo'llanma ostiga darhol o'rnatilgan teshiklar yordamida o'rnatiladi va organ bo'ylab qulay tarzda cho'ziladi. Bu taxtaning vazifasi 4 ta avtobusda 8 ta kalitdan iborat bitta blokni olib, uni keyingi bosqichga o'tkazish uchun 10 tomonlama lentali kabel ulanadigan erkak sarlavhaga taqdim etishdir. Kengash dizayni zip faylidan yuklab olinishi mumkin.
3 -qadam: Shift registrlarida klaviatura chiqishlarini birlashtirish
Yuqorida ko'rsatilganidek, yana ikkita PCB kerak. Ular DIN R5 nomi bilan tanilgan va MIDI dunyosida mashhurdir, garchi ular oddiygina registr funktsiyasini ta'minlasalar. Birinchidan, yuqori gorizontal qismda siz 4 ta 2X5 erkak sarlavhasini ko'rishingiz mumkin, ular lenta kabeli orqali yuqoridagi 8 ta taxtada 2X5 analogiga ulanadi. Bizga 8 ta bunday kabelni joylashtirish uchun ikkita DIN platasi kerak.
Kengashning pastki qismida 32-bitli siljish registrini tashkil etuvchi IC chiplari bor va nihoyat bizni qiziqtirgan yana ikkita 2X5 sarlavhasi bor, ulardan biri (J2) to'dalari keyingi DIN-platalarga (bizning ikkinchi), ikkinchisi esa J1 bizning Arduino yoki Arduino-ga o'xshash mikroprotsessor.
Xulosa qilib aytganda, bizda -
- 64 ta kalitli 4 ta avtobus
- 32 ta kirishning 8 ta taxtasi, bitta avtobus uchun 8 ta chiqish
- bu 64-chiqish 2 ta 32-bitli smenali registrga kiritiladi
- Arduino mikroprotsessori avtobuslar bo'ylab aylanadi
4 -qadam: Uskunani birlashtirish
Arduino, ikkita DIN taxtasi va organ kalitlari lentali kabellari o'rtasidagi ulanishlar yuqoridagi rasmda ko'rsatilgan. E'tibor bering, ikkinchi DIN J2 bo'sh qoladi.
Ulagichlar IDC texnologiyasidan foydalanadi (izolyatsiya-joy almashinuvi aloqasi) va simlarni yechish yoki ajratish shart emas. Ular havaskorlarda mavjud bo'lgan siqish vositasi bilan kabelga qo'llaniladi. Chapda burilgan kabelning uchini ustara bilan tozalash mumkin; markazda ulagichning tagida 2X5 o'lchamli ayol rozetkasi mavjud; va o'ng tomonda ulagichning yuqori ko'rinishi.
DIN plitalari va maxsus PCB plitalari dumaloq boshli guruchli yog'och vintlardek va ajratgichlar yordamida yog'ochga ishlov berishga biriktirilgan. Organga o'rnatilgan maxsus PCB plitalarining bir qismi ko'rinishi yuqorida ko'rsatilgan. Yuqori simli kabellar to'xtash joylarini yoki boshqaruv elementlarini taxtalarga ulaydi va chapdagi massa pedallardan chiqadi. Nihoyat, ohang generatorlari va boshqa organning boshqa funktsiyalari olib tashlanishi shkafning bo'sh joyini vino saqlash uchun qayta ishlatishga imkon berdi.
5 -qadam: Arduino kompleksi
Yuqoridagi ikkita DIN platasining chap tomonida joylashgan Arduino kompleksi hozir muhokama qilinadi. U Arduino qalqoni sifatida bir -biriga bog'langan uchta alohida qatlamdan iborat. Qatlamlardan tashkil topgan tenglikni kartalari ko'k, yashil va qizil rangga ega.
Moviy qatlam (tepada) - Freetronics tomonidan ishlab chiqarilgan qalqon bo'lib, u 16X2 lik suyuq kristallli displeyni ta'minlaydi. (16 ta belgidan iborat 2 qator). Bu juda muhim emas, lekin klaviatura, pedal va to'xtash joylarining ishlashini tekshirishda juda foydali. U LiquidCrystal kutubxonasi tomonidan boshqariladi va boshqa apparat variantlarini osongina almashtirish mumkin.
Qizil qavat (pastda) - Sparkfun Teensyduino taxtasida o'rnatilgan Teensy 3.2. Teensy MIDI -ni to'g'ridan -to'g'ri qo'llab -quvvatlaydi va aks holda o'zini Arduino UNO sifatida tutadi. Shunday qilib, Teensy -dan foydalanish quyi oqimdagi komponentlarni saqlaydi. Quvvat manbai (5V 2A) ulanishi chap pastki qismda va USB ulagichi ketma -ket yoki MIDI chiqishini qo'llab -quvvatlaydi. Yuqori va pastki qirralarning sarlavhalari standart Arduino qalqoni funksiyasini ta'minlaydi.
Yashil qatlam (ko'k va qizil o'rtasida joylashgan) - bu maxsus PCB kartasi. Uning maqsadi - DIN platalariga bog'lanish kabi bo'laklarni qo'llab -quvvatlash va tashqi simlarni uzish. Uning ba'zi funktsiyalari ortiqcha. U standart Arduino UNO orqali MIDI -ni qo'llab -quvvatlash uchun ba'zi sxemalarni o'z ichiga oladi. Shuningdek, u birinchi DIN kartasidagi J1 sarlavhasiga lentali simi ulanishi uchun 2X5 o'lchamli erkak boshini beradi. Boshqa funktsiyalar ovoz balandligini nazorat qilishni o'z ichiga oladi; Original Organ, oyoq poyabzali tomonidan boshqariladigan 10K potansiyometrdan (qozondan) foydalangan.
To'rt gorizontal sarlavha quyida joylashgan Teensy taxtasi va Suyuq Kristalli displeyga standart Arduino qalqoni ulanishini ta'minlaydi. Pastki chap burchakdagi avtovokzalga o'xshash iz qoldiq bo'lib, chapdagi uzun vertikal sarlavha to'rtta avtobusga ulanishni, ovozni boshqarish va erni ta'minlaydi.
Maxsus taxta Eagle CAD yordamida ishlab chiqilgan va PCB ishlab chiqaruvchilariga yuborilgan Gerber kompleksining zip fayllari PCB2 zip faylida mavjud.
6 -qadam: Arduino dasturi
Dasturiy ta'minot dastlab Arduino UNO uchun ishlab chiqilgan va keyinchalik Teensy -ni ishlatish uchun juda oz o'zgartirishlar kiritilgan. Pindan foydalanish o'zgarmadi.
Suyuq kristalli displeyda o'nlab pim ishlatiladi va avtobuslar uchun bir -biriga ulashgan pimlarni olish uchun analog pinlardan raqamli rejimda foydalanishga qaror qilindi. Ovoz balandligi nazorati analog rejimda boshqa analog pinni ishlatadi.
Dasturiy ta'minotning ko'p qismi individual klaviatura, pedal va to'xtatish tugmachalarini o'qish bilan bog'liq bo'lib, har bir avtobusni o'z navbatida yoqadi va DIN platalari tomonidan berilgan smenali registrlardan bit qiymatlarini olib tashlaydi.
Quyi oqimga odatda Windows yoki UNIX yoki Linux bilan ishlaydigan protsessor va FluidSynth kabi dasturiy ta'minot sintezatori kiradi, ular o'z navbatida jOrgan tomonidan boshqarilishi mumkin. Oxir oqibat, FluidSynth bir yoki bir nechta Soundfont (lar) tomonidan boshqariladi, ular MIDI buyrug'i qabul qilinganda qanday tovush chiqarilishini aniqlaydi. So'zlarni qayta ishlash shriftlariga o'xshashlik bor. Klaviatura va pedallar uchun oldingi skanerdan o'zgartirish MIDI Note On yoki Note Off ketma -ketligiga olib keladi. Eng chap tugma-MIDI 36 va klaviatura bo'ylab. Avtobus indeksi MIDI kanal raqami uchun qulaylik yaratadi. To'xtatish tugmachalari uchun MIDI dasturlarini boshqarish ketma -ketligi ishlab chiqariladi yoki uni yoqish/o'chirish haqida eslatma yaratish va uni izohlash, sozlash va kengaytirish uchun jOrgan yoki shunga o'xshash MIDI quyi oqim dasturiga qoldirish maqsadga muvofiqdir. Qanday bo'lishidan qat'i nazar, yakuniy qaror quyi oqimdagi Soundfont (lar) ning ta'rifi bilan qabul qilinadi. Dastur Windows orqali Wurlitzer va FluidSynth va FluidSynth va Umumiy MIDI Soundfont bilan ishlaydigan Raspberry Pi uchun USB orqali MIDI yaratish uchun ishlatilgan. Bu ta'rif, shubhasiz, chalkash, lekin Arduino muhiti yoki C bilan tanish bo'lgan har kim uni o'z maqsadlari uchun o'zgartirish qiyin bo'lmaydi; oqilona ichki hujjatlar va oqilona modullik mavjud.
Arduino dasturi organino.zip -da joylashgan.