Tartalomjegyzék:

Micro Midi szintetizátor: 5 lépés (képekkel)
Micro Midi szintetizátor: 5 lépés (képekkel)

Videó: Micro Midi szintetizátor: 5 lépés (képekkel)

Videó: Micro Midi szintetizátor: 5 lépés (képekkel)
Videó: ✨Вяжем удобную, теплую и красивую женскую манишку на пуговицах крючком. Подробный МК. Часть 1. 2024, Július
Anonim
Micro Midi szintetizátor
Micro Midi szintetizátor
Micro Midi szintetizátor
Micro Midi szintetizátor
Micro Midi szintetizátor
Micro Midi szintetizátor

Ez az utasítás bemutatja a VLSI VS1053b Audio és Midi DSP chip használatát valós idejű Midi módban. Ebben a módban 64 hangú polifónikus GM (General Midi) Midi szintetizátorként működik. Az Arduino Uno önálló mikrovezérlő vezérli az OLED kijelzőt, a három gombot (Funkcióválasztás és Fel vagy Le, és továbbítja a Midi adatfolyamot az audio DSP -hez. A választott zenei tábla az Adafruit VS1053 kodek kioldótábla volt, de egy Sparkfun zenei megszakító tábla Az Adafruit VS1053b könyvtárakat használták a sokkal nagyobb SFEMP3 könyvtár helyett (ezt a Sparkfun ajánlotta, annak ellenére, hogy saját könyvtáruk is van), mert könnyebben megértettem az Adafruit kódot.

Az audio/midi DSP vezérléséhez használt kód nagy része egy Arduino Uno segítségével lett kifejlesztve, amely egy kenyérsütő táblán keresztül csatlakozik az audio/midi megszakító táblához. Miután megállapították, hogy a funkciók kielégítően működnek, az Uno programozója volt egy önálló ATmega 328 programozónak, amelyet ezután egy kis 30x20-as méretű Veroboard-ra helyeztek, a 6N139 opto-leválasztó IC-vel együtt, amely a Midi bemeneti aljzaton (5 tűs DIN) szükséges.. Csatlakoztatva volt egy kicsi (64x48) OLED pajzs, három gomb, egy Midi aktivitás LED és egy +5 voltos hordócsatlakozó a tápellátáshoz és az audio sztereó kimeneti csatlakozó. Az energiaigény nagyon szerény - körülbelül 20 mA 5 voltnál.

1. lépés: Alkatrészlista

ATmega328 Micro 28 tűs DIP + 28 tűs DIP foglalat aljzat erősítőhöz vagy fejhallgatóhoz való csatlakoztatáshoz Ellenállások: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kondenzátorok: 0,1uF 50v műanyag, 10uf 25v elektrolitikus, 2 x 27 pF kerámia Kicsi darab Veroboard (30 csík 20 oszlopból és 4 csík) 16 oszloptól), ABS műanyag ház körülbelül 85x55x25 mm, vezetékek és néhány csavar anyák és alátétek.

2. lépés: Építés

Építkezés
Építkezés
Építkezés
Építkezés
Építkezés
Építkezés

A ház fedelén található az OLED kijelző, a három gomb, amely a Veroboard másik kis darabjára van felszerelve, és a hordó tápcsatlakozója. A fő Vero áramköri lap két lyukkal rögzíti a zenetörő táblát az ATmega328 felett. A csatlakoztatás részleteit lásd a Fritzing szalagdiagram diagramján.

A beprogramozott ATmega328 -at (a kódot lásd a következő részben) behelyezzük a foglalatába, majd a 6N139 -et, és minden csatlakoztatva van.

A LED -et Midi aktivitásjelzőként használják, és a ház elülső oldalára szerelték fel. 470 ohmos ellenálláson keresztül csatlakozik az ATmega328 D2 kimenetéhez.

Az OLED kijelző az Adafruit kártya 3,3 voltos kimenetét használja az áramellátáshoz - kevesebb, mint 20 mA.

Próbálja felcserélni a két Midi Din csatlakozást, ha nem hall hangot a szintetizátor első használatakor.

3. lépés: Szoftver

Az ATmega328 -ra feltöltendő vázlat részleteit a MidA.ino tartalmazza. Hét funkció áll rendelkezésre:

P lehetőség: Programváltás - módosítsa a GM Midi hangszert 1 -ről 128 -ra (0 -ról 127 -re használtam), például zongora vagy szintetikus hangot. B lehetőség: Módosítsa a hangszer bankját a Melodic (Bank 0) és az Percussion (Bank 1) között. V opció: Állítsa be a hangerőt 1 -ről 10 -re. C lehetőség: Módosítsa azt a Midi csatornát, amelyre a Synth válaszol. A választható lehetőségek a 0. csatorna, az 1. csatorna, a 9. csatorna (ütőhangszerek), a 0. és a 9. csatorna, valamint az 1. és a 9. csatorna. R lehetőség: a Reverb effektus be- vagy kikapcsolása. S lehetőség: az aktuális paraméterek mentése az Eeprom memóriába (fel) vagy olvassa vissza (le) az Eeprom memóriából. Ennek oka az, hogy a beállítások egyébként nem kerülnek mentésre a kikapcsoláskor.

A nyolcadik opció még nincs megvalósítva - ez megkerüli az ATmega -t Midi szűrőként, és az optoizolátor kimenetét közvetlenül a DSP kártya Rx érintkezőjéhez csatlakoztatja.

Ne feledje, hogy a VS1053b valós idejű Midi módban indul, 1039 bájtos tömörített javítás betöltésével indítás közben - ez is növeli a Midi puffer méretét és kiszűri a rendszer kizárólagos Midi adatbájtjait. A javítás részletei a VLSI weboldalán találhatók.

Az Adafruit Graphics könyvtár kissé módosított változatát használták az OLED kijelző 64x48 képpontos felbontásának kielégítésére - kérjük, olvassa el a végén Mcauser úr hivatkozásait. A szükséges könyvtárak listája a vázlatkódban található.

Fontos, hogy amikor a vázlatot először hajtja végre az ATmega328 készüléken, függetlenül attól, hogy Uno vagy önálló készüléken van -e, a kód betölti az ATmega328 Eeprom paramétereket, amelyek esetleg nem érvényesek. Ebben az esetben vagy írhat be minden nullát az Eeprom -ba az X opció segítségével a le gombbal, vagy megjegyzést fűzhet ahhoz a sorhoz a void setup funkcióban, amely betölti az Eeprom értékeit az első indításkor, beállíthatja a műszereket stb. tetszés szerint, majd mentse el az előre beállított értékeket az S opció Fel gombbal.

A kódot és a könyvtárakat említett személyek és szervezetek elismerésben részesítik.

4. lépés: Linkek

VLSI:

Adafruit:

Github VS1053b:

Github grafika:

Oled:

Sparkfun:

5. lépés: A Sparkfun tábla használata az Adafruit könyvtárakkal

A Sparkfun tábla használata az Adafruit könyvtárakkal
A Sparkfun tábla használata az Adafruit könyvtárakkal

A képen látható táblázat elmagyarázza, hogyan csatlakoztatható az Adafruit vagy a Sparkfun Music Boards egy másik könyvtárhoz.

Ajánlott: