Orodha ya maudhui:

MIDI Sonar "Theremin": Hatua 10 (na Picha)
MIDI Sonar "Theremin": Hatua 10 (na Picha)

Video: MIDI Sonar "Theremin": Hatua 10 (na Picha)

Video: MIDI Sonar
Video: I Built a MIDI THEREMIN! Theremidi - A DIY Arduino MIDI Controller 2024, Julai
Anonim
MIDI Sonar
MIDI Sonar

Hii ni ala ya muziki ambayo hutumia sensorer mbili za umbali wa sonar kudhibiti uwanda na ubora wa noti. Kwa kweli sio Theremin kweli lakini "Theremin" imekuwa neno generic kwa vyombo vilivyopigwa kwa kupunga mikono yako karibu.

Inayo synthesizer ya MIDI iliyojengwa, kipaza sauti na spika. Vidokezo vya muziki vinazalishwa na chip ya MIDI - VS1053 - ambayo ina sauti 127 (i.e. vyombo vya madai-tofauti). Ina kiwango cha juu cha polyphony (hadi 64) kwa hivyo inaweza kucheza noti moja au gumzo.

Mkono wako wa kulia unadhibiti noti inayochezwa. Katika hali ya "discrete" nafasi upande wa kulia imegawanywa katika "mapipa". Wakati mkono wako unapoingia ndani ya pipa, noti ya hiyo bin huanza. Unapoacha pipa, dokezo linaweza kusimama (k.m chombo) au kufa kawaida (k. Piano).

Katika hali ya "kuendelea" nafasi upande wa kulia huamua lami inayoendelea kutofautisha - kama ile ya asili ya Theremin. Ujumbe huanza wakati mkono wako unapoingia kwenye nafasi na unasimama wakati unatoka kwenye nafasi.

Mkono wako wa kushoto unadhibiti ubora wa noti inayochezwa. Inaweza kudhibiti sauti, tremolo, vibrato, bend-pitch, reverb, nk.

Skrini ndogo ya LCD ina menyu ambayo hukuruhusu kuchagua chombo cha sasa, kazi ya mkono wa kushoto, mizani (au "ufunguo") wa mkono wa kulia, vibrato, tremolo, n.k. Unaweza kuhifadhi na kupakia "Setups" tofauti. "na ubadilishe kati yao haraka wakati wa onyesho.

Chombo chote cha "Theremin" cha MIDI hufanya kazi kando na spika yake na betri inayoweza kuchajiwa.

Ikiwa utanakili muundo wangu, utahitaji Arduino Nano (£ 1.50), moduli ya VS1053 (£ 4.50), onyesho la 1.44 ST7735 LCD (£ 3.50), moduli mbili za HC-SR04 (£ 1 kila moja) na vipinga vichache. Utahitaji pia spika zenye nguvu na labda kiini cha lithiamu na PSU lakini maelezo yatategemea jinsi utaamua kuijenga. Nilipata nyongeza zote kutoka kwa uuzaji wa buti za gari na maduka ya hisani. Pamoja na wewe Nitahitaji vifaa vya kawaida vya semina za elektroniki.

Hatua ya 1: Kudhibiti VS1053

Kudhibiti VS1053
Kudhibiti VS1053
Kudhibiti VS1053
Kudhibiti VS1053

Nilichagua moduli ya VS1053 iliyoonyeshwa kwenye picha. (Kumbuka vidhibiti viwili vya SOT223, soketi mbili za jack na nafasi ya kiunganishi.) Tafuta eBay, Alibaba au muuzaji unayempenda kwa moduli ya VS1053 ambayo inaonekana kama hiyo. Zinapatikana kutoka Aliexpress hapa na hapa.

Nilinunua miaka michache iliyopita na haionekani kuwa inapatikana kwenye eBay, tu kwenye Alibaba. Toleo nyekundu la PCB sasa linapatikana kwenye eBay. Inaonekana inafanana kwa utendaji lakini pinout ni tofauti kwa hivyo utahitaji kurekebisha skimu na mipangilio yangu. Sijapima. Katika majadiliano (hapa chini) unaweza kupata maagizo juu ya jinsi ya kuongeza kontena kwenye PCB nyekundu kuwezesha "live" MIDI. Au unaweza kutuma amri za ziada wakati wa usanidi ili kuiwezesha.

VS1053 ni chip nzuri lakini ngumu zaidi. Ninatumia tu sehemu yake ya MIDI. Inawezekana kudhibiti VS1053 juu ya kiolesura cha serial lakini ninatumia basi ya SPI kwani ni rahisi zaidi na Arduino Nano. Baiti yoyote unayotuma juu ya basi ya SPI inatibiwa kama amri ya MIDI.

Utapata orodha za maagizo ya MIDI kwenye wavuti. VS1053 inajibu wengine lakini sio wote. Mpango wa Miditheremin0.exe unaonyesha zile ambazo najua zinafanya kazi.

Unaweza kupakua karatasi ya data ya VS1053 kutoka kwa wavuti. Ni hati kubwa na ni ngumu kwenda. Sehemu "8.9 Fomu za MIDI Zinazoungwa mkono" ni karibu yote inasema juu ya MIDI. Sehemu "10.10 Real-Time MIDI" inazungumza juu ya kutumia GPIO0 na GPIO1 kuwezesha MIDI lakini bodi ambayo sina haja ya kuwezeshwa maalum. Unaweza pia kupakua orodha ya ujumbe wa MIDI (sio zote ambazo zinaungwa mkono na VS1053).

Futa moduli ya VS1053 kwa Arduino Nano kama inavyoonyeshwa na kupakia faili ya INO kwa Arduino. Nilitumia ubao wa mkate bila kuuza. Sina picha yake kwa hatua hii lakini unaweza kuona ubao wa mkate na vifaa vingine katika hatua hapa chini.

Mchoro wa INO hupokea baiti kutoka kwa PC juu ya laini ya serial na hutuma baiti kwa VS1053. Ni programu rahisi sana ambayo hukuruhusu kujaribu VS1053. Unganisha tundu la jack kwenye vifaa vya sauti au spika ya kompyuta.

Programu ya Windows Miditheremin0.exe (pakua Step1.zip kutoka github) hutuma amri kwa VS1053. Bonyeza kitufe cha "90 vel vel" ili kucheza dokezo. Au unaweza kuandika programu yako ya Windows. Au tumia moja ya programu nyingi za wastaafu zinazopatikana kwenye wavuti.

Moduli ya VS1053 ina pini zifuatazo:

  • basi ya SPI ina MISO ya kawaida, MOSI na SCLK
  • ikiwa XRST iko chini, chip inabadilisha
  • XDCS haifanyi chochote katika hali ya SPI kwa hivyo funga na XCS
  • XCS ni Chip Chagua
  • DREQ inakuambia wakati chip iko tayari kwa amri mpya.

XCS inapaswa kuwekwa chini wakati unatuma baiti; kisha juu. Kwa njia hiyo, una hakika umesawazisha kidogo ya kwanza ya kila ka. Kusoma DREQ kunakuambia kuwa chip iko tayari kupokea amri mpya.

Baada ya Arduino kutuma baiti, inapaswa kutuma dummy byte ili kubadilisha saa na kuruhusu VS1053 kutuma nyuma nyuma kujibu. Kazi ya SPItransfer () inakuonyesha jinsi.

Moduli nyekundu inayopatikana kwenye eBay inajumuisha nafasi ya kadi ya SD kwa hivyo ina pini kadhaa za ziada. Wapuuze.

Sasa una hakika unaweza kufanya VS1053 kufanya kazi, tutaigeuza kuwa zaidi ya ala ya muziki.

Hatua ya 2: Kutumia Sonars

Kutumia Sonars
Kutumia Sonars
Kutumia Sonars
Kutumia Sonars

Waza moduli za HC-SR04 kwa Arduino Nano kama inavyoonyeshwa na kupakia faili ya INO kwa Arduino.

Angalia katika mpango kwamba DC3 - kipunguzaji kinachosafisha kwa moduli za HC-SR04 - inapaswa kushikamana karibu na moduli za HC-SR04. Wanachukua sasa kabisa wakati wanapitisha ambayo DC3 inasaidia usambazaji.

Katika hatua hii ya mradi, Windows PC bado inapeleka amri kwa VS1053 lakini VS1053 pia inadhibitiwa na sensorer za HC-SR04 sonar (pakua Step2.zip kutoka github).

Amri mpya zinaanza na 0xFF na zinatafsiriwa na mchoro wa Arduino (badala ya kutumwa moja kwa moja kwa VS1053). Baiti zisizo za "FF-command" zinatumwa kwa VS1053.

Kuna maagizo ya kubadilisha chombo, kubadilisha kiwango, kuongeza vibrato na tremolo, n.k. Programu inaweza kuendeshwa kwa hali ya "discrete" ambapo kuna noti tofauti (kama piano) au katika hali ya "endelevu" ambapo noti moja ni imeinama chini na chini (kama theremin).

Inafanya vizuri kabisa kila kitu chombo cha mwisho kitafanya lakini inadhibitiwa na PC.

Sensor ya kulia ya HC-SR04 inachagua sauti ya maandishi ambayo inachezwa. Katika hali ya "discrete" nafasi upande wa kulia imegawanywa katika "mapipa". Wakati mkono wako unapoingia ndani ya pipa, noti ya hiyo bin huanza. Unapoacha pipa, dokezo linaweza kusimama (k.m chombo) au kufa kawaida (k. Piano). Wakati mkono wako unapoingia ndani ya pipa, pipa hupanuka kidogo ili usipate jitter ukingoni mwake.

Kazi ya GetSonar () inarudisha wakati uliochukuliwa hadi mwangwi wa kwanza. Hupuuza mwangwi wa haraka sana (muda <10) ambao wakati mwingine HC-SR04 huripoti. Ikiwa hakuna mwangwi umepokelewa na maxDuration, inarudi maxDuration. Muda haujapimwa katika vitengo vyovyote - ni nambari tu.

Katika hali tofauti, muda huchujwa kwanza ili kuondoa kuacha mara kwa mara (wakati hakuna mwangwi unapokelewa). Mkono unadhaniwa kuwapo tu baada ya sampuli 10 za upeo wa juu kupokelewa. Kisha muda huchujwa kwa kutumia kichujio cha kati. Vichungi vya wastani ni bora kuondoa kelele "ya msukumo" (i.e. spikes za mara kwa mara). Muda uliochujwa hutumiwa kuchagua pipa.

Katika hali ya kuendelea, muda huchujwa tena ili kuondoa watu wanaoacha masomo mara kwa mara. Halafu ni laini kwa kutumia kichujio cha ufafanuzi. Muda uliochujwa hutumiwa kuweka masafa ya daftari kutumia "bend bend".

Hatua ya 3: Kuongeza Onyesho

Inaongeza Onyesho
Inaongeza Onyesho
Inaongeza Onyesho
Inaongeza Onyesho
Inaongeza Onyesho
Inaongeza Onyesho

Onyesho ni 1.44 skrini ya TFT LCD screen na kidhibiti ST7735, saizi 128x128. Kuna skrini nyingi zinazopatikana kwenye eBay, kwa mfano unaweza kupendelea kukuza kifaa chako na skrini kubwa ya kugusa. Sikutumia ST7735 mtawala na alitaka kujaribu.

Nilipata yangu kutoka kwa muuzaji huyu. Moduli hiyo hiyo inauzwa sana kwenye eBay - pata tu moja ambayo inaonekana sawa na picha.

LCD ina pini zifuatazo:

  • Ardhi ya GND
  • VCC 3.3V
  • SCL SPI basi SCLK
  • SDA SPI basi MOSI ya Arduino
  • Res upya
  • Takwimu / amri ya DC
  • Chagua CS chip
  • Nuru ya nyuma ya BL

Moduli inaendesha 3.3V kwa hivyo haifai kuiunganisha moja kwa moja na 5V Arduino yako. Nimetumia vipinga 1k kuacha voltage. Hiyo sio mazoezi mazuri (kwa ujumla, mtu anapaswa kutumia mgawanyiko wa uwezo au kifaa cha kushuka kwa voltage) lakini anafanya kazi vizuri katika mzunguko huu. Nilikuwa mvivu.

Maonyesho yanaendeshwa na 3.3V iliyotolewa na Arduino. Mdhibiti wa Arduino anaonekana kuwa na furaha ya kutosha.

Adafruit huruma sana kuchapisha maktaba ya ST7735 na maktaba zingine kadhaa zinapatikana huko Github na kwingineko. Nilijaribu chache na sikupenda yeyote kati yao. Wengine hawakufanya kazi na wote walikuwa wakubwa. Unaandika mchoro wa Arduino ambao unachora mstari na maandishi mengine na unapata kumbukumbu yako ikiwa imejaa 75%. Kwa hivyo niliandika maktaba yangu mwenyewe.

Maktaba ya SimpleST7735 inaweza kupakuliwa (pakua Step3.zip kutoka github).

Ina seti ya kawaida ya kuchora amri sawa na maktaba zote hizo.

Baadhi ya maktaba "za haraka" unazoweza kupakua hutumia vitanzi maalum vya muda na hukasirika wakati vifaa vingine, labda polepole, vinatumika kwenye basi moja. RahisiST7735 imeandikwa kwa C badala ya kukusanyika kwa hivyo sio haraka sana kama inaweza kuwa lakini inabebeka zaidi na inashiriki basi la SPI kwa adabu na vifaa vingine. Programu ya Windows inaweza kupakuliwa ambayo hukuruhusu kutengeneza fonti na ikoni zako mwenyewe.

Unaweza kupakua karatasi ya data ya ST7735 kutoka kwa wavuti. Unazungumza nayo kwa

  • weka CS chini
  • weka DC chini
  • tuma amri ya byte
  • weka DC juu
  • tuma kaiti sifuri au zaidi ya data
  • weka CS juu

Unaweza kuona jinsi ninavyofanya katika kazi ya spiSend_TFT_CW () kwenye maktaba. Baiti za data zinaweza kuwa safu nzima ya saizi au mpangilio wa rejista ya kudhibiti.

Kazi ya ST7735Begin () katika maktaba inakuonyesha seti ya amri ya kuanzisha niliyochagua. Unaweza kutaka kubadilisha amri ukichagua onyesho tofauti la ST7735 (k.m na saizi zaidi) au unataka mwelekeo tofauti. Natumahi nambari yangu ni rahisi kwako kuona jinsi ya kubadilisha ikiwa unahitaji.

Mpangilio unaonyesha kitufe cha kudhibiti "SW1" na kanyagio cha miguu SW2 ". Kitufe cha kudhibiti huchagua" Setups "tofauti (angalia hatua inayofuata) au chagua Modi ya menyu. Kanyagio la mguu ni la hiari na linachagua tu Seti tofauti - sikufanya nilifunga mguu wa miguu mwenyewe. Mipangilio ni muhimu wakati wa onyesho wakati unataka haraka kubadilisha kitufe au kubadilisha chombo.

Hatua ya 4: Mfumo wa Menyu

Mfumo wa Menyu
Mfumo wa Menyu
Mfumo wa Menyu
Mfumo wa Menyu

Mchoro huu wa Miditheremin3.ino Arduino unaongeza mfumo wa menyu kwenye MIDI Theremin na inadhibiti chombo kamili cha mwisho.

MIDmin Theremin kawaida inaendesha katika "Play" mode. Mkono wako wa kulia unachagua nukuu na mkono wako wa kushoto unadhibiti ubora wa dokezo. LCD inaonyesha kibodi ya piano na maandishi ya sasa yameangaziwa.

Ikiwa unashikilia kitufe cha kudhibiti kwa sekunde moja, programu hiyo huenda kwenye hali ya "Menyu". Katika Modi ya Menyu, ikiwa unashikilia kitufe cha kudhibiti kwa sekunde moja, programu inarudi kwenye hali ya "Cheza".

Menyu ina muundo wa mti na vitu vikuu na vitu vidogo. Bidhaa ya menyu ya sasa imeangaziwa. Usogeza uteuzi juu / chini kupitia sonar ya mkono wa kushoto. Menyu ndogo ya kipengee kikuu hupanuliwa tu wakati kipengee kikuu kimechaguliwa.

Baada ya kuchagua menyu ndogo, unapobofya kitufe, thamani ya kitu hicho imeangaziwa. Mkono wa kushoto sasa unaongeza au hupunguza thamani. Bonyeza kitufe tena ili kurudi kuchagua menyu ndogo.

Katika hali tofauti, mti wa menyu ni

  • Chombo

    • 0: Piano Kubwa
    • Badilisha mikono: kawaida
  • Mkono wa kulia

    Njia: tofauti

  • Mkono wa kushoto

    • Njia: Vibrato
    • Kina cha Max: 10
  • Kiwango

    • Kiwango: Heptatonic kuu
    • Ofa: 2
    • Ujumbe wa chini kabisa: 60 C
  • Njia
    • Chord: Utatu mkubwa
    • Kubadilisha: 0
    • Polyphony: 1
  • Tremolo

    • Ukubwa: 20
    • Kipindi: 10
  • Vibrato

    • Ukubwa: 20
    • Kipindi: 10

Chombo kinaweza kuwa "Grand Piano", "Organ Organ", "Violin", nk Kuna vyombo 127 katika VS1053 ambazo nyingi zinaonekana kufanana na nyingi ni za kijinga kama "risasi". Menyu ndogo ya Swap Mikono hukuruhusu kubadilisha kazi za mikono ya kushoto na kulia - labda unapendelea hivyo au labda unataka wasemaji wakabiliane na hadhira.

Mkono wa kulia unaweza kuwa "Diski" au "Endelevu". Tazama hapa chini kwa menyu "inayoendelea".

Mkono wa kushoto unaweza kudhibiti "Volume", "Tremolo", "Vibrato", "PitchBendUp", "PitchBendDown", "Reverb", "Polyphony" au "ChordSize".

"Volume" ni dhahiri. "Tremolo" ni tofauti ya haraka kwa kiasi; mkono wa kushoto unadhibiti saizi ya tofauti; kipindi kimewekwa na kipengee cha menyu tofauti. "Vibrato" ni tofauti ya haraka katika lami; mkono wa kushoto unadhibiti saizi ya tofauti; kipindi kimewekwa na kipengee cha menyu tofauti. "PitchBendUp" na "PitchBendDown" hubadilisha sauti ya noti inayochezwa; mkono wa kushoto unadhibiti saizi ya bend. "Reverb" sio ya kupendeza katika VS1053; mkono wa kushoto unadhibiti saizi ya reverb. "Polyphony" inadhibiti jinsi noti nyingi zinacheza mara moja hadi kiwango cha juu kilichowekwa na menyu ya Polyphony (tazama hapa chini). "ChordSize" inamaanisha mkono wa kushoto unadhibiti noti ngapi za gumzo (tazama hapa chini) zinazochezwa.

Katika muziki, "kiwango" au "ufunguo" ni seti ndogo ya vidokezo unayotumia. Kwa mfano, ikiwa utajizuia kwa kiwango cha Heptatonic cha C Meja, ungekuwa unacheza tu maandishi meupe ya piano. Ikiwa umechagua C # Pentatonic kuu basi ungetumia tu maandishi meusi (k.m kwa toni za watu wa Scottish).

Menyu ya Kiwango huchagua ni vipi maelezo ya nafasi ya mkono wa kulia inalingana na na ngapi octave inashughulikia nafasi ya mkono wa kulia. Kwa hivyo ukichagua octave 1 ya E Major basi nafasi ya mkono wa kulia imegawanywa katika mapipa 8 na E kwa lami ya chini kabisa na E octave moja juu kwa lami ya juu.

Menyu ya Kiwango hukuruhusu kuchagua mizani isiyo ya kawaida ya "muziki isiyo ya Magharibi" lakini inachukua dokezo zote kutoka kwa kibodi iliyo na hasira kali - ndivyo MIDI inavyofanya kazi, huwezi kutaja urahisi mzunguko wa dokezo. Kwa hivyo ikiwa unataka, sema, kiwango cha robo ya Kiarabu, ungekuwa na shida.

Menyu ndogo ya Octave hukuruhusu kuchagua ngapi octave za kiwango unachotaka. Na dokezo la chini kabisa linasema kiwango kinaanzia wapi.

Kawaida wakati dokezo linachezwa, noti hiyo tu ndiyo hupigwa. Menyu ya Chord hukuruhusu kucheza vidokezo kadhaa mara moja. Njia kuu ya Triad inamaanisha 'cheza daftari iliyochaguliwa pamoja na dondoo nne za semiti juu, pamoja na dokezo la semitoni saba juu'.

Menyu ndogo ya Inversion inakupa ubadilishaji wa gumzo. Hiyo inamaanisha kuwa inahimiza noti zingine za gumzo kwa octave moja hapa chini. Inversion ya kwanza inahimiza maandishi yote "ya ziada" chini ya octave, Inversion ya pili inahimiza maandishi machache ya chini, na kadhalika.

Menyu ndogo ya Polyphony inasema ni noti ngapi zinacheza mara moja; ikiwa polyphony ni 1 basi dokezo moja linapoanza, ile ya awali imesimamishwa; ikiwa polyphony ni kubwa basi maelezo kadhaa yanaweza kuingiliana - jaribu na chombo cha kanisa.

Menyu ya Tremolo inataja kina cha tremolo yoyote na kipindi cha mzunguko wa tremolo. Kipindi cha "100" inamaanisha mzunguko mmoja kwa sekunde. Ikiwa mkono wa kushoto unadhibiti tremolo basi menyu ndogo ya Ukubwa imefichwa.

Menyu ya Vibrato inataja saizi ya vibrato yoyote na kipindi cha mzunguko wa vibrato. Ikiwa mkono wa kushoto unadhibiti vibrato basi menyu ndogo ya Ukubwa imefichwa.

Mpango utapata kuokoa na kupakia hadi 5 "Setups" tofauti. Setup huhifadhi maadili yote ambayo unaweza kuweka kwenye menyu. Unapoondoka kwenye Modi ya menyu, usanidi wa sasa umehifadhiwa. Usanidi umehifadhiwa kwenye EEPROM.

Katika hali ya Uchezaji, kubonyeza kitufe kinabadilika hadi kwenye usanidi unaofuata. Ikiwa unashikilia kitufe kwa sekunde moja, menyu inaonekana. Kubonyeza mguu wa miguu pia hubadilika hadi kwenye usanidi unaofuata; kanyagio cha mguu hakichagui menyu.

Katika hali ya kuendelea, mti wa menyu ni

  • Chombo

    • 0: Piano Kubwa
    • Badilisha mikono: kawaida
  • Mkono wa kulia

    Njia: endelevu

  • Mbalimbali

    • Semitones za Num: 12
    • Ujumbe wa kati: 60 C
  • Mkono wa kushoto

    • Njia: Tremolo
    • Kina cha Max: 10
  • Tremolo

    • Ukubwa: 20
    • Kipindi: 10
  • Vibrato

    • Ukubwa: 20
    • Kipindi cha 10

Menyu ya Masafa huchagua masafa gani ambayo mkono wa kulia unataja: idadi ya semiti zilizofunikwa na noti ya kati.

Mkono wa kushoto unaweza kudhibiti tu "Volume", "Tremolo" na "Vibrato".

Hatua ya 5: Kuiunganisha Pamoja

Kuiunganisha Pamoja
Kuiunganisha Pamoja
Kuiunganisha Pamoja
Kuiunganisha Pamoja
Kuiunganisha Pamoja
Kuiunganisha Pamoja

Nilijenga mzunguko kwenye ukanda. Siwezi kuona ukweli wa kupata PCB iliyoundwa kwa upunguzaji mmoja na vizuizi 4 tu lakini ninagundua watu wengine hawapendi ubao wa mkanda.

Mpangilio wangu wa ukanda umeonyeshwa hapo juu. Bodi nne - Arduino, VS1053, onyesho na ukanda - huunda sandwich. Katika mpangilio, muhtasari wa Arduino ni wa manjano, VS1053 ni bluu, onyesho ni kijani na ubao wa rangi ni machungwa.

Mistari ya cyan ni vipande vya shaba vya ukanda - hakikisha unaweka mapumziko mahali panapohitajika. Mistari nyekundu ni viungo kwa upande wa sehemu ya ukanda au waya zinazoenda mahali pengine.

Nilitumia pini ndefu zaidi kwa bodi ya VS1053 kwa sababu imesimama juu ya Arduino. Pini kwenye pembe za mbali za onyesho na bodi za VS1053 husaidia kuziimarisha. Shimo zinazopanda za moduli zimefungwa ili uweze kuziunganisha. Hakikisha yako haijaunganishwa na ardhi - mashimo yanayopanda ya moduli zangu hayana.

Ikiwa una moduli tofauti ya VS1053 au onyesho tofauti, unaweza kubadilisha pini za Arduino:

  • D2 hadi D10 na A0 hadi A5 inaweza kutumika kwa mpangilio wowote upendao; sasisha nambari za siri karibu na mwanzo wa mchoro wa INO
  • D11, D12, D13 wamejitolea kwa SPI na hawawezi kupewa tena
  • D0, D1 imejitolea kwa serial I / O
  • A6, A7 haiwezi kutumika kama pini za dijiti

Moduli za HC-SR04 ziko kwa 90 ° kwa kila mmoja iliyounganishwa na kipande cha ubao. Kitufe cha kusukuma ni kati yao. Bila shaka utakuwa na muundo wako unaopendelea.

Ikiwa unaamua kuwa na kanyagio cha mguu, inganisha kupitia tundu la jack.

Hatua ya 6: Kuongeza PSU

Inaongeza PSU
Inaongeza PSU
Inaongeza PSU
Inaongeza PSU
Inaongeza PSU
Inaongeza PSU

Nilipima jumla ya sasa ya Arduino, VS1053 na kuonyesha kama 79mA. Kulingana na karatasi za data, Arduino ni 20mA, onyesho ni 25mA, VS1053 ni 11mA na HC-SR04 ni 15mA kila moja wakati "inafanya kazi" - kwa hivyo 80mA inaonekana kuwa sawa.

Onyesho huchukua 25mA na inaendeshwa kutoka kwa pato la 3V3 ya Arduino ambayo imepimwa kutoa 50mA. Kwa hivyo mzunguko haupaswi kusisitiza mdhibiti wa 3V3 wa Arduino.

Je! Tunaweza kuwezesha mzunguko kupitia pini ya Vin ya Arduino? Siwezi kupata jibu la hiyo mahali popote kwenye wavuti. Haimo kwenye hati za Arduino. Mdhibiti wa bodi ya 5V atashuka (Vin-5) * 80 mW. Je! Upotezaji wake ni nini? Inaonekana kwamba hakuna mtu anayejua. Kulingana na data yake, mdhibiti wa NCP1117 katika kifurushi cha SOT-223 na pedi ya chini ya shaba anaweza kutawanya 650mW. Kwa hivyo kwa sasa ya 80mA,

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

Ili kuwa salama, nadhani hatupaswi kuzidi 9V kwenye Vin.

5V PSU ya nje itakuwa salama zaidi lakini nilitumia mdhibiti wa Arduino na ni sawa.

Ili kuwezesha mzunguko, nilichagua moduli ambayo inachanganya sinia ya LI-ion na kuongeza PSU. Zinapatikana sana kwenye eBay au utafute "Boger Charger Boost".

Chaja hutumia chip ya TC4056 ambayo ina algorithm ngumu ya sasa na ya mara kwa mara ya voltage. Unapoondoa uingizaji umeme wa USB, inaingia kwenye hali ya kusubiri na bomba la betri chini ya 2uA. TC4056 ina pembejeo ya kuhisi joto lakini haipatikani kwenye bodi ya moduli (pini imewekwa chini).

Mzunguko wa kuongeza inadaiwa ni 87-91% yenye ufanisi juu ya kiwango cha kawaida cha voltage ya betri na sasa ya pato la 50-300mA. (Sikujipima mwenyewe.) Hiyo ni nzuri.

Walakini, sasa "kusubiri" wakati unapoondoa mzigo ni 0.3mA ambayo ni duni. Kiini cha 300mAH kingetolewa kwa wiki 6. Labda ingeweza kutolewa hadi sasa voltage yake itashuka kwa kiwango cha kuharibu.

Kuna wimbo mmoja ambao unaunganisha betri na kuongeza PSU. Unaweza kukata wimbo kwa urahisi (angalia picha). Weka waya kwenye kontena kubwa hapo juu ili uweze kuziba kata kupitia swichi.

Iliyochorwa sasa ni 0.7uA na bodi niliyojaribu. Kwa hivyo seli itadumu miaka 50 - kwa kweli, la hasha, kujitolea kwa seli ya Li-ion ni karibu 3% kwa mwezi. 3% kwa mwezi kwa seli ya 300mAH ni ya sasa ya 13uA. Linganisha hiyo na 300uA mzunguko wa kuongeza unachukua. Nadhani ni muhimu kuzima mzunguko wa kuongeza.

Haupaswi kuwasha mzigo wakati seli inachaji. Ya sasa inayotolewa na mzigo itachanganya algorithm ya kuchaji.

Kwa hivyo unahitaji ubadilishaji wa pole-2-pole (kwa mfano swichi ya slaidi) ambayo iko kwenye "On" au nafasi ya "Charge".

Unaweza kupuuza tundu la USB lililojengwa na waya zilizotengwa kwa swichi na tundu lako la USB.

Au unaweza kuweka tundu lililojengwa na kukata unganisho kati ya tundu na chip. Mchoro hapo juu unaonyesha mahali pa kukata.

Unganisha pato la 5V la kuongeza PSU kwenye pini ya 5V ya Arduino. Watu wanasema "usifanye hivyo - unapitisha diode ya ulinzi ya Arduino". Lakini Nano haina pini iliyounganishwa na upande wa USB wa diode. Unganisha tu kwenye pini ya 5V. Ni nini mbaya zaidi ambacho kinaweza kutokea? Unapoteza Nano iliyogharimu chini ya £ 3.

Mzunguko wa PSU lazima pia uwezeshe kipaza sauti kwa spika.

Hatua ya 7: Kuongeza Spika

Kuongeza Spika
Kuongeza Spika

Nilitaka MIDI Theremin iweze kubebeka. Inapaswa kujumuisha spika zake na kipaza sauti.

Unaweza kujenga kipaza sauti chako mwenyewe au kununua moduli ya kipaza sauti, kisha ununue spika na uziweke kwenye kesi. Lakini nini maana? Katika teknolojia yangu ya katikati nina spika za nusu dazeni ambazo nimenunua kutoka kwa maduka ya hisani na mauzo ya buti za gari zote kwa chini ya £ 1 kila moja.

Spika za rangi ya samawati zilitumia 30mA tu kwa 5V lakini zina majibu duni ya bass. Redio nyeusi ni sura nzuri - naweza kufikiria kufaa moduli za HC-SR04 kwenye pembe na onyesho kwenye uso wa juu. Vipande vya "gorofa gorofa" vinatumiwa kutoka kwa tundu la USB ambalo ni bora.

Kwa kutafuta kidogo, unapaswa kupata spika zenye nguvu ambazo tayari zina kesi nzuri. Hakikisha kwamba wataendesha kwa voltage ya usambazaji wako wa umeme. Ikiwa inaendeshwa na seli nne za AA labda itafanya kazi sawa kwa 5V.

Lakini nilichimba zaidi kwenye kituo cha teknolojia na nikapata kituo kizuri cha kupandikiza nilipata kwenye "kila kitu kwa duka la £ 0.50". Ilikuwa imepoteza sinia yake na kijijini cha IR lakini inafanya kazi vizuri.

Ikiwa umedhamiria kuunda spika zako zenye nguvu, hapa kuna Maagizo mazuri. Au tafuta Maagizo ya PAM8403 au Amplifier.

Hatua ya 8: Kituo cha Kufikia

Kituo cha Kusimama
Kituo cha Kusimama
Kituo cha Kusimama
Kituo cha Kusimama
Kituo cha Kusimama
Kituo cha Kusimama
Kituo cha Kusimama
Kituo cha Kusimama

Hiki ni kituo nzuri sana cha kubeba vifaa vya Logitech. Haiwezekani kwamba utapata sawa lakini kanuni za ujenzi zitakuwa sawa.

Kituo cha kutia nanga ni pamoja na seli yake ya Li-ion inayoweza kuchajiwa na kuongeza PSU. (Ikiwa yako haina kujenga PSU ilivyoelezwa hapo juu na ruka aya chache zifuatazo.)

Ikiwa amp yako ina seli ya Li-ion basi labda ina PSU ya kuongeza. (Voltage ya seli moja ya Li-ion ni ya chini sana kwa hivyo inahitaji kuongeza.)

Kwanza, tafuta viunganisho vya nguvu kwa kipaza sauti. PSU itakuwa na capacitors kubwa ya kulainisha - angalia picha ya PCB takataka. Pima voltage kwenye pedi zao za solder upande wa chini. Pedi hasi inapaswa kuwa pedi ya "ardhi" ya mzunguko. Ikiwa pcb imejazwa na mafuriko hiyo itakuwa chini. Au ardhi inaweza kuwa wimbo mzito ambao huenda kwa maeneo mengi kwenye ubao.

Kunaweza kuwa na capacitors kubwa kwenye hatua ya pato la amp - hiyo ndiyo njia ya zamani ya kuifanya. Pima voltage juu yao wakati inafanya kazi. Labda itatofautiana kulingana na muziki na inaweza kuwa wastani wa nusu ya voltage ya capacitors ya usambazaji wa nguvu. Hizo ni capacitors mbaya - unataka zile zilizo kwenye PSU.

Haiwezekani kwamba bodi hiyo itakuwa na nguvu chanya na hasi (nguvu kubwa za stereo hufanya lakini sijawahi kuona nyepesi kama hiyo). Hakikisha umechagua nguvu ya ardhi na chanya.

Kituo cha docking cha Logitech ninachotumia kina ngumu za mzunguko wa dijiti na vile vile amp ya analog. Ikiwa yako iko kama hiyo, itakuwa na laini za kutuliza kwa 5V au 3.3V pamoja na 9V kwa amp. Pima voltages kwa capacitors zote kubwa na uchague voltage kubwa zaidi.

Hakikisha voltage ya unganisho la umeme uliyochagua inategemea swichi ya kuwasha / kuzima. (Unapozima swichi, voltage inaweza kuchukua muda kushuka wakati capacitor inamaliza.)

Waya Solder kwa chochote umechagua kama chanzo chako cha nguvu. Kituo cha kupandikiza Logitech kinazalisha karibu 9V ambayo itaunganisha vizuri na pini ya Vin ya Arduino.

Spika zako zinazoendeshwa kwa nguvu au kituo cha kupakia kinapaswa kuwa na kipenyo cha 3.5mm kwa uingizaji wa sauti. Moja ya viungo vya solder vitasagwa - labda ndio karibu zaidi na ukingo wa bodi. Tumia mita ya ohm kuangalia ikiwa inaunganisha na kile unachofikiria ni ardhi. Pamoja na pembejeo zingine za sauti "ngao" ya jack haijaunganishwa moja kwa moja na ardhi. Inaelea. Kwa hivyo ikiwa hakuna pini za jack zilizo chini, usijali kwa muda. ("Ngao" ya jack kwenye moduli ya VS1053 pia inaelea.)

Tumia mita kuangalia kama pini ya jack "ardhi" iko kwenye voltage sawa na uwanja wa usambazaji wa umeme.

Kituo cha kupandikiza Logitech kilikuwa cha kushangaza. Ikiwa niliunganisha "ardhi" ya tundu la jack ya Logitech kwenye "ardhi" ya bodi ya VS1053 (kwa kutumia kebo ya sauti, ilifanya kazi vizuri lakini sasa kwa mfumo wangu wa Theremin ulipanda kutoka 80mA hadi zaidi ya 200mA. Kwa hivyo nilihakikisha Sikuunganisha "sababu" hizi mbili. Inafanya kazi vizuri lakini sijui ni nini kilikuwa kikiendelea.

Hatua ya 9: Kufanya Kesi

Kutengeneza Kesi
Kutengeneza Kesi
Kutengeneza Kesi
Kutengeneza Kesi
Kutengeneza Kesi
Kutengeneza Kesi
Kutengeneza Kesi
Kutengeneza Kesi

Kesi gani utafanya itategemea vifaa ambavyo unapaswa kukabidhi, unachofurahiya kufanya kazi na spika ulizochagua. Chochote unachotengeneza kinapaswa kuhakikisha kuwa sonars zinaelekezana kutoka kwa kila mmoja na hadi 45 °. Kisha kutakuwa na skrini ya kuonyesha na kitufe cha kushinikiza.

Ikiwa umeangalia vipengee vyangu vingine, utajua kuwa mimi ni shabiki mkubwa wa bati. Inaweza kuwa bent kwa sura, laini-soldered na rangi. Picha zinaonyesha jinsi nilivyopanga vitu.

Pembetatu ya juu ni bati iliyokunjwa, imeuzwa, imejazwa, imetengenezwa na kupakwa rangi. Pcbs zimechomwa moto kwenye pembetatu na zina vidonge vidogo vya kuni kama spacers.

"Jopo la mbele" ni 1mm polystyrene karatasi. Kusimama hufanywa kutoka kwa karatasi zaidi ya polystyrene na visu za kujipiga zinashikilia ubao wa mahali. Vifungo vya mbao vimewekwa gundi moto ndani ya patupu mbele ya kituo cha kupandikiza na pcbs zimepigwa juu yao na visu ndefu za kujipiga.

Nadhani ningeweza kuchapisha kitu 3D lakini napendelea njia za zamani za shule ambapo ninaweza kurekebisha vitu ninapoendelea. Kutengeneza vitu ni safari ya ugunduzi badala ya "uhandisi".

Hatua ya 10: Maendeleo ya Baadaye

Maendeleo ya Baadaye
Maendeleo ya Baadaye

Unawezaje kukuza kifaa zaidi? Unaweza kubadilisha kiolesura cha mtumiaji. Unaweza kubadilisha kitufe na sensa ya umbali wa IR kwa hivyo sio lazima uguse kifaa kabisa. Au labda tumia skrini ya kugusa badala ya kitufe na mkono wa kushoto kudhibiti menyu.

Menyu ya Kiwango hukuruhusu kuchagua mizani ya "muziki isiyo ya Magharibi" lakini inachukua vidokezo vyote kutoka kwa kibodi iliyokasirika-ndivyo MIDI inavyofanya kazi Kiwango cha toni ya Kiarabu kina noti ambazo haziko kwenye kiwango cha hasira. Mizani mingine haihusiani na kibodi iliyokasirika hata kwa njia yoyote. Inawezekana kutumia bend-lami kutoa noti kama hizo. Unahitaji njia fulani kwa menyu kutaja masafa ya kila dokezo. Nadhani lami inaweza kutumika kwa noti zote kwenye kituo. Kwa sasa ninatumia idhaa moja tu - idhaa ya 0. Kwa hivyo ikiwa ni ya sauti nyingi au ina gumzo, itabidi ucheze kila noti kwenye kituo tofauti.

Chombo kinaweza kuwa synthesizer ya ngoma. Mkono wa kushoto inaweza kuamua lami ya Melodic Tom wakati sonar ya kulia inabadilishwa na sensa ya piezo ambayo unapiga ili kupiga ngoma.

Mikono miwili inaweza kudhibiti vyombo viwili tofauti.

Mkono wa kushoto ungeweza kuchagua ala.

Karibu nusu ya kupitia mradi huu, niligundua Mdhibiti wa MIDI wa Altura MkII Theremin na Zeppelin Design Labs. Inaonekana kama chombo kizuri.

Wana video kadhaa ambazo zinastahili kutazamwa:

(Niliiba neno "mapipa" kutoka kwa Altura na wazo kwamba pipa hupanuka unapoingia ili kukusaidia kukaa ndani.)

MIDI yangu Theremin inatofautiana na Altura kwa njia chache. Yangu hutoa sauti yake mwenyewe na synth yake ya ndani ya MIDI, amp, nk; Altura hutuma ujumbe kwa synth ya nje. Unaweza kupendelea njia yao ya kuifanya. Yangu ina skrini ya TFT badala ya onyesho la sehemu 7 - hiyo ni bora zaidi lakini unaweza kudhani skrini kubwa itakuwa uboreshaji. Yangu hutumia menyu kuweka vigezo wakati wao hutumia visu. Menyu inahitajika kwa sababu yangu inahitaji udhibiti mwingi kwa kifaa cha kuingiza (sonars) na synth; Altura inahitaji udhibiti mdogo. Labda knobs ni bora wakati wa utendaji wa moja kwa moja. Labda yangu inapaswa kuwa na vifungo. Knob ya kuchagua Setups inaweza kuwa nzuri.

Altura ina udhibiti wa "Matamko" ambayo huweka jinsi noti za haraka zinaweza kuchezwa. Sijajumuisha hiyo katika programu yangu - labda inapaswa kuwa hapo. Altura ina Arpeggiator (hatua sequencer). Hilo ni wazo zuri; yangu ina gumzo ambazo sio sawa kabisa.

Kwa hivyo ndivyo ilivyo. Natumahi unafurahiya kujenga na kutumia MIDI-Theremin. Napenda kujua ikiwa unapata makosa yoyote katika maelezo yangu au ikiwa unaweza kufikiria maboresho yoyote.

Ilipendekeza: