Мазмұны:
- 1 -қадам: бөлшектер тізімі
- 2 -қадам: құрылыс
- 3 -қадам: Бағдарламалық қамтамасыз ету
- 4 -қадам: Сілтемелер
- 5 -қадам: Sparkfun тақтасын адафрут кітапханаларымен бірге пайдалану
Бейне: Micro Midi синтезаторы: 5 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Бұл нұсқаулық VLSI VS1053b Audio және Midi DSP чипін нақты уақыттағы Midi режимінде қолдануды көрсетеді. Бұл режимде ол 64 дауысты полифониялық GM (General Midi) Midi синтезаторы қызметін атқарады. Arduino Uno автономды микро OLED дисплейін, үш түймені басқарады (Функцияны таңдау және Жоғары немесе Төмен, және Midi деректер ағыны аудио DSP -ге өтеді. Таңдалған музыкалық тақта Adafruit VS1053 кодекінің ажырату тақтасы болды, бірақ Sparkfun музыкалық үзіліс тақтасы. Adafruit VS1053b кітапханалары әлдеқайда үлкен SFEMP3 кітапханасының орнына қолданылды (Sparkfun ұсынған, оларда жеке кітапханалар жиынтығы болса да), себебі мен Adafruit кодын түсінуге оңай деп таптым.
Аудио/midi DSP -ді басқару үшін қолданылатын кодтың көп бөлігі жұмыс тақтасы арқылы аудио/midi ажырату тақтасына қосылған Arduino Uno көмегімен жасалды. Функциялар қанағаттанарлықтай жұмыс істегеннен кейін, Uno автономды ATmega 328 бағдарламашысы ретінде қолданылды, ол Midi кіріс ұяшығына қажет 6N139 оптикалық изолятор IC-мен бірге 30x20 өлшемді шағын Veroboard тақтасына қойылды (5 істікшелі DIN). Сондай -ақ, шағын (64х48) OLED қалқаны, үш түйме, Midi белсенділік светодиоды және +5 вольтты баррель коннекторы және дыбыс стерео шығыс қосқышы қосылды. Қуат талаптары өте қарапайым - 5 вольтте шамамен 20 мА.
1 -қадам: бөлшектер тізімі
ATmega328 Micro 28 істікшелі DIP + 28 істікшелі DIP ұяшығы 6N138 немесе 6N139 опоизолятор + 4 істікшелі DIP ұяшығы Wemos 64x48 I2C OLED дисплейі немесе ұқсас Күшейткішке немесе құлаққапқа қосылатын розетка Резисторлар: 7 x 10k, 2 x 470 ом, 2 x 220 ом Конденсаторлар: 0,1uF 50v пластмасса, 10uf 25v электролиттік, 2 x 27 pF керамика Veroboard ұсақ бөлшектері (30 бағаннан 20 жолақ және 4 жолақ) 16 бағаннан), 85x55x25 мм ABS пластикалық корпусы, сымдар мен бірнеше бұрандалы гайкалар мен шайбалар.
2 -қадам: құрылыс
Корпустың қақпағында OLED дисплейі, Veroboard тақтасының басқа кішкене бөлігіне орнатылған үш түйме және оқпан қуат қосқышы орналасқан. Негізгі Vero схемасында ATmega328 үстіндегі музыкалық тақтаны бекіту үшін екі тесік бар. Қосылу туралы егжей -тегжейлі ақпарат алу үшін Fritzing Strip Board тақтасын қараңыз.
Бағдарламаланған ATmega328 (код үшін келесі тарауды қараңыз) розеткаға енгізіледі, содан кейін 6N139 қосылады және бәрі қосылады.
Жарық диоды Midi белсенділігінің индикаторы ретінде пайдаланылады және корпустың алдыңғы жағына орнатылады. Ол ATmega328 D2 шығысына 470 Ом резистор арқылы қосылған.
OLED дисплейі қуат үшін Adafruit тақтасынан 3,3 вольтты шығаруды пайдаланады - оған 20 мА -дан аз қажет.
Егер синхрондауды алғаш қолданғанда дыбыс естілмесе, екі Midi Din қосылымын ауыстырып көріңіз.
3 -қадам: Бағдарламалық қамтамасыз ету
ATmega328 -ге жүктелетін эскиз туралы мәліметтер MidA.ino сайтында берілген. Қол жетімді жеті функция бар:
Р нұсқасы: Бағдарламаны өзгерту - GM Midi Instrument -ді 1 -ден 128 -ге (мен 0 -ден 127 -ге дейін) фортепиано немесе Synth дыбысы сияқты өзгертемін. В нұсқасы: Melodic (Bank 0) мен Perkussion (Bank 1) арасындағы аспаптар банкін өзгерту. V нұсқа: Дыбыс деңгейін 1 -ден 10 -ға дейін реттеу C нұсқасы: Synth жауап беретін Midi арнасын өзгертіңіз. Таңдау: 0 арна, 1 арна, 9 арна (перкуссия), 0 және 9 арна, 1 және 9 арна. R опциясы: Реверб эффектісін қосу немесе өшіру. S нұсқасы: Ағымдағы параметрлерді Eeprom жадына сақтау (Жоғары) немесе оны Eeprom жадынан оқыңыз. Өшіру кезінде параметрлер басқаша түрде сақталмайды, себебі X нұсқасы: Барлық жазбаларды өшіру туралы хабарлама жіберу (Midi Reset).
Сегізінші нұсқа әлі енгізілмеген - бұл ATmega -ны Midi сүзгісі ретінде айналып өтіп, оптоизолятордың шығысын DSP тақтасының Rx істігіне тікелей қосады.
VS1053b жүктеу кезінде 1039 байтты қысылған түзетуді жүктеу арқылы нақты уақыттағы Midi режимінде жүктелетінін ескеріңіз - бұл Midi буферінің көлемін ұлғайтады және эксклюзивті Midi деректер байттарын сүзеді. Бұл патч туралы толық ақпаратты VLSI веб -сайтынан табуға болады.
Adafruit Graphics кітапханасының сәл өзгертілген нұсқасы OLED дисплейінің 64х48 пиксель ажыратымдылығын қамтамасыз ету үшін пайдаланылды - соңында Макаузер мырзаға арналған сілтемелерді қараңыз. Қажетті кітапханалардың тізімі эскиз -кодта берілген.
Маңыздысы эскиз ATmega328 -де Uno немесе автономды түрде бірінші рет орындалғанда, код ATmega328 Eeprom -дан жарамсыз болуы мүмкін параметрлерді алдын ала жүктейді. Бұл жағдайда сіз төмендегі түймемен X опциясын қолдана отырып, барлық нөлдерді Eeprom -ға жаза аласыз немесе Eeprom -дан мәндер жүктелетін бос орындар функциясының жолына түсініктеме бере аласыз, құралдарды және т.б. ұнатады, содан кейін S параметрі Жоғары түймешігімен алдын ала орнатылған параметрлерді сақтаңыз.
Несие коды мен кітапханасы үшін аталған барлық адамдар мен ұйымдарға беріледі.
4 -қадам: Сілтемелер
VLSI:
Адафрут:
Github VS1053b:
Github графикасы:
Олед:
Sparkfun:
5 -қадам: Sparkfun тақтасын адафрут кітапханаларымен бірге пайдалану
Суреттегі кесте басқа кітапхананы пайдалану үшін Adafruit немесе Sparkfun музыкалық тақталарын қалай қосуға болатынын түсіндіреді.
Ұсынылған:
MakeyMakey және Scratch көмегімен су синтезаторы: 6 қадам (суреттермен)
MakeyMakey және Scratch көмегімен су синтезаторы: MakeyMakey көмегімен әр түрлі материалдарды қосқыштарға немесе түймелерге айналдыру, осылайша компьютердегі қозғалыстар мен дыбыстарды іске қосу - бұл қызықты оқиға. Қандай материал әлсіз ток импульсін өткізетінін біледі және мен оны ойлап тауып, тәжірибе жасай алады
Arduino MIDI Chiptune синтезаторы: 7 қадам (суреттермен)
Arduino MIDI Chiptune синтезаторы: кез келген заманауи DAW бағдарламалық жасақтамасынан MIDI-ді басқаруға болатын түпнұсқалық 8-биттік чиптез синтезаторының көмегімен компьютерлік ойындардың әуенін тамашалаңыз. Бұл қарапайым схема Arduino көмегімен AY-3- Бағдарламаланатын 8910 дыбыс генераторы
Төрт динамик синтезаторы: 10 қадам (суреттермен)
Төрт динамик синтезаторы: мұнда қарапайым синтезатор бар: 22 дыбыс дыбыс жиілігі әр түрлі дыбыстық әсерлер диапазоны өзгерді (динамиктер үшін) төрт динамик шамы (динамиктер үшін) Кез келген адам оны құрастыра алады, электронды компоненттерді қоспағанда, бәрін үйде табуға болады
Arduino синтезаторы: 20 қадам (суреттермен)
Arduino синтезаторы: Arduino дыбыс кітапханасы деп аталатын кітапхана арқылы дыбысты шығара алады. Дыбысты шығаруға белгілі бір мәндерді шақыра алатын интерфейс пен бағдарлама құру арқылы Arduino Synthesizer - бұл сенімді құрал
Zybo тақтасындағы лазерлік арфа синтезаторы: 10 қадам (суреттермен)
Zybo тақтасындағы лазерлік арфа синтезаторы: Бұл оқулықта біз сериялық интерфейсі бар ИҚ сенсорларын қолдана отырып, толық функционалды лазерлі арфа жасаймыз, ол пайдаланушыға аспаптың күйін және үнін өзгертуге мүмкіндік береді. Бұл арфа XXI ғасырдағы ескі аспаптың ремейкі болады