Sintetizues Micro Midi: 5 hapa (me fotografi)
Sintetizues Micro Midi: 5 hapa (me fotografi)
Anonim
Sintetizues Micro Midi
Sintetizues Micro Midi
Sintetizues Micro Midi
Sintetizues Micro Midi
Sintetizues Micro Midi
Sintetizues Micro Midi

Ky udhëzues demonstron përdorimin e çipit VLSI VS1053b Audio dhe Midi DSP në modalitetin e tij Midi në kohë reale. Në këtë mënyrë ai vepron si një sintetizues 64 -zësh polifonik GM (General Midi) Midi. Një mikro e pavarur Arduino Uno kontrollon një ekran OLED, tre butona (Zgjedhja e funksionit dhe lart ose poshtë, dhe kalon rrjedhën e të dhënave Midi në audio DSP. Bordi i muzikës i zgjedhur ishte bordi i shpërthimit të kodikut Adafruit VS1053, por një tabelë e shpërthimit të muzikës Sparkfun Bibliotekat Adafruit VS1053b u përdorën në vend të Bibliotekës shumë më të madhe SFEMP3 (e rekomanduar nga Sparkfun edhe pse ato kanë bibliotekat e tyre), sepse e kam gjetur kodin Adafruit më të lehtë për t’u kuptuar.

Pjesa më e madhe e kodit të përdorur për të kontrolluar audio/midi DSP u zhvillua duke përdorur një Arduino Uno të lidhur me bordin audio/midi breakout përmes një bordi buke. Pasi funksionet u zbuluan se funksiononin në mënyrë të kënaqshme, Uno u përdor si programues për një ATmega 328 të pavarur i cili më pas u vendos në një Veroboard të vogël me madhësi 30x20 së bashku me IC opto-izolues 6N139 të kërkuar në prizën e hyrjes Midi (një DIN 5 pin) Me Gjithashtu u lidh një mburojë e vogël (64x48) OLED, tre butona, një LED aktiviteti Midi dhe një lidhës fuçi +5 volt për energji dhe u shtua lidhësi stereo dalës audio. Kërkesat e energjisë janë shumë modeste - rreth 20 mA në 5 volt.

Hapi 1: Lista e Pjesëve

ATmega328 Micro 28 pin DIP + 28 pin DIP fole 6N138 ose 6N139 optoisolator + 4 pin DIP fole Wemos 64x48 I2C OLED Display ose të ngjashme Adafruit VS1053b Codec breakout board3 miniaturë shtytës 5 pin DIN Midi Socket PCB kabllo kabllo të vogël prizë për t'u lidhur me një përforcues ose kufje Rezistorët: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kondensatorë: 0.1uF 50v plastikë, 10uf 25v elektrolitikë, 2 x 27 pF qeramikë Pjesë të vogla të Veroboard (30 shirita me 20 kolona dhe 4 shirita) nga 16 kolona), rrethim plastik ABS rreth 85x55x25mm, instalime elektrike dhe disa vida arra dhe rondele.

Hapi 2: Ndërtimi

Ndërtim
Ndërtim
Ndërtim
Ndërtim
Ndërtim
Ndërtim

Kapaku i rrethimit ka ekranin OLED, tre butonat që janë montuar në një pjesë tjetër të vogël të Veroboard dhe lidhësin e fuqisë së fuçisë. Bordi kryesor i qarkut Vero ka dy vrima për të rregulluar tabelën e shpërthimit të Muzikës mbi ATmega328. Për detajet e lidhjes ju lutemi referojuni diagramit të pllakës së shiritit Fritzing.

ATmega328 e programuar (ju lutemi referojuni seksionit tjetër për kodin) pastaj futet në prizën e tij e ndjekur nga 6N139 dhe gjithçka lidhet.

LED përdoret si një tregues i aktivitetit Midi dhe ishte montuar në anën e përparme të rrethimit. Shtë e lidhur me daljen D2 të ATmega328 përmes një rezistence 470 ohm.

Ekrani OLED përdor fuqinë 3.3 volt nga bordi Adafruit për energji - kërkon më pak se 20 mA.

Provoni të ndërroni dy lidhjet Midi Din nëse nuk dëgjoni audio kur përdorni sintezën për herë të parë.

Hapi 3: Softuer

Detajet e skicës që duhet të ngarkohen në ATmega328 jepen në MidA.ino. Ekzistojnë shtatë funksione në dispozicion:

Opsioni P: Ndryshimi i Programit - ndryshoni Instrumentin GM Midi nga 1 në 128 (kam përdorur 0 në 127) siç është tingulli i Pianos ose Synth. Opsioni B: Ndryshoni bankën e instrumenteve midis Melodic (Banka 0) dhe Perkusionit (Banka 1). Opsioni V: Rregulloni volumin nga 1 në 10. Opsioni C: Ndryshoni kanalin Midi të cilit Synth do t'i përgjigjet. Zgjedhjet janë Channel 0, kanali 1, kanali 9 (goditje), kanali 0 dhe 9, dhe kanali 1 dhe 9. Opsioni R: Ndizni ose çaktivizoni efektin Reverb. Opsioni S: Ruani parametrat aktualë në kujtesën Eeprom (lart) ose Lexoni (Poshtë) atë përsëri nga kujtesa Eeprom. Kjo është për shkak se cilësimet përndryshe nuk ruhen kur fikeni. Opsioni X: Dërgoni një mesazh të të gjitha shënimeve (Midi Reset).

Një opsion i tetë nuk është zbatuar ende - kjo do të anashkalojë ATmega si një filtër Midi dhe do të lidhë daljen e optoisolatorit direkt me kunjin Rx të bordit DSP.

Vini re se VS1053b fillon në një mënyrë Midi në kohë reale duke ngarkuar një arna të ngjeshur 1039 bajt gjatë nisjes - kjo gjithashtu rrit madhësinë e tamponit Midi dhe filtron bajtët ekskluzivë të të dhënave të Midi të sistemit. Detajet e këtij arna mund të gjenden në faqen e internetit të VLSI.

Një version pak i modifikuar i bibliotekës Adafruit Graphics ishte përdorur për të kujdesur për rezolucionin 64x48 pixel të ekranit OLED - ju lutemi referojuni lidhjeve të dhëna në fund për z. Mcauser. Një listë e bibliotekave të kërkuara jepet në kodin e skicës.

Më e rëndësishmja kur skica ekzekutohet për herë të parë në ATmega328 nëse është në Uno ose e pavarur, kodi do të ngarkojë paravendosjet e parametrave nga ATmega328 Eeprom që mund të mos jenë të vlefshme. Në atë rast ose mund t'i shkruani të gjitha zero në Eeprom duke përdorur opsionin X me butonin poshtë, ose të komentoni vijën në funksionin e konfigurimit të zbrazët që ngarkon vlerat nga Eeprom kur është nisur për herë të parë, të rregulloni instrumentet tuaj etj. ju pëlqen, dhe më pas ruani paravendosjet tuaja me butonin e opsionit S Up.

Kredia u jepet të gjithë personave dhe subjekteve të përmendur për kodin dhe bibliotekat e tyre..

Hapi 4: Lidhjet

VLSI:

Adafruit:

Github VS1053b:

Grafika Github:

Oled:

Sparkfun:

Hapi 5: Përdorimi i Bordit Sparkfun Me Bibliotekat Adafruit

Përdorimi i Bordit Sparkfun Me Bibliotekat Adafruit
Përdorimi i Bordit Sparkfun Me Bibliotekat Adafruit

Tabela në figurë shpjegon se si të lidhni ose Adafruit ose Sparkfun Music Boards për të përdorur një bibliotekë tjetër.