Mundarija:

Micro Midi sintezatori: 5 qadam (rasmlar bilan)
Micro Midi sintezatori: 5 qadam (rasmlar bilan)

Video: Micro Midi sintezatori: 5 qadam (rasmlar bilan)

Video: Micro Midi sintezatori: 5 qadam (rasmlar bilan)
Video: Камигава, неоновая династия: я открываю коробку с 30 пакетами расширения Magic The Gathering 2024, Noyabr
Anonim
Micro Midi sintezatori
Micro Midi sintezatori
Micro Midi sintezatori
Micro Midi sintezatori
Micro Midi sintezatori
Micro Midi sintezatori

Bu ko'rsatma VLSI VS1053b Audio va Midi DSP chipining real vaqtda Midi rejimida ishlatilishini ko'rsatadi. Bu rejimda u 64 ovozli polifonik GM (General Midi) Midi sintezatori vazifasini bajaradi. Arduino Uno avtonom mikrofoni OLED -displeyni, uchta tugmani (funktsiyani tanlash va yuqoriga yoki pastga) boshqaradi va Midi ma'lumot oqimini audio DSP -ga o'tkazadi. Tanlangan musiqa taxtasi Adafruit VS1053 kodekli uzilish taxtasi edi, lekin Sparkfun musiqali uzilish taxtasi. Adafruit VS1053b kutubxonalari ancha katta SFEMP3 kutubxonasi o'rniga ishlatilgan (Sparkfun tomonidan tavsiya etilgan, garchi ular o'z kutubxonalariga ega bo'lsa ham), chunki men Adafruit kodini tushunishni osonlashtirdim.

Audio/midi DSP -ni boshqarish uchun ishlatiladigan kodlarning aksariyati audio/midi uzilish taxtasiga non paneli orqali ulangan Arduino Uno yordamida ishlab chiqilgan. Vazifalar qoniqarli deb topilgandan so'ng, Uno mustaqil ATmega 328 uchun dasturchi sifatida ishlatilgan bo'lib, u 30x20 o'lchamdagi kichik Veroboard kartasiga, Midi kirish soketida (5 pinli DIN) 6N139 opto-izolyator IC bilan birga qo'yilgan.. Bundan tashqari, kichik (64x48) OLED qalqoni, uchta tugma, Midi faollik LED va quvvat +5 voltli bochka ulagichi va audio stereo chiqish ulagichi qo'shilgan. Quvvat talablari juda kam - 5 voltda taxminan 20 mA.

1 -qadam: qismlar ro'yxati

ATmega328 Micro 28 pinli DIP + 28 pinli DIP soket 6N138 yoki 6N139 optoisolator + 4 pinli DIP uyasi Wemos 64x48 I2C OLED displeyi yoki shunga o'xshash Kuchaytirgich yoki minigarnituraga ulanish uchun rozetka Rezistorlar: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kondansatkichlar: 0,1 uF 50v plastmassa, 10uf 25v elektrolitik, 2 x 27 pF seramika Veroboardning kichik bo'laklari (20 ta ustunga 30 tasma va 4 tasma) 16 ustunli), taxminan 85x55x25 mm ABS plastmassa korpusi, simlar va bir nechta vintli yong'oq va yuvish.

2 -qadam: qurilish

Qurilish
Qurilish
Qurilish
Qurilish
Qurilish
Qurilish

Qopqoqning qopqog'ida OLED -displey, Veroboard -ning boshqa kichik qismiga o'rnatilgan uchta tugma va bochkaning quvvat ulagichi joylashgan. Asosiy Vero elektron platasida ATmega328 ustidagi Musiqani buzish platasini tuzatish uchun ikkita teshik bor. Ulanish tafsilotlari uchun Fritzing tasmasi taxtasi diagrammasiga qarang.

Dasturlashtirilgan ATmega328 (iltimos, kod uchun keyingi bo'limga qarang) keyin uning uyasiga 6N139 qo'yiladi va hamma narsa ulanadi.

LED Midi faolligi ko'rsatkichi sifatida ishlatiladi va korpusning old tomoniga o'rnatiladi. U ATmega328 ning D2 chiqishiga 470 ohmli rezistor orqali ulangan.

OLED -displey Adafruit platasidan 3,3 voltli quvvatni ishlatadi - buning uchun 20 mA dan kam talab qilinadi.

Agar siz sinxronizatsiyadan birinchi marta foydalanayotganingizda ovoz eshitilmasa, ikkita Midi Din ulanishini almashtirishga harakat qiling.

3 -qadam: dasturiy ta'minot

ATmega328 -ga yuklanishi kerak bo'lgan eskiz tafsilotlari MidA.ino -da berilgan. Etti funktsiya mavjud:

V variant: Dasturni o'zgartirish - GM Midi Instrumentini 1 dan 128 gacha (men 0 dan 127 gacha ishlatardim), masalan, pianino yoki Synth ovozi. B variant: Melodic (Bank 0) va Perkussiya (Bank 1) o'rtasidagi asboblar panelini o'zgartirish. V variant: Ovoz balandligini 1 dan 10 gacha sozlang. V variant: Synth javob beradigan Midi kanalini o'zgartiring. Tanlovlar: Kanal 0, kanal 1, kanal 9 (perkussiya), kanal 0 va 9, kanal 1 va 9. Variant R: Reverb effektini yoqish yoki o'chirish S variant: joriy parametrlarni Eeprom xotirasiga saqlash (yuqoriga) yoki Eeprom xotirasidan o'qing (pastga). Buning sababi, o'chirish paytida sozlamalar saqlanmaydi. X variant: Barcha eslatmalarni o'chirish xabarini yuborish (Midi Reset).

Sakkizinchi variant hali amalga oshirilmagan - bu Midi filtri sifatida ATmega -ni chetlab o'tadi va optoisolatorning chiqishini to'g'ridan -to'g'ri DSP kartasining Rx piniga ulaydi.

E'tibor bering, VS1053b yuklash vaqtida 1039 baytli siqilgan yamoqni yuklash orqali real vaqtda Midi rejimida yuklaydi - bu ham Midi buferining hajmini oshiradi va eksklyuziv Midi ma'lumotlar baytlarini filtrlaydi. Ushbu tuzatish tafsilotlarini VLSI veb -saytida topish mumkin.

Adafruit Graphics kutubxonasining biroz o'zgartirilgan versiyasi OLED -displeyning 64x48 pikselli piksellar sonini ta'minlash uchun ishlatilgan - iltimos, janob Makauser uchun oxirida berilgan havolalarga qarang. Eskiz kodida kerakli kutubxonalar ro'yxati keltirilgan.

Muhimi, eskiz ATmega328 -da birinchi marta bajarilgan bo'lsa ham, u Uno -da bo'ladimi yoki yo'qmi, kod ATmega328 Eeprom -dan haqiqiy bo'lmagan parametrlarni yuklaydi. Bunday holda, siz X tugmachasini bosib, pastdagi tugmachani bosib, barcha nollarni Eeprom -ga yozishingiz yoki Eeprom -dan ishga tushirilganda qiymatlarni yuklaydigan bo'sh joyni sozlash funktsiyasida sharh berishingiz, asboblaringizni va boshqalarni sozlashingiz mumkin. xohlasangiz, S sozlamalarini yuqoriga ko'tarish orqali oldindan o'rnatilgan sozlamalarni saqlang.

Kredit ularning kodlari va kutubxonalari uchun ko'rsatilgan barcha shaxslar va tashkilotlarga beriladi.

4 -qadam: havolalar

VLSI:

Adafruit:

Github VS1053b:

Github grafikasi:

Oled:

Sparkfun:

5 -qadam: Adafruit kutubxonalari bilan Sparkfun kartasidan foydalanish

Adafruit kutubxonalari bilan Sparkfun taxtasidan foydalanish
Adafruit kutubxonalari bilan Sparkfun taxtasidan foydalanish

Rasmdagi jadvalda boshqa kutubxonadan foydalanish uchun Adafruit yoki Sparkfun musiqiy kartalarini qanday ulash mumkinligi tushuntirilgan.

Tavsiya: