Micro Midi szintetizátor: 5 lépés (képekkel)
Micro Midi szintetizátor: 5 lépés (képekkel)
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: