Kazalo:

MIDI sonar "Theremin": 10 korakov (s slikami)
MIDI sonar "Theremin": 10 korakov (s slikami)

Video: MIDI sonar "Theremin": 10 korakov (s slikami)

Video: MIDI sonar
Video: Open Theremin with MIDI Musical Instrument Digital Interface 2024, November
Anonim
MIDI sonar
MIDI sonar

To je glasbeni instrument, ki uporablja dva sonarna senzorja razdalje za nadzor višine in kakovosti not. Seveda ne gre za Theremin, vendar je "Theremin" postal splošni izraz za inštrumente, ki se igrajo z mahanjem z rokami.

Vgrajen ima MIDI sintetizator, ojačevalnik in zvočnike. Glasbene note ustvarja čip MIDI - VS1053 - ki ima 127 glasov (tj. Domnevno drugačna glasbila). Ima visoko stopnjo polifonije (do 64), zato lahko predvaja posamezne note ali akorde.

Vaša desna roka nadzoruje noto, ki se predvaja. V "diskretnem" načinu je prostor na desni razdeljen na "koše". Ko vaša roka vstopi v koš, se začne zapisek za ta koš. Ko zapustite koš, se lahko nota ustavi (npr. Orgle) ali izgine naravno (npr. Klavir).

V "neprekinjenem" načinu prostor na desni določa neprekinjeno spremenljivo višino - tako kot izvirni Theremin. Opomba se začne, ko roka vstopi v prostor, in se ustavi, ko zapustite prostor.

Leva roka nadzoruje kakovost predvajane note. Lahko nadzoruje glasnost, tremolo, vibrato, pitch-bend, reverb itd.

Majhen LCD zaslon ima meni, ki vam omogoča izbiro trenutnega instrumenta, funkcijo leve roke, lestvico (ali "tipko") desne roke, vibrato, tremolo itd. Shranite in naložite lahko različne "nastavitve" "in med nastopom hitro preklapljajte med njimi.

Celoten instrument MIDI "Theremin" deluje samostojno z lastnim zvočnikom in baterijo za ponovno polnjenje.

Če boste kopirali mojo gradnjo, boste potrebovali Arduino Nano (1,50 GBP), modul VS1053 (4,50 GBP), 1,44-palčni LCD zaslon ST7735 (3,50 GBP), dva modula HC-SR04 (1 GBP vsak) in nekaj uporov. Potrebovali boste tudi nekaj zvočnikov z napajanjem in morda litijevo celico ter napajalnik, podrobnosti pa bodo odvisne od tega, kako se boste odločili za njegovo izdelavo. Vse te dodatke sem dobil iz prodajaln prtljažnikov in dobrodelnih trgovin. Potrebovali boste običajne elektronske pripomočke za delavnice.

1. korak: Nadzor VS1053

Upravljanje VS1053
Upravljanje VS1053
Upravljanje VS1053
Upravljanje VS1053

Izbral sem modul VS1053, prikazan na sliki. (Upoštevajte dva regulatorja SOT223, dve vtičnici in položaj priključka.) Poiščite modul VS1053, ki izgleda tako, na eBayu, Alibabi ali pri vašem najljubšem dobavitelju. Tu in tukaj so na voljo na Aliexpressu.

Kupil sem ga pred nekaj leti in zdi se, da ni več na voljo na eBayu, samo na Alibabi. Rdeča različica tiskanega vezja je zdaj na voljo na eBayu. Zdi se, da je funkcionalno enak, vendar je pinout drugačen, zato boste morali prilagoditi moje sheme in postavitve. Nisem ga testiral. V razpravi (spodaj) lahko najdete navodila, kako na rdečo tiskano vezje dodati upor, da omogočite "živi" MIDI. Ali pa lahko med nastavitvijo pošljete dodatne ukaze, da to omogočite.

VS1053 je lep čip, vendar precej zapleten. Uporabljam samo del MIDI. VS1053 je mogoče upravljati prek serijskega vmesnika, vendar uporabljam vodilo SPI, saj je to bolj primerno z Arduino Nano. Vsak bajt, ki ga pošljete po vodilu SPI, se obravnava kot ukaz MIDI.

V spletu boste našli sezname ukazov MIDI. VS1053 se odziva na nekatere, vendar ne na vse. Program Miditheremin0.exe prikazuje tiste, za katere vem, da delujejo.

Podatkovni list VS1053 lahko prenesete s spleta. To je velik dokument in težko napreduje. Oddelek "8.9 Podprti formati MIDI" je skoraj vse, kar piše o MIDI. Poglavje "10.10 MIDI v realnem času" govori o uporabi GPIO0 in GPIO1 za omogočanje MIDI, vendar plošča, ki jo imam, ni zahtevala nobenega posebnega omogočanja. Prav tako lahko prenesete seznam sporočil MIDI (ki jih VS1053 ne podpira vseh).

Priključite modul VS1053 na Arduino Nano, kot je prikazano, in naložite datoteko INO v Arduino. Uporabil sem desko brez spajkanja. Na tej stopnji nimam njene fotografije, vendar si lahko v spodnjem koraku ogledate ploščico z drugimi komponentami.

Skica INO prejme bajt iz osebnega računalnika po serijski liniji in ga pošlje v VS1053. To je zelo preprost program, ki vam omogoča preizkus VS1053. Priključite izhodno vtičnico v slušalke ali zvočnik računalnika.

Program Windows Miditheremin0.exe (prenesite Step1.zip iz github) pošilja ukaze v VS1053. Kliknite gumb "90 note vel" za predvajanje note. Ali pa lahko napišete svoj program za Windows. Ali pa uporabite enega od številnih terminalskih programov, ki so na voljo v spletu.

Modul VS1053 ima naslednje zatiče:

  • vodilo SPI ima običajne MISO, MOSI in SCLK
  • če je XRST nizek, se čip ponastavi
  • XDCS v načinu SPI ne počne ničesar, zato ga povežite z XCS
  • XCS je Chip Select
  • DREQ vam pove, kdaj je čip pripravljen za nov ukaz.

Med pošiljanjem bajta je treba XCS nastaviti nizko; potem visoko. Tako ste prepričani, da ste sinhronizirali prvi bit vsakega bajta. Branje DREQ vam pove, da je čip pripravljen za sprejem novega ukaza.

Ko Arduino pošlje bajt, mora poslati lažni bajt, da preklopi uro in omogoči VS1053, da v odgovor pošlje bajt nazaj. Funkcija SPItransfer () vam pokaže, kako.

Rdeči modul, ki je na voljo na eBayu, vključuje režo za kartico SD, tako da ima nekaj dodatnih zatičev. Ignorirajte jih.

Zdaj ste prepričani, da lahko VS1053 deluje, spremenili ga bomo v bolj glasbeni inštrument.

2. korak: Uporaba sonarjev

Uporaba sonarjev
Uporaba sonarjev
Uporaba sonarjev
Uporaba sonarjev

Povežite module HC-SR04 z Arduino Nano, kot je prikazano, in naložite datoteko INO v Arduino.

Na shemi upoštevajte, da je treba DC3 - ločilni kondenzator za module HC -SR04 - priključiti blizu modulov HC -SR04. Ko oddajajo, kateri DC3 pomaga pri oskrbi, vzamejo velik tok.

V tej fazi projekta računalnik z operacijskim sistemom Windows še vedno pošilja ukaze VS1053, vendar VS1053 nadzirajo tudi senzorji sonarja HC-SR04 (prenesite Step2.zip iz github-a).

Novi ukazi se začnejo z 0xFF in jih razlaga skica Arduino (namesto da bi bili poslani naravnost v VS1053). V VS1053 se pošljejo bajti, ki niso "ukaz FF".

Obstajajo ukazi za spremembo instrumenta, spreminjanje lestvice, dodajanje vibrata in tremola itd. Program lahko izvajate v "diskretnem" načinu, kjer obstajajo ločene note (na primer klavir), ali v "neprekinjenem" načinu, kjer je ena sama nota upognjen gor in dol (kot tammin).

Odlično deluje vse, kar naredi zadnji instrument, vendar ga nadzoruje računalnik.

Desni senzor sonarja HC-SR04 izbere višino tona, ki se predvaja. V "diskretnem" načinu je prostor na desni razdeljen na "koše". Ko vaša roka vstopi v koš, se začne zapisek za ta koš. Ko zapustite koš, se lahko nota ustavi (npr. Orgle) ali izgine naravno (npr. Klavir). Ko vaša roka vstopi v zabojnik, se pladenj rahlo razširi, tako da na njegovem robu ne tresete.

Funkcija GetSonar () vrne čas do prvega odmeva. Ne upošteva zelo hitrih odmevov (trajanje <10), o katerih včasih poroča HC-SR04. Če maxDuration ni prejel nobenega odmeva, vrne maxDuration. Trajanje se ne meri v nobeni posebni enoti - to je samo številka.

V diskretnem načinu se trajanje najprej filtrira, da se odstranijo občasni osipi (ko ni odmeva). Predvideva se, da je roka prisotna šele po prejemu 10 vzorcev maxDuration. Nato se trajanje filtrira s srednjim filtrom. Srednji filtri so dobri pri odstranjevanju "impulzivnega" hrupa (to je občasnih konic). Filtrirano trajanje se uporablja za izbiro koša.

V neprekinjenem načinu se trajanje znova filtrira, da se odstranijo občasni osipi. Nato se zglasi z eksponentnim filtrom. Filtrirano trajanje se uporablja za nastavitev frekvence note z uporabo "pitch bend".

3. korak: Dodajanje zaslona

Dodajanje zaslona
Dodajanje zaslona
Dodajanje zaslona
Dodajanje zaslona
Dodajanje zaslona
Dodajanje zaslona

Zaslon je 1,44-palčni barvni TFT LCD zaslon s krmilnikom ST7735, 128 x 128 slikovnih pik. Na eBayu je na voljo veliko zaslonov, na primer bi morda raje razvili svoj instrument z večjim zaslonom na dotik. ST7735 ne bi uporabljal. krmilnik in ga želel preizkusiti.

Jaz sem svojega dobil od tega dobavitelja. Isti modul se na eBayu pogosto prodaja - kupite samo enega, ki je enak fotografiji.

LCD ima naslednje zatiče:

  • GND tla
  • VCC 3.3V
  • SCL SPI vodilo SCLK
  • SDA SPI avtobus MOSI iz Arduina
  • RES ponastavitev
  • DC podatki/ukaz
  • Izbira čipa CS
  • BL osvetlitev ozadja

Modul deluje na 3.3V, zato ga ne smete priključiti neposredno na 5V Arduino. Za znižanje napetosti sem uporabil 1k uporov. To ni dobra praksa (na splošno bi morali uporabiti razdelilnik potenciala ali čip za zmanjšanje napetosti), vendar v tem vezju deluje popolnoma dobro. Bil sem len.

Zaslon napaja 3.3V Arduino. Arduino regulator je videti dovolj srečen.

Adafruit zelo prijazno objavlja knjižnico ST7735, več drugih knjižnic pa je na voljo v Githubu in drugod. Nekaj sem jih poskusil in nobena mi ni bila všeč. Nekateri preprosto niso delovali in vsi so bili ogromni. Napišete skico Arduino, ki nariše črto in nekaj besedila, in našli boste svoj spomin, če je 75% poln. Tako sem napisal svojo knjižnico.

Knjižnico SimpleST7735 lahko prenesete (prenesite Step3.zip iz github -a).

Ima standardni nabor ukazov za risanje, ki je zelo podoben vsem takšnim knjižnicam.

Nekatere "hitre" knjižnice, ki jih lahko prenesete, uporabljajo posebne časovne zanke in so motene, ko se na istem vodilu uporabljajo druge, morda počasnejše naprave. SimpleST7735 je napisan v jeziku C namesto v sestavi, zato ni tako hiter, kot bi lahko bil, vendar je veliko bolj prenosljiv in vljudno deli vodilo SPI z drugimi napravami. Lahko prenesete program Windows, ki vam omogoča, da sami ustvarite pisave in ikone.

Podatkovni list ST7735 lahko prenesete s spleta. Z njim se pogovarjate po

  • nastavite nizko vrednost CS
  • nastavite DC na nizko
  • pošljite ukazni bajt
  • nastavite DC na visoko
  • pošiljanje nič ali več podatkovnih bajtov
  • nastavite CS visoko

Kako to počnem, si lahko ogledate v funkciji spiSend_TFT_CW () v knjižnici. Podatkovni bajti so lahko cela vrsta slikovnih pik ali nastavitev za kontrolni register.

Funkcija ST7735Begin () v knjižnici prikazuje niz ukazov za inicializacijo, ki sem ga izbral. Ukaze lahko spremenite, če izberete drug zaslon ST7735 (npr. Z več slikovnimi pikami) ali želite drugačno orientacijo. Upam, da boste z mojo kodo videli, kako jo spremeniti, če jo potrebujete.

Shema prikazuje nadzorni gumb "SW1" in nožni pedal SW2 ". Krmilni gumb izbere različne" nastavitve "(glej naslednji korak) ali izbere način menija. Nožni pedal je neobvezen in izbere samo različne nastavitve - nisem Sam sem namestil nožni pedal. Nastavitve so uporabne med nastopom, ko želite hitro spremeniti ključ ali instrument.

4. korak: Menijski sistem

Menijski sistem
Menijski sistem
Menijski sistem
Menijski sistem

Ta skica Miditheremin3.ino Arduino dodaja menijski sistem k MIDI Theremin in nadzoruje končni celoten instrument.

MIDI Theremin običajno deluje v načinu "Play". Z desno roko izberete, katera opomba, z levo pa nadzoruje kakovost zapiska. LCD prikaže klavirsko tipkovnico s poudarjeno aktualno noto.

Če za eno sekundo držite gumb za upravljanje, bo program prešel v način "Meni". Če v menijskem načinu eno sekundo držite krmilni gumb, se program vrne v način "Predvajaj".

Meni ima drevesno strukturo z glavnimi in podpostavkami. Trenutna postavka menija je označena. Izbirno možnost premikate gor/dol preko levega sonarja. Podmeniji za glavno postavko se razširijo le, če je izbrana glavna postavka.

Ko izberete podmeni, ko kliknete gumb, je vrednost tega elementa označena. Leva roka zdaj povečuje ali zmanjšuje vrednost. Znova kliknite gumb, da se vrnete na izbiro podmenijev.

V diskretnem načinu je drevo menija

  • Instrument

    • 0: Veliki klavir
    • Zamenjava rok: normalno
  • Desna roka

    Način: diskreten

  • Leva roka
    • Način: Vibrato
    • Največja globina: 10
  • Lestvica
    • Lestvica: glavna heptatonska
    • Oktave: 2
    • Najnižja opomba: 60 C
  • Akord

    • Akord: Major triada
    • Inverzija: 0
    • Polifonija: 1
  • Tremolo

    • Velikost: 20
    • Obdobje: 10
  • Vibrato

    • Velikost: 20
    • Obdobje: 10

Instrument je lahko "Veliki klavir", "Cerkvene orgle", "Violina" itd. V VS1053 je 127 inštrumentov, od katerih mnogi zvenijo enako in mnogi so neumni kot "strel". Podmeni Swap Hands vam omogoča zamenjavo funkcij leve in desne roke - morda vam je ljubše tako ali pa želite, da se govorci soočijo z občinstvom.

Desna roka je lahko "diskretna" ali "neprekinjena". Spodaj si oglejte "neprekinjen" meni.

Leva roka lahko nadzoruje »Glasnost«, »Tremolo«, »Vibrato«, »PitchBendUp«, »PitchBendDown«, »Reverb«, »Polifonija« ali »ChordSize«.

"Glasnost" je očitna. "Tremolo" je hitra variacija obsega; leva roka nadzoruje velikost variacije; obdobje je nastavljeno z drugo postavko menija. "Vibrato" je hitra sprememba višine; leva roka nadzoruje velikost variacije; obdobje je nastavljeno z drugo postavko menija. "PitchBendUp" in "PitchBendDown" spremenita glasnost note, ki se predvaja; leva roka nadzoruje velikost ovinka. "Reverb" je v VS1053 precej impresiven; leva roka nadzoruje velikost odmeva. "Polifonija" nadzoruje, koliko not se hkrati predvaja do največje vrednosti, ki jo določi meni Polifonija (glej spodaj). "ChordSize" pomeni, da leva roka nadzoruje, koliko nota akorda (glej spodaj) se predvaja.

V glasbi je "lestvica" ali "ključ" podskupina not, ki jih uporabljate. Če bi se na primer omejili na heptatonsko lestvico C -dura, bi igrali le bele note klavirja. Če bi izbrali C# Major Pentatonic, bi uporabili samo črne note (npr. Za škotske ljudske melodije).

Meni Scale izbere, katerim opombam ustreza desni prostor in koliko oktav zajema desni prostor. Če torej izberete 1 oktavo E -dura, je desni prostor razdeljen na 8 zabojnikov z E na najnižji stopnji in E eno oktavo zgoraj na najvišji višini.

Meni Scale vam omogoča, da izberete veliko nenavadnih lestvic "zahodne glasbe", vendar predvideva, da so vse note iz enakomerne tipkovnice-tako deluje MIDI, ne morete zlahka določiti frekvence note. Če bi torej želeli, recimo, arabsko četrtinsko tonsko lestvico, bi bili v težavah.

Podmeni Octaves vam omogoča, da izberete, koliko oktav lestvice želite. Najnižja opomba pa pravi, kje se lestvica začne.

Običajno se med predvajanjem note oglasi le ta. Meni Chord vam omogoča predvajanje več not hkrati. Akord velike triade pomeni "igraj izbrano noto plus noto za štiri poltone višje in noto za sedem poltonov višje".

Podmeni Inverzija vam omogoča obračanje akordov. To pomeni, da premakne nekatere note akorda na eno oktavo spodaj. Prva inverzija premakne vse "dodatne" note za oktavo navzdol, druga inverzija premakne eno manj dodatnih not navzdol itd.

Podmeni Polyphony pove, koliko not se predvaja hkrati; če je polifonija 1, potem, ko se začne ena nota, se prejšnja ustavi; če je večglasje večje, se lahko prekriva več not - poskusite s cerkvenimi orglami.

Meni Tremolo določa globino katerega koli tremola in obdobje cikla tremola. Obdobje "100" pomeni en cikel na sekundo. Če leva roka upravlja tremolo, je podmeni Velikost skrit.

Meni Vibrato določa velikost katerega koli vibrata in obdobje cikla vibracija. Če leva roka nadzoruje vibracijo, je podmeni Velikost skrit.

Program vam omogoča shranjevanje in nalaganje do 5 različnih "nastavitev". Namestitev shrani vse vrednosti, ki jih lahko nastavite v meniju. Ko zapustite menijski način, se trenutna nastavitev shrani. Nastavitve se shranijo v EEPROM.

V načinu predvajanja se s klikom na gumb spremeni v naslednjo nastavitev. Če gumb držite pritisnjeno eno sekundo, se prikaže meni. S pritiskom na nožni pedal se tudi spremeni v naslednjo nastavitev; nožni pedal nikoli ne izbere menija.

V neprekinjenem načinu je drevo menija

  • Instrument

    • 0: Veliki klavir
    • Zamenjava rok: normalno
  • Desna roka

    Način: neprekinjeno

  • Domet

    • Število poltonov: 12
    • Srednja nota: 60 C
  • Leva roka
    • Način: Tremolo
    • Največja globina: 10
  • Tremolo

    • Velikost: 20
    • Obdobje: 10
  • Vibrato

    • Velikost: 20
    • Obdobje 10

Meni Range izbere, kakšno območje frekvenc določa desna roka: število pokritih poltonov in srednja nota.

Leva roka lahko nadzoruje samo "Glasnost", "Tremolo" in "Vibrato".

5. korak: Spajkajte skupaj

Spajkanje skupaj
Spajkanje skupaj
Spajkanje skupaj
Spajkanje skupaj
Spajkanje skupaj
Spajkanje skupaj

Zgradil sem vezje na traku. Ne vidim smisla, da bi PCB enkrat naredili samo s štirimi upori, vendar se zavedam, da nekateri ljudje ne marajo traku.

Moja postavitev traku je prikazana zgoraj. Štiri plošče - Arduino, VS1053, zaslon in trak - tvorijo sendvič. V postavitvi je obris Arduina rumen, VS1053 modra, zaslon je zelen in trak je oranžen.

Cijan črte so bakreni trakovi traku - po potrebi vstavite premore. Rdeče črte so povezave na sestavni strani traku ali žice, ki gredo drugam.

Za ploščo VS1053 sem uporabil zelo dolge zatiče, ker stoji nad Arduinom. Zatiči na skrajnih kotih zaslona in plošče VS1053 jih pomagajo stabilizirati. Montažne luknje modulov so prevlečene, tako da jih lahko spajkate. Poskrbite, da vaši niso povezani z maso - montažne luknje mojih modulov niso.

Če imate drug modul VS1053 ali drug zaslon, lahko spremenite zatiče Arduino:

  • D2 do D10 in A0 do A5 lahko uporabite v poljubnem vrstnem redu; posodobite številke pin blizu začetka skice INO
  • D11, D12, D13 so namenjeni SPI in jih ni mogoče znova dodeliti
  • D0, D1 sta namenjena serijskim V/I
  • A6, A7 ni mogoče uporabiti kot digitalne zatiče

Moduli HC-SR04 so med seboj 90 ° povezani s kosom traku. Gumb je med njima. Brez dvoma boste imeli svoj želeni dizajn.

Če se odločite za nožni pedal, ga priključite prek vtičnice.

6. korak: Dodajanje napajalnika

Dodajanje napajalnika
Dodajanje napajalnika
Dodajanje napajalnika
Dodajanje napajalnika
Dodajanje napajalnika
Dodajanje napajalnika

Izmeril sem skupni tok Arduina, VS1053 in zaslona kot 79mA. Glede na podatkovne liste je Arduino 20 mA, zaslon 25 mA, VS1053 11 mA in HC -SR04 po 15 mA, ko "deluje" - zato se zdi 80mA približno v redu.

Zaslon porabi 25 mA in se napaja iz 3V3 izhoda Arduina, ki je ocenjen na 50mA. Torej vezje ne bi smelo obremeniti Arduinovega regulatorja 3V3.

Ali lahko napajamo vezje prek vtiča Arduino's Vin? Na tem mestu nikjer na spletu ne najdem odgovora. Tega v dokumentaciji Arduino ni. Vgrajeni regulator 5V bo razpršil (Vin-5)*80 mW. Kakšna je njegova največja disipacija? Zdi se, da nihče v resnici ne ve. Po njegovem podatkovnem listu lahko regulator NCP1117 v paketu SOT-223 z minimalno bakreno blazinico razprši 650mW. Torej za tok 80mA,

  • Vin Power
  • 8V 240mW
  • 9 320
  • 10 400
  • 11 480
  • 12 560
  • 13 640
  • 14 720

Zaradi varnosti mislim, da na Vinu ne smemo preseči 9V.

Zunanji 5V napajalnik bi bil veliko varnejši, vendar sem uporabil regulator Arduino in je v redu.

Za napajanje vezja sem izbral modul, ki združuje LI-ionski polnilnik in ojačevalnik. Na voljo so na eBayu ali poiščite "Li Charger Boost".

Polnilnik uporablja čip TC4056, ki ima zapleten algoritem konstantnega toka in konstantne napetosti. Ko odstranite vhod za napajanje USB, preide v stanje pripravljenosti z manj kot 2 uA baterije. TC4056 ima vhod za zaznavanje temperature, vendar ni na voljo na plošči modula (pin je ozemljen).

Ojačevalno vezje je domnevno 87-91% učinkovito v normalnem območju napetosti akumulatorja z izhodnim tokom 50-300mA. (Sam nisem meril.) To je precej dobro.

Njegov tok v stanju pripravljenosti, ko odstranite obremenitev, je 0,3 mA, kar je slabo. Celico 300 mAH bi izčrpali v 6 tednih. Morda bi se tako izpraznila, da bi napetost padla na škodljivo raven.

Obstaja ena skladba, ki povezuje baterijo z napajalno enoto. Skladbo lahko preprosto odrežete (glejte fotografijo). Spajajte žico na veliki upor na vrhu, tako da lahko premostite rez s stikalom.

Tok, ki sem ga preizkusil, je zdaj 0,7uA. Celica bo torej trajala 50 let-seveda ne, samopraznjenje Li-ionske celice je okoli 3% na mesec. 3% na mesec za 300mAH celico je tok 13uA. Primerjajte to s 300uA, ki potrebuje ojačevalno vezje. Mislim, da je vredno izklopiti ojačevalno vezje.

Med polnjenjem celice ne smete vklopiti tovora. Tok, ki ga porabi obremenitev, bo zmedel algoritem polnjenja.

Zato potrebujete 2-polno preklopno stikalo (npr. Drsno stikalo), ki je v položaju "Vklopljeno" ali "Polnjenje".

Vgrajeno vtičnico USB lahko prezrete in ločite žice do stikala in lastne vtičnice USB.

Lahko pa obdržite vgrajeno vtičnico in prekinite povezavo med vtičnico in čipom. Zgornji diagram prikazuje, kje morate rezati.

5V izhod ojačevalnega napajalnika priključite na 5V pin Arduina. Ljudje pravijo "ne delaj tega - mimo zaščitne diode Arduino". Toda Nano nima vtiča, priključenega na USB stran diode. Samo priključite na 5V pin. Kaj je najhujše, kar se lahko zgodi? Izgubite Nano, ki stane manj kot 3 £.

Vezje napajalnika mora napajati tudi ojačevalnik za zvočnike.

7. korak: Dodajanje zvočnikov

Dodajanje zvočnikov
Dodajanje zvočnikov

Želel sem, da bi bil MIDI Theremin prenosljiv. Vključevati mora lastne zvočnike in ojačevalnik.

Lahko bi zgradili svoj ojačevalnik ali kupili ojačevalni modul, nato pa kupili zvočnike in jih dali v ohišje. Toda kaj je smisel? V svojem techno-midden-u imam pol ducata zvočnikov, ki sem jih kupil v dobrodelnih trgovinah in prodajalnih prtljažnikov za manj kot 1 funt vsak.

Bledo modri zvočniki so uporabljali le 30 mA pri 5 V, vendar imajo slab odziv nizkih tonov. Črni radio je lepe oblike - predstavljam si, da bi na vogale namestil module HC -SR04, zaslon pa na zgornjo površino. Sive ploščate plošče se napajajo iz vtičnice USB, kar je idealno.

Z malo iskanja bi morali najti zvočnike z močjo, ki že imajo lepo ohišje. Prepričajte se, da delujejo pri napetosti vašega napajalnika. Če ga napajajo štiri celice AA, bo verjetno deloval pri 5V.

Sem pa poglobil še v techno-midden in našel zelo lepo priklopno postajo, ki sem jo dobil na stojnici "vse za 0,50 funtov". Izgubil je polnilec in daljinski upravljalnik, vendar deluje dobro.

Če ste odločeni, da boste izdelali lastne zvočnike, je tukaj dober Instructable. Ali pa poiščite PAM8403 ali ojačevalnik z navodili.

8. korak: Priključna postaja

Priključna postaja
Priključna postaja
Priključna postaja
Priključna postaja
Priključna postaja
Priključna postaja
Priključna postaja
Priključna postaja

To je zelo lepa prenosna priklopna postaja Logitech. Ni verjetno, da boste dobili enakega, vendar bodo načela gradnje podobna.

Priključna postaja vključuje lastno polnilno litij-ionsko celico in napajalno enoto. (Če vaš ne ustvari zgoraj opisanega napajalnika in preskočite naslednjih nekaj odstavkov.)

Če ima vaš ojačevalnik Li-ionsko celico, potem ima verjetno ojačevalnik. (Napetost posamezne Li-ionske celice je neprijetno nizka, zato jo je treba povečati.)

Najprej poiščite priključke za napajanje ojačevalnika. Napajalnik bo imel velike zglajevalne kondenzatorje - glejte fotografijo neželenega tiskanega vezja. Izmerite napetost na njihovih spajkalnih blazinicah na spodnji strani. Negativna ploščica mora biti "ozemljitvena" plošča vezja. Če je bila plošča napolnjena s poplavo, jo bomo zmleli. Ali pa je tla lahko debela steza, ki se razteza na mnogih mestih na deski.

Na izhodni stopnji ojačevalnika so lahko veliki kondenzatorji - to je staromoden način. Med delovanjem izmerite napetost na njih. Verjetno se bo razlikoval glede na glasbo in lahko v povprečju znaša polovico napetosti kondenzatorjev za napajanje. To so napačni kondenzatorji - želite tiste v napajalniku.

Zelo malo je verjetno, da bo plošča imela tako pozitivno kot negativno moč (veliki stereo ojačevalniki imajo, vendar nikoli nisem videl tako lahkega). Prepričajte se, da ste res izbrali podlago in pozitivno moč.

Priklopna postaja Logitech, ki jo uporabljam, ima zapleteno digitalno vezje in analogni ojačevalnik. Če je vaš tak, bo imel zglajevalne kondenzatorje za 5V ali 3.3V plus morda 9V za ojačevalnik. Izmerite napetosti v vseh velikih kondenzatorjih in izberite največjo napetost.

Prepričajte se, da je napetost napajalne povezave, ki ste jo izbrali, odvisna od stikala za vklop/izklop. (Ko izklopite stikalo, lahko traja nekaj časa, da napetost pade, ko se kondenzator izprazni.)

Spajkajte žice na vse, kar ste izbrali za vir energije. Priključna postaja Logitech proizvaja okoli 9 V, ki se bo lepo povezala z Vin pin Arduina.

Zvočniki ali priklopna postaja z napajanjem morajo imeti 3,5 mm priključek za avdio vhod. Eden od spajkalnih spojev bo brušen - verjetno tisti, ki je najbližje robu plošče. Z ohmmetrom preverite, ali je povezan z ozemljitvijo. Z nekaterimi avdio vhodi "ščit" priključka ni povezan neposredno z maso. Lebdi. Če torej noben od vtičnic ni ozemljen, naj vas zaenkrat ne skrbi. ("Ščit" vtičnice na modulu VS1053 prav tako plava.)

Z merilnikom preverite, ali je "ozemljitveni" vtič vtičnice na isti napetosti kot ozemljitev napajalnika.

Priključna postaja Logitech je bila čudna. Če sem "ozemljitev" vtičnice Logitech priključil na "ozemljitev" plošče VS1053 (z uporabo zvočnega kabla je delovalo dobro, vendar se je tok v sistemu Theremin povečal z 80 mA na več kot 200 mA. Zato sem se prepričal Nisem povezal teh dveh "razlogov". Dobro deluje, vendar nimam pojma, kaj se dogaja.

9. korak: Ustvarjanje primera

Ustvarjanje primera
Ustvarjanje primera
Ustvarjanje primera
Ustvarjanje primera
Ustvarjanje primera
Ustvarjanje primera
Ustvarjanje primera
Ustvarjanje primera

Kakšen primer boste naredili, bo odvisno od materialov, ki jih imate pri roki, s kakšnim užitkom delate in izbranih zvočnikov. Karkoli naredite, mora zagotoviti, da sonarji gledajo drug od drugega in navzgor pri 45 °. Nato bo prikazan zaslon in gumb.

Če ste pogledali moje druge Instuctables, boste vedeli, da sem velik oboževalec pločevine. Lahko se upogne v obliko, mehko spajka in pobarva. Fotografije prikazujejo, kako sem stvari uredil.

Zgornji trikotnik je upognjen, spajkan, napolnjen, zglajen in pobarvan. Plošče so vroče lepljene v trikotniku in imajo majhne lesene rezine, ki delujejo kot distančniki.

"Sprednja plošča" je 1 mm polistirenska pločevina. Stojala so narejena iz bolj polistirenske pločevine in samorezni vijaki držijo trak na mestu. Leseni nosilci so vroče prilepljeni v votlino pred priključno postajo in na njih so plošče privijačene z dolgimi samoreznimi vijaki.

Mislim, da bi lahko 3D natisnil, vendar imam raje metode stare šole, kjer lahko stvari prilagajam, ko grem naprej. Ustvarjanje stvari je potovanje odkrivanja in ne "inženiringa".

10. korak: Prihodnji razvoj

Prihodnji razvoj
Prihodnji razvoj

Kako bi lahko instrument še razvili? Lahko spremenite uporabniški vmesnik. Gumb lahko zamenjate z IR senzorjem razdalje, tako da se vam instrumenta sploh ni treba dotikati. Ali pa za nadzor menija uporabite zaslon na dotik in ne gumb in levo roko.

Meni Scale vam omogoča, da izberete lestvice "nezahodne glasbe", vendar predpostavlja, da so vse note iz enakomerne tipkovnice-tako deluje MIDI. Arabska četrtinska tonska lestvica vsebuje note, ki niso na enakomerni lestvici. Druge lestvice na noben način niso povezane z enakomerno temperirano tipkovnico. Za izdelavo takšnih zapiskov je morda mogoče uporabiti višino. Potrebovali boste način, da meni določi pogostost vsake opombe. Mislim, da se lahko upogibanje višine uporablja za vse note v kanalu. Trenutno uporabljam samo en kanal - kanal 0. Torej, če je večglasen ali ima akorde, boste morali vsako noto predvajati v drugem kanalu.

Instrument bi lahko postal bobnasti sintetizator. Z levo roko lahko določite višino melodičnega toma, desni sonar pa zamenjate s piezo senzorjem, ki ga pritisnete, da zazvoni boben.

Dve roki lahko upravljata dva različna instrumenta.

Leva roka lahko izbere inštrument.

Približno na polovici tega projekta sem odkril Altura MkII Theremin MIDI Controller podjetja Zeppelin Design Labs. Izgleda kot dober instrument.

Imajo nekaj videoposnetkov, ki si jih je vredno ogledati:

(Alturi sem ukradel besedo "koši" in idejo, da se koš razširi, ko ga vneseš, da ti pomaga ostati v njem.)

Moj MIDI Theremin se v nekaj pogledih razlikuje od Alture. Mine proizvaja lasten zvok z vgrajenim MIDI sintetizatorjem, ojačevalnikom itd.; Altura pošilja sporočila zunanjemu sintetizatorju. Morda vam bo bolj všeč njihov način dela. Moj ima zaslon TFT namesto 7 -segmentnega zaslona - to je vsekakor bolje, vendar se vam zdi, da bi bil večji zaslon izboljšava. Moj uporablja menije za nastavitev parametrov, njihov pa gumbe. Meniji so potrebni, ker moj potrebuje veliko kontrol za vhodno napravo (sonarje) in sintetizator; Altura potrebuje manj kontrol. Mogoče so gumbi med nastopom v živo boljši. Mogoče bi moral moj imeti gumbe. Gumb za izbiro nastavitev je lahko dober.

Altura ima "Artikulacijski" nadzor, ki določa, kako hitro se lahko predvajajo note. Tega nisem vključil v svojo programsko opremo - morda bi morala biti tam. Altura ima arpeggiator (sekvenčni korak). To je dobra ideja; moj ima akorde, ki niso čisto enaki.

Torej to je to. Upam, da vam bo všeč izdelava in uporaba MIDI-termina. Sporočite mi, če najdete napake v mojem opisu ali če pomislite na kakšne izboljšave.

Priporočena: