INHOUDSOPGAWE:

Micro Midi Synthesizer: 5 stappe (met foto's)
Micro Midi Synthesizer: 5 stappe (met foto's)

Video: Micro Midi Synthesizer: 5 stappe (met foto's)

Video: Micro Midi Synthesizer: 5 stappe (met foto's)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
Anonim
Micro Midi sintetiseerder
Micro Midi sintetiseerder
Micro Midi sintetiseerder
Micro Midi sintetiseerder
Micro Midi sintetiseerder
Micro Midi sintetiseerder

Hierdie instruksies demonstreer die gebruik van die VLSI VS1053b Audio en Midi DSP-chip in sy intydse Midi-modus. In hierdie modus werk dit as 'n polifoniese GM (General Midi) Midi -sintetiseerder met 64 stemme. 'N Arduino Uno selfstandige mikro beheer 'n OLED -skerm, drie knoppies (funksie kies en op of af, en gee die Midi -datastroom deur na die klank -DSP. Die musiekbord wat gekies is, was die Adafruit VS1053 codec breakout board, maar 'n Sparkfun musiek breakout board Die Adafruit VS1053b -biblioteke is gebruik in plaas van die veel groter SFEMP3 -biblioteek (aanbeveel deur Sparkfun, alhoewel hulle ook hul eie stel biblioteke het), omdat ek die Adafruit -kode makliker verstaanbaar gevind het.

Die meeste kode wat gebruik is om die audio/midi DSP te beheer, is ontwikkel met behulp van 'n Arduino Uno wat via 'n broodbord aan die audio/midi breakout -bord gekoppel is. Nadat bevind is dat die funksies bevredigend werk, is die Uno gebruik as programmeerder vir 'n selfstandige ATmega 328, wat dan op 'n klein 30x20 grootte Veroboard geplaas is, tesame met die 6N139 opto-isolator IC wat benodig word op die Midi-ingang ('n 5-pins DIN). Daar is ook 'n klein (64x48) OLED -skild, drie knoppies, 'n Midi -aktiwiteits -LED en 'n +5 volt -vataansluiting vir krag en die klankstereo -uitsetaansluiting ook verbind. Die kragvereistes is baie beskeie - ongeveer 20 mA by 5 volt.

Stap 1: Onderdele lys

ATmega328 Micro 28 pin DIP + 28 pin DIP socket 6N138 or 6N139 optoisolator + 4 pin DIP socket Wemos 64x48 I2C OLED Display or similarAdafruit VS1053b Codec breakout board3 miniature drukknoppies 5 pin DIN Midi socket PCB mount preferedSmall LED any colour. Barrel type power socket for the 5 aansluiting om aan te sluit op 'n versterker of koptelefoon Weerstande: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kondensators: 0.1uF 50v plastiek, 10uf 25v elektrolities, 2 x 27 pF keramiek Klein stukke Veroboard (30 stroke by 20 kolomme en 4 stroke met 16 kolomme), ABS -plastiekomhulsel ongeveer 85x55x25mm, bedrading en 'n paar skroewe moere en ringe.

Stap 2: Konstruksie

Konstruksie
Konstruksie
Konstruksie
Konstruksie
Konstruksie
Konstruksie

Die deksel van die omhulsel huisves die OLED -skerm, die drie knoppies wat op 'n ander klein stuk Veroboard gemonteer is, en die vatkragaansluiting. Die hoof Vero -bord het twee gate om die musiekbreekbord bo die ATmega328 reg te maak. Raadpleeg die diagram van die Fritzing -strook vir aansluitingsbesonderhede.

Die geprogrammeerde ATmega328 (verwys na die volgende afdeling vir die kode) word dan in die houer geplaas, gevolg deur die 6N139 en alles word verbind.

Die LED word gebruik as 'n Midi -aktiwiteitsaanwyser en is aan die voorkant van die omhulsel gemonteer. Dit is gekoppel aan die D2 -uitset van die ATmega328 via 'n weerstand van 470 ohm.

Die OLED -skerm gebruik die 3,3 volt -uitgang van die Adafruit -bord vir krag - dit benodig minder as 20 mA.

Probeer die twee Midi Din -verbindings omruil as u geen klank hoor wanneer u die synth vir die eerste keer gebruik nie.

Stap 3: sagteware

Besonderhede van die skets wat na die ATmega328 opgelaai moet word, word in MidA.ino gegee. Daar is sewe funksies beskikbaar:

Opsie P: Verander program - verander die GM Midi -instrument van 1 na 128 (ek het 0 tot 127 gebruik), soos 'n klavier of Synth -klank. Opsie B: Verander die instrumentbank tussen Melodic (Bank 0) en Percussion (Bank 1). Opsie V: Pas die volume aan van 1 tot 10. Opsie C: Verander die Midi -kanaal waarop die Synth sal reageer. Die keuses is kanaal 0, kanaal 1, kanaal 9 (perkussie), kanaal 0 en 9, en kanaal 1 en 9. opsie R: skakel die reverb -effek aan of uit. of Lees (af) dit terug uit die Eeprom -geheue. Dit is omdat instellings andersins nie gestoor word tydens die afskakel nie. Opsie X: Stuur 'n boodskap van alle note af (Midi Reset).

'N Agtste opsie is nog nie geïmplementeer nie - dit sal die ATmega as 'n Midi -filter omseil en die uitset van die optoisolator direk aan die Rx -pen van die DSP -bord koppel.

Let daarop dat die VS1053b in 'n intydse Midi -modus opstart deur 'n saamgeperste pleister van 1039 byte te laai tydens die opstart - dit vergroot ook die grootte van die Midi -buffer en filter die stelsel eksklusiewe Midi -datagrepe. Besonderhede van hierdie pleister kan gevind word op die VLSI -webwerf.

'N Effens aangepaste weergawe van die Adafruit Graphics -biblioteek is gebruik om voorsiening te maak vir die resolusie van 64 x 48 pixel van die OLED -skerm - verwys na die skakels wat aan die einde gegee is vir mnr Mcauser. 'N Lys met die vereiste biblioteke word in die sketskode gegee.

Belangrik wanneer die skets vir die eerste keer op die ATmega328 uitgevoer word, of dit op 'n Uno of selfstandig is, laai die kode parametervoorinstellings van die ATmega328 Eeprom wat moontlik nie geldig is nie. In daardie geval kan u óf alle nulle aan die Eeprom skryf met die X -opsie met die afknoppie, óf kommentaar lewer op die reël in die leemte -opstelfunksie wat waardes vanaf die Eeprom laai wanneer dit die eerste keer begin word, u instrumente, ens. hou, en stoor u voorafinstellings met die S -opsie omhoog -knoppie.

Krediet word gegee aan al die persone en entiteite wat genoem word vir hul kode en biblioteke.

Stap 4: Skakels

VLSI:

Adafruit:

Github VS1053b:

Github-grafika:

Oled:

Sparkfun:

Stap 5: Gebruik die Sparkfun -bord saam met die Adafruit -biblioteke

Gebruik die Sparkfun -bord saam met die Adafruit -biblioteke
Gebruik die Sparkfun -bord saam met die Adafruit -biblioteke

Die tabel op die foto verduidelik hoe u die Adafruit of die Sparkfun Music Boards kan koppel om 'n ander biblioteek te gebruik.

Aanbeveel: