Sadržaj:

Micro Midi sintetizator: 5 koraka (sa slikama)
Micro Midi sintetizator: 5 koraka (sa slikama)

Video: Micro Midi sintetizator: 5 koraka (sa slikama)

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

Ova instrukcija pokazuje uporabu VLSI VS1053b Audio i Midi DSP čipa u Midi načinu rada u stvarnom vremenu. U ovom načinu rada djeluje kao 64 -glasovni polifonijski GM (General Midi) Midi sintisajzer. Arduino Uno samostalni mikro upravlja OLED zaslonom, tri gumba (Odabir funkcija i gore ili dolje, te prosljeđuje Midi tok podataka do audio DSP -a. Odabrana glazbena ploča bila je Adafruit VS1053 kodek ploča, ali Sparkfun ploča za glazbu Također je uspješno testirano. Knjižnice Adafruit VS1053b korištene su umjesto mnogo veće biblioteke SFEMP3 (preporučuje Sparkfun iako imaju i vlastiti skup knjižnica) 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 s 6-opto-izolacijskim IC-om potrebnim na Midi ulaznoj utičnici (5-polni DIN). Također je bio spojen mali (64x48) OLED štit, tri gumba, LED dioda za aktivnost Midi i priključak za cijev od +5 volti za napajanje i priključak za audio stereo izlaz. Zahtjevi za snagom su vrlo skromni - oko 20 mA na 5 volti.

Korak 1: Popis dijelova

ATmega328 Micro 28 -polni DIP + 28 -pinski DIP utičnica6N138 ili 6N139 optoizolator + 4 -pinski DIP utičnicaWemos 64x48 I2C OLED zaslon ili sličnoAdafruit VS1053b Kodek ploča za probijanje 3 minijaturna gumba 5 pin DIN Midi utičnica PCB nosač poželjnaMala LED bilo koja vrsta napajanja. 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 stupaca i 4 trake po 16 stupova), plastično kućište od ABS -a oko 85x55x25 mm, ožičenje i nekoliko vijaka matice i podloške.

Korak 2: Izgradnja

Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo

Na poklopcu kućišta nalazi se OLED zaslon, tri gumba koji su postavljeni na još jedan mali komad Veroboarda i priključak za napajanje cijevi. Glavna Vero ploča ima dvije rupe za pričvršćivanje glazbene ploče iznad ATmega328. Pojedinosti o povezivanju potražite u dijagramu 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 spoji.

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

OLED zaslon za napajanje koristi izlaz od 3,3 volta s ploče Adafruit - potrebno mu je manje od 20 mA.

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

Korak 3: Softver

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

Opcija P: Promijenite program - promijenite GM Midi instrument s 1 na 128 (koristio sam 0 do 127), poput zvuka klavira ili sintetizatora. Opcija B: Promijenite banku instrumenata između melodije (banka 0) i udaraljki (banka 1). Opcija V: Podesite glasnoću 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 te kanal 1 i 9. Opcija R: Uključivanje ili isključivanje efekta reverbacije. Opcija S: Spremanje trenutnih parametara u memoriju Eeproma (gore) ili ga pročitajte (prema dolje) natrag iz memorije Eeproma. 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 - to će zaobići ATmegu kao Midi filter i spojiti izlaz optoizolatora izravno 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 dizanja - to također povećava veličinu Midi međuspremnika i filtrira ekskluzivne Midi bajtove podataka. Pojedinosti o ovoj zakrpi mogu se pronaći na VLSI web stranici.

Nešto izmijenjena verzija biblioteke Adafruit Graphics korištena je za razlučivost OLED zaslona od 64x48 piksela - pogledajte veze navedene na kraju za gospodina Mcausera. Popis potrebnih knjižnica dat je u kodu skice.

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

Priznaju se sve osobe i subjekti koji se spominju za njihov kôd i knjižnice.

Korak 4: Veze

VLSI:

Adafruit:

Github VS1053b:

Github grafike:

Oled:

Sparkfun:

Korak 5: Korištenje Sparkfun ploče s knjižnicama Adafruit

Korištenje Sparkfun ploče s knjižnicama Adafruit
Korištenje Sparkfun ploče s knjižnicama Adafruit

Tablica na slici objašnjava kako spojiti glazbene ploče Adafruit ili Sparkfun na drugu biblioteku.

Preporučeni: