Sadržaj:

Mikro midi sintetizator: 5 koraka (sa slikama)
Mikro midi sintetizator: 5 koraka (sa slikama)

Video: Mikro midi sintetizator: 5 koraka (sa slikama)

Video: Mikro midi sintetizator: 5 koraka (sa slikama)
Video: Прогресс типичного гитариста 2024, Novembar
Anonim
Mikro midi sintetizator
Mikro midi sintetizator
Mikro midi sintetizator
Mikro midi sintetizator
Mikro midi sintetizator
Mikro midi sintetizator

Ovo uputstvo demonstrira upotrebu VLSI VS1053b audio i Midi DSP čipa u Midi modu u stvarnom vremenu. U ovom načinu rada djeluje kao 64 -glasovni polifonijski GM (General Midi) Midi sintisajzer. Arduino Uno samostalni mikro upravlja OLED ekranom, tri tipke (Odabir funkcije i gore ili dolje, te prenosi Midi tok podataka do audio DSP -a. Odabrana muzička ploča bila je Adafruit VS1053 kodek ploča, ali Sparkfun muzička ploča Biblioteke Adafruit VS1053b korištene su umjesto mnogo veće biblioteke SFEMP3 (preporučuje ih Sparkfun iako imaju i svoj skup biblioteka), jer mi je Adafruitov kôd bio lakše razumljiv.

Većina koda koji se koristi za kontrolu audio/midi DSP -a razvijen je pomoću Arduino Uno spojenog na audio/midi probojnu ploču putem matične ploče. Nakon što je utvrđeno da funkcije rade zadovoljavajuće, Uno je korišten kao programer za samostalnu ATmegu 328 koja je zatim stavljena na malu Veroboard veličine 30x20 zajedno sa 6N139 opto-izolacijskim IC-om potrebnim za Midi ulaz (5-polni DIN). Takođe je bio povezan mali (64x48) OLED štit, tri dugmeta, LED dioda za aktivnost Midi i konektor za cijev od +5 volti za napajanje i priključak za audio stereo izlaz. Zahtjevi za napajanjem su vrlo skromni - oko 20 mA na 5 volti.

Korak 1: Lista dijelova

ATmega328 Micro 28 -pinski DIP + 28 -pinski DIP utičnica6N138 ili 6N139 optoizolator + 4 pinski DIP utičnicaWemos 64x48 I2C OLED ekran ili sličnoAdafruit VS1053b Kodek ploča za probijanje 3 minijaturna tastera 5 pinova DIN Midi utičnica PCB nosač poželjnamala LED svaka vrsta napajanja utičnica za bačvu utičnica za spajanje na pojačalo ili slušalice Otpornici: 7 x 10k, 2 x 470 ohm, 2 x 220 ohmKondenzatori: 0,1uF 50v plastika, 10uf 25v elektrolitički, 2 x 27 pF keramikaMali komadi Veroboarda (30 traka po 20 kolona i 4 trake za 16 stupaca), plastično kućište od ABS -a oko 85x55x25 mm, ožičenje i nekoliko vijaka navrtke i podloške.

Korak 2: Konstrukcija

Građevinarstvo
Građevinarstvo
Građevinarstvo
Građevinarstvo
Građevinarstvo
Građevinarstvo

Na poklopcu kućišta nalazi se OLED ekran, tri dugmeta koja su montirana na drugom malom komadu Veroboarda i priključak za napajanje cijevi. Glavna Vero ploča ima dvije rupe za pričvršćivanje muzičke ploče iznad ATmega328. Za detalje o povezivanju pogledajte dijagram Fritzing ploče.

Programirani ATmega328 (molimo pogledajte kôd u sljedećem odjeljku) zatim se umetne u utičnicu, a zatim 6N139 i sve se poveže.

LED se koristi kao pokazatelj Midi aktivnosti i montiran je na prednju stranu kućišta. Povezan je na D2 izlaz ATmega328 preko 470 ohmskog otpornika.

OLED ekran koristi napajanje od 3,3 volta sa Adafruit ploče - potrebno mu je manje od 20 mA.

Pokušajte zamijeniti dvije veze Midi Din ako ne čujete zvuk pri prvoj upotrebi sintetizatora.

Korak 3: Softver

Detalji skice koju treba postaviti na ATmega328 dati su u MidA.ino. Dostupno je sedam funkcija:

Opcija P: Promena programa - promenite GM Midi instrument sa 1 na 128 (koristio sam 0 do 127), na primer klavir ili sintetički zvuk. Opcija B: Promenite banku instrumenata između melodije (banka 0) i udaraljki (banka 1). Opcija V: Podesite jačinu zvuka od 1 do 10. Opcija C: Promijenite Midi kanal na koji će Synth reagirati. Izbori su Kanal 0, kanal 1, kanal 9 (udaraljke), kanal 0 i 9 i kanal 1 i 9. Opcija R: Uključivanje ili isključivanje efekta reverbacije. Opcija S: Spremanje trenutnih parametara u memoriju Eeproma (gore) ili Pročitajte (dolje) nazad iz Eeprom memorije. To je zato što se postavke inače ne spremaju pri isključivanju. Opcija X: Pošaljite poruku o isključenju svih bilješki (Midi Reset).

Osma opcija još nije implementirana - ovo će zaobići ATmegu kao Midi filter i spojiti izlaz optoizolatora direktno na Rx pin DSP ploče.

Imajte na umu da se VS1053b pokreće u Midi načinu rada u stvarnom vremenu učitavanjem komprimirane zakrpe od 1039 bajtova tijekom pokretanja - to također povećava veličinu Midi međuspremnika i filtrira ekskluzivne Midi bajtove podataka. Detalji o ovoj zakrpi mogu se pronaći na VLSI web stranici.

Blago izmenjena verzija biblioteke Adafruit Graphics korišćena je za rezoluciju 64x48 piksela OLED ekrana - pogledajte veze navedene na kraju za gospodina Mcausera. Lista potrebnih biblioteka data je u kodu skice.

Važno je da kada se skica prvi put izvrši na ATmega328, bilo da je na Uno -u ili samostalno, kod će učitati unaprijed postavljene parametre iz ATmega328 Eeproma koji možda nisu važeći. U tom slučaju možete ili zapisati sve nule u Eeprom koristeći opciju X s gumbom za dolje ili komentirati redak u funkciji postavljanja praznine koja učitava vrijednosti iz Eeproma pri prvom pokretanju, prilagodite svoje instrumente itd. dopadanje, a zatim spremite unaprijed postavljene postavke pomoću tipke S sa gumbom Gore.

Priznaju se sve osobe i entiteti koji se spominju za njihov kôd i biblioteke.

Korak 4: Veze

VLSI:

Adafruit:

Github VS1053b:

Github grafika:

Oled:

Sparkfun:

Korak 5: Korištenje Sparkfun ploče s bibliotekama Adafruit

Korištenje Sparkfun ploče s bibliotekama Adafruit
Korištenje Sparkfun ploče s bibliotekama Adafruit

Tablica na slici objašnjava kako spojiti Adafruit ili Sparkfun ploče za korištenje druge biblioteke.

Preporučuje se: