MIDI na limone

Kako iz Arduina spraviti resen zvok?

(Tale blog vsebuje precej povezav, med katerimi so tudi takšne, ki kažejo na izdelke v kitajskih trgovinah. Samo za ilustracijo; če najdete kakega cenejšega — sploh, ko tile ne bodo več na voljo –, pa toliko boljše. )

Na Arduina lahko priključimo preprost zvočnik, ki ga upravljamo s funkcijo tone(pin, frekvenca, trajanje). Poceni, priročno, a skromno. Če hočemo kak resen zvok, potrebujemo MIDI.

MIDI je preprost protokol, po katerem se pogovarjajo klaviature, sintesizerji, računalniki…Tule pa bomo imeli namesto klaviature Arduina.

Kako Arduino postane MIDI enota?

Relativno preprosti načini so vsaj trije.

Prvi: na Arduina priključimo pet-polno žensko DIN vtičnico, kakršno imajo MIDI klaviature ali sintesizerji. Kupimo si vmesnik, s katerim lahko priključimo klaviaturo na računalnik (povezava na DealExtreme le zato, ker je morda stabilnejša od AliExpressa in podobnih). Na računalniku pa poženemo program, ki sprejema MIDI ukaze s klaviature (ali Arduina) in igra. Zdaj lahko napišemo program, ki pošilja MIDI ukaze prek te vtičnice in vmesnika. Ni zapleteno, zahteva pa nekaj igranja z žicami.

Drugi: ko priključimo Arduina na računalnik, ta ve, da smo priključili Arduina. Arduinu Uno (originalnemu in nekoliko dražjim kitajskim različicam) lahko zamenjamo program, s katerim komunicira prek USBja tako, da bo računalnik mislil, da gre za tipkovnico ali miško. Ali za MIDI klaviaturo. Lepota tega je, da ne zahteva nobenega posebnega kablovja. Arduino priključimo na računalnik in s Serial.write pošiljamo MIDI ukaze. Tudi o tem se bo vredno nekoč razpisati.

Tretji: kupimo MP3 predvajalnik za Arduina, ki temelji na čipu VS1053. Ta zna namreč sprejemati tudi MIDI ukaze. To je najdražja različica (če je 8-9 dolarjev drago, in če je 8-9 dolarjev več kot 5 dolarjev za vmesnik z MIDI na USB, ki ga potrebujemo v prvi različici), imenitna pa je, ker zanjo ne potrebujemo računalnika, temveč predvajalnik preprosto priključimo na slušalke ali ojačevalec.

Sintesizer

Projekta sva se lotila s sinom, ki je moral pripraviti govorni nastop pri slovenščini in se je odločil predstaviti Arduina. Lep izgovor, da je še njegov oče zabijal čas z igračkanjem.

Ubrala sva tretjo pot, saj ne zahteva računalnika, pa še atraktivnejša je, ker bo z Arduina viselo več žic.

Uporabila sva Arduina Nano, ker ima za razliko od originalnega Una osem analognih vhodov, na katere lahko priključimo osem limon. Obstajajo tudi različice Arduina Uno z osmimi analognimi vhodi, vendar sva tule vzela Nana, da sva ga lahko vtisnila v poskusno ploščo.

Nedolžne opazovalce navadno fascinirajo na Arduina priključene limone. To je seveda najpreprostejše od vsega: na analogne vhode sva priključila 10-mega ohmske pull-up upore in limone. Ta, ki igra nanje, mora biti ozemljen; ko napetost na analognem vhodu pade pod, recimo tri volte, vemo, da se dotika limone.

Da bomo lahko spreminjali inštrumente, sva dodala dve tipki in sedemsegmentni zaslon s štirimi števkami, ki kaže številko inštrumenta.

Na koncu pa še najpomembnejši del: ploščica z VS1053. Medtem ko je ostalo trivialno, nama je tale ploščica vzela sedem digitalnih pinov in precej časa, preden sva odkrila, kako jo pravilno povezati prepričati, naj sprejema MIDI ukaze (učeno: VS1053 je mogoče preklopiti v realtime MIDI mode). Čeprav je po tem, ko veš, tudi to čisto preprosto.

Da blog ne bo preveč tehničen, se ustavimo tu. Program s podrobnejšimi navodili z vezavo, pa kdaj drugič, kje drugje.

Rezultat

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje obvezna polja