Мазмуну:

Micro Midi синтезатору: 5 кадам (сүрөттөр менен)
Micro Midi синтезатору: 5 кадам (сүрөттөр менен)

Video: Micro Midi синтезатору: 5 кадам (сүрөттөр менен)

Video: Micro Midi синтезатору: 5 кадам (сүрөттөр менен)
Video: Камигава, Неон династиясы: 30 сыйкыр кутусу The Gathering кеңейтүү күчөткүчтөрү ачылды 2024, Ноябрь
Anonim
Micro Midi синтезатору
Micro Midi синтезатору
Micro Midi синтезатору
Micro Midi синтезатору
Micro Midi синтезатору
Micro Midi синтезатору

Бул нускоочу VLSI VS1053b Аудио жана Midi DSP чипин реалдуу убакыт режиминде Midi режиминде колдонууну көрсөтөт. Бул режимде ал 64 үндүү полифониялык GM (General Midi) Midi синтезатору катары иштейт. An Arduino Uno өз алдынча микро OLED дисплейин, үч баскычты башкарат (Функцияны тандоо жана Өйдө же ылдый, жана Midi маалымат агымын DSP аудиосуна өткөрүп берет. Тандалган музыкалык такта Adafruit VS1053 кодекинин үзүлүү тактасы болгон, бирок Sparkfun музыкасынын үзүлүү тактасы. Adafruit VS1053b китепканалары SFEMP3 китепканасынын ордуна колдонулган (Sparkfun тарабынан сунушталган, бирок аларда жеке китепканалар топтому бар), анткени мен Adafruit кодун түшүнүүгө оңой деп таптым.

Аудио/midi DSPди көзөмөлдөө үчүн колдонулган коддордун көбү нан/стол аркылуу аудио/миди сындыруучу тактасына туташкан Arduino Uno аркылуу иштелип чыккан. Функциялар канааттандырарлык деп табылгандан кийин, Uno өзүнчө ATmega 328 программисти катары колдонулган, андан кийин кичинекей 30x20 өлчөмдөгү Veroboardга 6N139 оптикалык изолятор IC менен кошо Midi киргизүү розеткасына (5 пин DIN) киргизилген.. Ошондой эле кичинекей (64х48) OLED калканы, үч баскыч, Midi активдүүлүк LEDы жана +5 вольт баррель туташтыргычы жана аудио стерео чыгаруу коннектору кошулган. Кубат талаптары өтө жөнөкөй - 5 вольтто болжол менен 20 мА.

1 -кадам: Бөлүктөрдүн тизмеси

ATmega328 Micro 28 pin DIP + 28 pin DIP socket6N138 же 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display же окшош күчөткүчкө же наушникке туташуу үчүн розетка Резисторлор: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Capacitors: 0.1uF 50v plastic, 10uf 25v electrolytic, 2 x 27 pF ceramic 16 колонка менен), 85x55x25мм ABS пластикалык корпусу, зымдар жана бир нече бурамалар менен гайкалар.

2 -кадам: Курулуш

Курулуш
Курулуш
Курулуш
Курулуш
Курулуш
Курулуш

Корпустун капкагында OLED дисплейи, Veroboardдын дагы бир кичинекей бөлүгүнө орнотулган үч баскыч жана баррелдин кубат туташтыргычы бар. Негизги Vero схемасында ATmega328дин үстүндөгү Музыканын сынык тактасын оңдоо үчүн эки тешик бар. Кошулуу чоо -жайын билүү үчүн Fritzing strip board диаграммасына кайрылыңыз.

Программаланган ATmega328 (код үчүн кийинки бөлүмгө кайрылыңыз) андан кийин анын розеткасына киргизилет, андан кийин 6N139 жана баары туташат.

LED Midi активдүүлүгүнүн индикатору катары колдонулат жана корпустун алдыңкы жагына орнотулган. Бул ATmega328дин D2 чыгуусуна 470 омдук резистор аркылуу туташкан.

OLED дисплейи кубаттуулук үчүн Adafruit тактасынан 3.3 вольттук чыгымды колдонот - бул 20 мАдан аз талап кылат.

Эгер синтезди биринчи жолу колдонгондо эч кандай аудио угулбаса, эки Midi Din туташуусун алмаштырып көрүңүз.

3 -кадам: Программалык камсыздоо

ATmega328ге жүктөлүүчү эскиздин чоо -жайы MidA.ino сайтында берилген. Жети функция бар:

Опция P: Программаны өзгөртүү - GM Midi Instrument'ин 1ден 128ге (мен 0дон 127ге чейин колдонгон) фортепиано же Synth үнү сыяктуу өзгөртүү. Б варианты: Melodic (Bank 0) жана Percussion (Bank 1) ортосундагы аспап банкын өзгөртүү. Variant: 1ден 10го чейин үндү тууралаңыз. C варианты: Synth жооп бере турган Midi каналын өзгөртүңүз. Тандоолор Channel 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 опциясын Up баскычы менен алдын ала орнотууларды сактаңыз.

Кредит алардын коддору жана китепканалары үчүн айтылган бардык адамдарга жана юридикалык жактарга берилет..

4 -кадам: Шилтемелер

VLSI:

Adafruit:

Github VS1053b:

Github графикасы:

Олед:

Sparkfun:

5 -кадам: Адафрут китепканалары менен Sparkfun тактасын колдонуу

Adafruit китепканалары менен Sparkfun тактасын колдонуу
Adafruit китепканалары менен Sparkfun тактасын колдонуу

Сүрөттөгү таблица башка китепкананы колдонуу үчүн Adafruit же Sparkfun музыкалык такталарын кантип туташтырууну түшүндүрөт.

Сунушталууда: