Innholdsfortegnelse:
- Trinn 1: Kontrollere VS1053
- Trinn 2: Bruke ekkoloddene
- Trinn 3: Legge til en skjerm
- Trinn 4: Menysystemet
- Trinn 5: Lodding sammen
- Trinn 6: Legge til en PSU
- Trinn 7: Legge til høyttalere
- Trinn 8: Dokkestasjon
- Trinn 9: Lag en sak
- Trinn 10: Fremtidig utvikling
Video: MIDI Sonar "Theremin": 10 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Dette er et musikkinstrument som bruker to sonaravstandssensorer for å kontrollere tonehøyde og kvalitet på notene. Det er egentlig ikke en Theremin, men "Theremin" har blitt det generiske uttrykket for instrumenter som spilles ved å vinke hendene rundt.
Den har en innebygd MIDI-synthesizer, forsterker og høyttalere. Musikknotene er produsert av en MIDI -chip - VS1053 - som har 127 stemmer (dvs. angivelig forskjellige instrumenter). Den har en høy grad av polyfoni (opptil 64), slik at den kan spille enkeltnoter eller akkorder.
Høyre hånd kontrollerer noten som spilles. I "diskret" modus er plassen til høyre delt inn i "binger". Når hånden din kommer inn i en søppelbøtte, starter notatet for den. Når du forlater søppelbøtta, kan noten stoppe (f.eks. Et orgel) eller dø naturlig (f.eks. Et piano).
I "kontinuerlig" modus bestemmer plassen til høyre en kontinuerlig variabel tonehøyde - som den opprinnelige Theremin. Notatet starter når hånden din kommer inn i rommet og stopper når du forlater plassen.
Venstre hånd kontrollerer kvaliteten på noten som spilles. Den kan kontrollere volumet, tremolo, vibrato, pitch-bend, reverb, etc.
En liten LCD -skjerm har en meny som lar deg velge det nåværende instrumentet, funksjonen til venstre hånd, skalaen (eller "nøkkelen") til høyre hånd, vibrato, tremolo, etc. Du kan lagre og laste forskjellige "oppsett "og bytt mellom dem raskt under en forestilling.
Hele MIDI "Theremin" -instrumentet fungerer frittstående med egen høyttaler og oppladbart batteri.
Hvis du skal kopiere bygningen min, trenger du en Arduino Nano (£ 1,50), en VS1053-modul (£ 4,50), en 1,44 ST7735 LCD-skjerm (£ 3,50), to HC-SR04-moduler (£ 1 hver) og noen få motstander. Du trenger også noen drevne høyttalere og kanskje en litiumcelle og en PSU, men detaljene vil avhenge av hvordan du bestemmer deg for å bygge den. Jeg har alt det ekstra fra bil-boot-salg og veldedighetsbutikker. Pluss deg trenger vanlig elektronisk verkstedutstyr.
Trinn 1: Kontrollere VS1053
Jeg valgte VS1053 -modulen vist på bildet. (Legg merke til de to SOT223 -regulatorene, de to kontaktene og posisjonen til kontakten.) Søk på eBay, Alibaba eller din favorittleverandør etter en VS1053 -modul som ser slik ut. De er tilgjengelige fra Aliexpress her og her.
Jeg kjøpte den for et par år siden, og den ser ikke lenger ut til å være tilgjengelig på eBay, bare på Alibaba. En rød PCB -versjon er nå tilgjengelig på eBay. Det ser ut til å være funksjonelt identisk, men pinout er annerledes, så du må justere skjemaene og oppsettene mine. Jeg har ikke testet det. I diskusjonen (nedenfor) finner du instruksjoner om hvordan du legger til en motstand på det røde kretskortet for å aktivere "live" MIDI. Eller du kan sende flere kommandoer under oppsettet for å aktivere det.
VS1053 er en fin chip, men ganske komplisert. Jeg bruker bare MIDI -delen av den. Det er mulig å kontrollere VS1053 over et serielt grensesnitt, men jeg bruker SPI -bussen, da det er mer praktisk med en Arduino Nano. Enhver byte du sender over SPI -bussen blir behandlet som en MIDI -kommando.
Du finner lister over MIDI -kommandoer på nettet. VS1053 reagerer på noen, men ikke alle. Miditheremin0.exe -programmet viser de som jeg vet fungerer.
Du kan laste ned VS1053 -databladet fra nettet. Det er et stort dokument og er vanskelig å gå. Del "8.9 MIDI -formater som støttes" er nesten alt det sier om MIDI. Seksjon "10.10 MIDI i sanntid" snakker om bruk av GPIO0 og GPIO1 for å aktivere MIDI, men brettet jeg har ikke krevde noen spesiell aktivering. Du kan også laste ned en liste over MIDI -meldinger (ikke alle støttes av VS1053).
Koble VS1053 -modulen til en Arduino Nano som vist, og last opp INO -filen til Arduino. Jeg brukte et loddefritt brødbrett. Jeg har ikke et bilde av det på dette stadiet, men du kan se brødbrettet med andre komponenter i et trinn nedenfor.
INO -skissen mottar en byte fra PC -en over serielinjen og sender byten til VS1053. Det er et veldig enkelt program som lar deg teste VS1053. Koble uttakskontakten til hodetelefoner eller en datamaskinhøyttaler.
Windows Miditheremin0.exe -programmet (last ned Step1.zip fra github) sender kommandoer til VS1053. Klikk på "90 note vel" -knappen for å spille et notat. Eller du kan skrive ditt eget Windows -program. Eller bruk et av de mange terminalprogrammene som er tilgjengelige på nettet.
VS1053 -modulen har følgende pinner:
- SPI -bussen har den vanlige MISO, MOSI og SCLK
- hvis XRST er lav, tilbakestilles brikken
- XDCS gjør ikke noe i SPI -modus, så knytt det til XCS
- XCS er Chip Select
- DREQ forteller deg når brikken er klar for en ny kommando.
XCS bør settes lavt mens du sender en byte; deretter høyt. På den måten er du sikker på at du har synkronisert den første biten av hver byte. Å lese DREQ forteller deg at brikken er klar til å motta en ny kommando.
Etter at Arduino sender en byte, må den sende en dummy -byte for å veksle klokken og la VS1053 sende en byte tilbake som svar. SPItransfer () -funksjonen viser deg hvordan.
Den røde modulen som er tilgjengelig på eBay inkluderer et SD -kortspor, så den har et par ekstra pins. Ignorer dem.
Nå som du er sikker på at du kan få VS1053 til å fungere, vil vi gjøre den om til et mer musikkinstrument.
Trinn 2: Bruke ekkoloddene
Koble HC-SR04-modulene til Arduino Nano som vist, og last opp INO-filen til Arduino.
Legg merke til i skjematikken at DC3 - frakoblingskondensatoren for HC -SR04 -modulene - skal kobles til i nærheten av HC -SR04 -modulene. De tar ganske mye strøm når de sender hvilken DC3 hjelper til med å levere.
I denne fasen av prosjektet sender Windows-PC-en fortsatt kommandoer til VS1053, men VS1053 styres også av sonarsensorene HC-SR04 (last ned Step2.zip fra github).
De nye kommandoene starter alle med 0xFF og tolkes av Arduino -skissen (i stedet for å bli sendt rett til VS1053). Ikke "FF-kommando" -byte blir sendt til VS1053.
Det er kommandoer for å endre instrumentet, endre skalaen, legge til vibrato og tremolo, etc. Programmet kan kjøres i "diskret" modus der det er separate noter (som et piano) eller i "kontinuerlig" modus der en enkelt tone er bøyd opp og ned (som en theremin).
Det gjør ganske bra alt det siste instrumentet vil gjøre, men det styres av en PC.
Høyre HC-SR04 ekkoloddsensor velger tonehøyden som spilles. I "diskret" modus er plassen til høyre delt inn i "binger". Når hånden din kommer inn i en søppelbøtte, starter notatet for den. Når du forlater søppelbøtta, kan noten stoppe (f.eks. Et orgel) eller dø naturlig (f.eks. Et piano). Når hånden din kommer inn i en søppelbøtte, utvides beholderen litt, slik at du ikke blir rystet i kanten.
Funksjonen GetSonar () returnerer tiden det tar før det første ekkoet. Den ignorerer veldig raske ekko (varighet <10) som HC-SR04 noen ganger rapporterer. Hvis det ikke er mottatt ekko av maxDuration, returnerer det maxDuration. Varigheten måles ikke i noen bestemte enheter - det er bare et tall.
I diskret modus filtreres varigheten først for å fjerne sporadiske frafall (når det ikke mottas ekko). Hånden antas å være tilstede først etter at 10 prøver av maxDuration er mottatt. Deretter filtreres varigheten ved hjelp av et medianfilter. Medianfiltre er gode til å fjerne "impulsiv" støy (dvs. sporadiske pigger). Den filtrerte varigheten brukes til å velge en skuff.
I Kontinuerlig modus filtreres varigheten igjen for å fjerne sporadiske frafall. Deretter glattes det ut med et eksponentielt filter. Den filtrerte varigheten brukes til å stille frekvensen til notatet ved hjelp av "pitch bend".
Trinn 3: Legge til en skjerm
Skjermen er en 1,44 farge TFT LCD-skjerm med en ST7735-kontroller, 128x128 piksler. Det er mange skjermer tilgjengelig på eBay, for eksempel foretrekker du kanskje å utvikle instrumentet ditt med en større berøringsskjerm. Jeg hadde ikke brukt ST7735 kontrolleren og ønsket å prøve den.
Jeg fikk min fra denne leverandøren. Den samme modulen selges mye på eBay - bare få en som ser lik ut som bildet.
LCD -skjermen har følgende pinner:
- GND bakken
- VCC 3.3V
- SCL SPI buss SCLK
- SDA SPI -buss MOSI fra Arduino
- RES reset
- DC data/kommando
- Velg CS -brikke
- BL baklys
Modulen kjører på 3.3V, så du bør ikke koble den direkte til din 5V Arduino. Jeg har brukt 1k motstander for å slippe spenningen. Det er ikke god praksis (generelt bør man bruke en potensialdeler eller en spenningsdropper-brikke), men fungerer perfekt i denne kretsen. Jeg var lat.
Skjermen drives av 3.3V levert av Arduino. Arduino -regulatoren virker glad nok.
Adafruit gir veldig vennlig ut et ST7735 -bibliotek, og flere andre biblioteker er tilgjengelige i Github og andre steder. Jeg prøvde noen og likte ingen av dem. Noen fungerte rett og slett ikke, og alle var enorme. Du skriver en Arduino -skisse som tegner en linje og litt tekst, og du finner hukommelsen hvis den er 75% full. Så jeg skrev mitt eget bibliotek.
SimpleST7735 -biblioteket kan lastes ned (last ned Step3.zip fra github).
Den har et standard sett med tegningskommandoer som er veldig like alle slike biblioteker.
Noen av de "raske" bibliotekene du kan laste ned, bruker spesielle tidssløyfer og blir opprørt når andre, kanskje tregere, enheter brukes på den samme bussen. SimpleST7735 er skrevet i C i stedet for assembler, så det er ikke så raskt som det kan være, men er mye mer bærbart og deler SPI -bussen høflig med andre enheter. Du kan laste ned et Windows -program som lar deg lage dine egne fonter og ikoner.
Du kan laste ned databladet ST7735 fra nettet. Du snakker med det
- sett CS lav
- sett DC lav
- send en kommandobyte
- sett DC høyt
- sende null eller flere databyte
- sett CS høyt
Du kan se hvordan jeg gjør det i spiSend_TFT_CW () -funksjonen i biblioteket. Databyte kan være en hel rad med piksler eller en innstilling for et kontrollregister.
Funksjonen ST7735Begin () i biblioteket viser initialiserings kommandosettet jeg har valgt. Du vil kanskje endre kommandoene hvis du velger en annen ST7735 -skjerm (f.eks. Med flere piksler) eller vil ha en annen retning. Jeg håper koden min er enkel for deg å se hvordan du kan endre den hvis du trenger det.
Skjematikken viser en kontrollknapp "SW1" og en fotpedal SW2 ". Kontrollknappen velger forskjellige" Oppsett "(se neste trinn) eller velger Menymodus. Fotpedalen er valgfri og velger bare forskjellige oppsett - jeg gjorde ikke montert en fotpedal selv. Oppsett er nyttige under en forestilling når du raskt vil bytte nøkkel eller bytte instrument.
Trinn 4: Menysystemet
Denne Miditheremin3.ino Arduino -skissen legger til et menysystem til MIDI Theremin og styrer det siste komplette instrumentet.
MIDI Theremin kjører vanligvis i "Play" -modus. Høyre hånd velger hvilken notat og venstre hånd kontrollerer kvaliteten på notatet. LCD -skjermen viser et pianotastatur med gjeldende notat uthevet.
Hvis du holder inne kontrollknappen i ett sekund, går programmet i "Meny" -modus. I menymodus, hvis du holder inne kontrollknappen i ett sekund, går programmet tilbake til "Spill" -modus.
Menyen har en trestruktur med hovedelementer og underelementer. Gjeldende menyelement er uthevet. Du flytter valget opp/ned via venstre ekkolodd. Undermenyene for et hovedelement utvides bare når hovedelementet er valgt.
Etter å ha valgt en undermeny, blir verdien av det elementet uthevet når du klikker på knappen. Den venstre hånden øker eller reduserer nå verdien. Klikk på knappen igjen for å gå tilbake til valg av undermenyer.
I diskret modus er menytreet
-
Instrument
- 0: Flygel
- Bytt hender: normalt
-
Høyre hånd
Modus: diskret
-
Venstre hand
- Modus: Vibrato
- Maks dybde: 10
- Skala
- Skala: major Heptatonisk
- Oktaver: 2
- Laveste notat: 60 C
-
Akkord
- Akkord: Major triade
- Inversjon: 0
- Polyfoni: 1
-
Tremolo
- Størrelse: 20
- Periode: 10
-
Vibrato
- Størrelse: 20
- Periode: 10
Instrumentet kan være "Grand Piano", "Church Organ", "Fiolin", etc. Det er 127 instrumenter i VS1053 hvorav mange høres identiske ut, og mange er dumme som "skudd". Undermenyen Swap Hands lar deg bytte funksjonene til venstre og høyre hånd - kanskje du foretrekker det på den måten, eller kanskje du vil at høyttalerne skal vende seg til publikum.
Høyre hånd kan være "diskret" eller "kontinuerlig". Se nedenfor for "kontinuerlig" meny.
Venstre hånd kan kontrollere "Volume", "Tremolo", "Vibrato", "PitchBendUp", "PitchBendDown", "Reverb", "Polyphony" eller "ChordSize".
"Volum" er åpenbart. "Tremolo" er en rask variasjon i volum; venstre hånd kontrollerer størrelsen på variasjonen; perioden angis av et annet menyelement. "Vibrato" er en rask variasjon i tonehøyde; venstre hånd kontrollerer størrelsen på variasjonen; perioden angis av et annet menyelement. "PitchBendUp" og "PitchBendDown" endrer banen til noten som spilles; venstre hånd styrer størrelsen på bøyen. "Reverb" er ganske imponerende i VS1053; venstre hånd styrer størrelsen på reverb. "Polyfoni" styrer hvor mange notater som spilles samtidig opp til maksimumet som er angitt av Polyfoni -menyen (se nedenfor). "ChordSize" betyr at venstre hånd styrer hvor mange noter av et akkord (se nedenfor) som spilles.
I musikk er en "skala" eller "nøkkel" delsettet av notater du bruker. For eksempel, hvis du begrenset deg til den heptatoniske skalaen i C -dur, spiller du bare de hvite notene på pianoet. Hvis du valgte C# Major Pentatonic, ville du bare bruke de svarte notene (f.eks. For skotske folkemelodier).
Skala -menyen velger hvilke notater høyre plass tilsvarer og hvor mange oktaver høyre plass dekker. Så hvis du velger 1 oktav E Major, er høyre plass delt inn i 8 hyller med E på den laveste tonehøyden og E en oktav over på den høyeste tonehøyden.
Scale-menyen lar deg velge mange uvanlige "ikke-vestlig musikk" skalaer, men det forutsetter at alle notene er fra det jevnt tempererte tastaturet-det er slik MIDI fungerer, du kan ikke enkelt angi frekvensen til et notat. Så hvis du ville si den arabiske kvarttonetonen, hadde du problemer.
Undermenyen Octaves lar deg velge hvor mange oktaver av skalaen du vil ha. Og den laveste tonen sier hvor skalaen starter.
Normalt når det spilles et notat, høres bare det notatet. Akkordmenyen lar deg spille flere noter samtidig. En Major Triad -akkord betyr 'spille den valgte tonen pluss noten fire halvtoner høyere, pluss noten syv halvtoner høyere'.
Undermenyen Inversion gir deg akkordinversjoner. Det betyr at den flytter noen av notene i akkordet til en oktav nedenfor. Den første inversjonen flytter alle de "ekstra" notene nedover en oktav, den andre inversjonen flytter en færre av de ekstra notene ned, og så videre.
Undermenyen Polyfoni sier hvor mange notater som spilles av samtidig; hvis polyfoni er 1, så stopper den forrige når en note starter; hvis polyfoni er større, kan flere notater overlappe - prøv det med kirkeorgelet.
Tremolo -menyen angir dybden på enhver tremolo og perioden for tremolosyklusen. En periode på "100" betyr en syklus per sekund. Hvis venstre hånd kontrollerer tremolo, er undermenyen Size skjult.
Vibrato -menyen angir størrelsen på en vibrato og perioden for vibratosyklusen. Hvis venstre hånd kontrollerer vibrato, er undermenyen Size skjult.
Programmet lar deg lagre og laste opptil 5 forskjellige "oppsett". A Setup lagrer alle verdiene du kan angi i menyen. Når du går ut av menymodus, lagres gjeldende oppsett. Oppsett lagres i EEPROM.
I avspillingsmodus endres det neste oppsettet ved å klikke på knappen. Hvis du holder knappen inne i ett sekund, vises menyen. Trykk på fotpedalen endres også til neste oppsett; fotpedalen velger aldri menyen.
I Kontinuerlig modus er menytreet
-
Instrument
- 0: Flygel
- Bytt hender: normalt
-
Høyre hånd
Modus: kontinuerlig
-
Område
- Antall halvtoner: 12
- Midtnotat: 60 C
-
Venstre hand
- Modus: Tremolo
- Maks dybde: 10
-
Tremolo
- Størrelse: 20
- Periode: 10
-
Vibrato
- Størrelse: 20
- Periode 10
Området-menyen velger hvilket frekvensområde som høyre angir: antall halvtoner dekket og midtnoten.
Venstre hånd kan bare kontrollere "Volum", "Tremolo" og "Vibrato".
Trinn 5: Lodding sammen
Jeg bygde kretsen på stripboard. Jeg kan ikke se poenget med å få en PCB laget for en engangsbruk med bare 4 motstander, men jeg skjønner at noen mennesker ikke liker stripboard.
Oppsettet mitt på tavlen er vist ovenfor. De fire brettene - Arduino, VS1053, display og stripboard - danner en sandwich. I oppsettet er omrisset til Arduino gult, VS1053 er blått, displayet er grønt og tavlen er oransje.
De cyan linjer er kobberlistene på tavlen - pass på at du legger pauser der det trengs. De røde linjene er lenker på komponentsiden av tavlen eller ledninger som går andre steder.
Jeg brukte ekstra lange pinner til VS1053-kortet fordi det står over Arduino. Pinner i de fjerne hjørnene på skjermen og VS1053 -kortene hjelper til med å stabilisere dem. Monteringshullene til modulene er belagt slik at du kan lodde dem. Sørg for at din ikke er koblet til bakken - monteringshullene på modulene mine er ikke.
Hvis du har en annen VS1053 -modul eller en annen skjerm, kan du endre Arduino -pinnene:
- D2 til D10 og A0 til A5 kan brukes i hvilken som helst rekkefølge du liker; oppdater pin -tallene nær starten av INO -skissen
- D11, D12, D13 er dedikert til SPI og kan ikke tildeles på nytt
- D0, D1 er dedikert til seriell I/O
- A6, A7 kan ikke brukes som digitale pinner
HC-SR04-modulene er 90 ° til hverandre forbundet med et stykke stripboard. Trykknappen er mellom dem. Ingen tvil om at du vil ha ditt eget foretrukne design.
Hvis du bestemmer deg for å ha en fotpedal, kobler du den til via en kontakt.
Trinn 6: Legge til en PSU
Jeg målte den totale strømmen til Arduino, VS1053 og viste som 79mA. I henhold til databladene er Arduino 20mA, skjermen er 25mA, VS1053 er 11mA og HC -SR04 er 15mA hver når den "fungerer" - så 80mA virker omtrent riktig.
Skjermen tar 25mA og drives av 3V3 -utgangen på Arduino som er vurdert til å gi 50mA. Så kretsen bør ikke stresse Arduinos 3V3 -regulator.
Kan vi drive kretsen gjennom Arduino's Vin pin? Jeg finner ikke svaret på det noe sted på nettet. Det er ikke i Arduino -dokumentasjonen. Den innebygde 5V-regulatoren forsvinner (Vin-5)*80 mW. Hva er dens maksimale spredning? Det ser ut til at ingen vet det. I henhold til databladet kan NCP1117-regulatoren i en SOT-223-pakke med minimum kobberpute spre 650mW. Så for en 80mA strøm,
- Vin Power
- 8V 240mW
- 9 320
- 10 400
- 11 480
- 12 560
- 13 640
- 14 720
For å være trygg antar jeg at vi ikke bør overstige 9V på Vin.
En ekstern 5V PSU ville vært langt tryggere, men jeg brukte Arduino -regulatoren, og det er greit.
For å drive kretsen valgte jeg en modul som kombinerer en LI-ion lader og en boost PSU. De er allment tilgjengelige på eBay eller søk etter "Li Charger Boost".
Laderen bruker en TC4056 -brikke som har en komplisert konstant strøm og konstant spenningsalgoritme. Når du fjerner USB -strøminngangen, går den i standby -modus med et batterinivå på mindre enn 2uA. TC4056 har en inngang for temperaturregistrering, men den er ikke tilgjengelig på modulkortet (pinnen er jordet).
Boostkretsen er angivelig 87-91% effektiv over det normale batterispenningsområdet med en utgangsstrøm på 50-300mA. (Jeg målte det ikke selv.) Det er ganske bra.
Imidlertid er "standby" -strømmen når du fjerner belastningen 0,3mA, noe som er dårlig. En 300mAH celle ville bli tømt på 6 uker. Kanskje det ville bli tappet så langt, ville spenningen synke til et skadelig nivå.
Det er et enkelt spor som kobler batteriet til boost -PSU. Du kan enkelt klippe sporet (se bilde). Lodd en ledning på den store motstanden på toppen slik at du kan bygge bro over kuttet via en bryter.
Strømmen som er trukket er nå 0,7uA med brettet jeg testet. Så cellen vil vare 50 år-vel, selvfølgelig ikke, selvutladningen til en Li-ion-celle er rundt 3% per måned. 3% per måned for en 300mAH celle er en strøm på 13uA. Sammenlign det med 300uA som boostkretsen tar. Jeg tror det er verdt å slå av boostkretsen.
Du bør ikke slå på lasten når cellen lades. Strømmen trukket av lasten vil forvirre ladealgoritmen.
Så du trenger en 2-polet vekselbryter (f.eks. En skyvebryter) som enten er i "På" eller "Lad" posisjon.
Du kan ignorere den innebygde USB-kontakten og lodde separate ledninger til bryteren og din egen USB-kontakt.
Eller du kan beholde den innebygde kontakten og kutte forbindelsen mellom kontakten og brikken. Diagrammet ovenfor viser hvor du skal klippe.
Koble 5V -utgangen til boost -PSU til 5V -pinnen på Arduino. Folk sier "ikke gjør det - du går forbi Arduino's beskyttelsesdiode". Men Nano har ikke en pinne koblet til USB -siden av dioden. Bare koble til 5V -pinnen. Hva er det verste som kan skje? Du mister en Nano som koster under £ 3.
PSU -kretsen må også drive forsterkeren for høyttalerne.
Trinn 7: Legge til høyttalere
Jeg ønsket at MIDI Theremin skulle være bærbar. Den bør inneholde egne høyttalere og forsterker.
Du kan bygge din egen forsterker eller kjøpe en forsterkermodul, deretter kjøpe høyttalere og sette dem i et etui. Men hva er poenget? I min techno-midden har jeg et halvt dusin drevne høyttalere som jeg har kjøpt fra veldedighetsbutikker og salg av bilstøvler, alt for under £ 1 hver.
De lyseblå høyttalerne brukte bare 30mA ved 5V, men har dårlig bassrespons. Den svarte radioen er en fin form - jeg kan tenke meg å montere HC -SR04 -modulene i hjørnene og displayet på den øvre overflaten. De grå "flatpanelene" drives av en USB -kontakt som er ideell.
Med litt søk bør du finne høyttalere med strøm som allerede har et godt etui. Sørg for at de går på spenningen til strømforsyningen. Hvis den drives av fire AA -celler, vil den sannsynligvis fungere OK ved 5V.
Men jeg gravde videre inn i techno-midden og fant en veldig fin dokkingstasjon jeg fikk på en "alt for £ 0,50" bod. Den hadde mistet laderen og IR -fjernkontrollen, men fungerer bra.
Hvis du er fast bestemt på å bygge dine egne høyttalere, er det en god instruks. Eller søk Instructables etter PAM8403 eller forsterker.
Trinn 8: Dokkestasjon
Dette er en veldig fin Logitech bærbar dokkingstasjon. Det er usannsynlig at du får det samme, men konstruksjonsprinsippene vil være de samme.
Dockingstasjonen inkluderer sin egen oppladbare Li-ion-celle og boost-PSU. (Hvis din ikke gjør det, bygg deretter PSU -en som er beskrevet ovenfor, og hopp over de neste avsnittene.)
Hvis forsterkeren din har en Li-ion-celle, har den sannsynligvis en boost-strømforsyning. (Spenningen til en enkelt Li-ion-celle er upraktisk lav, så det må økes.)
Finn først tilkoblingene for strømmen til forsterkeren. PSU -en vil ha store utjevningskondensatorer - se bildet av useriøs PCB. Mål spenningen ved loddeputer på undersiden. Den negative puten skal være kretsens "bakke". Hvis kretskortet har blitt flomfylt, blir det malt. Eller bakken kan være et tykt spor som går mange steder på brettet.
Det kan være store kondensatorer på utgangstrinnet til forsterkeren - det er den gammeldagse måten å gjøre det på. Mål spenningen over dem mens den fungerer. Det vil trolig variere i henhold til musikken og kan gjennomsnittlig halve spenningen til strømforsyningskondensatorene. Det er feil kondensatorer - du vil ha de i PSU.
Det er svært lite sannsynlig at brettet vil ha både positiv og negativ effekt (store stereoforsterker gjør det, men jeg har aldri sett en sånn lett). Sørg for at du virkelig har valgt bakken og positiv kraft.
Logitech -dokkingstasjonen jeg bruker har kompliserte digitale kretser så vel som den analoge forsterkeren. Hvis din er slik, vil den ha utjevningskondensatorer for 5V eller 3.3V pluss kanskje 9V for forsterkeren. Mål spenningene på tvers av alle de store kondensatorene og velg den største spenningen.
Sørg for at spenningen til strømtilkoblingen du har valgt avhenger av av/på -bryteren. (Når du slår av bryteren, kan det ta en stund å falle når spenningen tømmes.)
Loddetråder til det du har valgt som strømkilde. Logitech dokkingstasjon produserer rundt 9V som vil koble pent til Vin -pinnen på Arduino.
De drevne høyttalerne eller dokkingstasjonen bør ha en 3,5 mm -kontakt for lydinngang. En av loddeskjøtene blir malt - sannsynligvis den som er nærmest kanten av brettet. Bruk en ohm-måler for å kontrollere at den er koblet til det du tror er bakken. Med noen lydinnganger er ikke "skjoldet" på kontakten koblet direkte til bakken. Det flyter. Så hvis ingen av tappene er malt, ikke bekymre deg for øyeblikket. ("Skjoldet" på kontakten på VS1053 -modulen flyter også.)
Bruk en måler for å kontrollere at jekken "jordet" er på samme spenning som strømforsyningen.
Logitech dokkingstasjon var rar. Hvis jeg koblet "bakken" til Logitech -kontakten til "bakken" på VS1053 -kortet (ved hjelp av en lydkabel fungerte det bra, men strømmen til Theremin -systemet mitt gikk opp fra 80mA til over 200mA. Så jeg sørget for at Jeg koblet ikke de to "begrunnelsene". Det fungerer bra, men jeg aner ikke hva som foregikk.
Trinn 9: Lag en sak
Hvilken sak du gjør vil avhenge av materialene du må levere, hva du liker å jobbe med og de drevne høyttalerne du valgte. Uansett hva du lager, bør du sørge for at ekkoloddene peker vekk fra hverandre og opp i 45 °. Deretter vil det være displayet og trykknappen.
Hvis du har sett på mine andre Instuctables, vet du at jeg er en stor fan av tinnplate. Den kan bøyes i form, myk loddes og males. Bildene viser hvordan jeg ordnet ting.
Den øverste trekanten er bøyd, loddet, fylt, glatt og malt. PCB-ene er varmlimt i trekanten og har små skiver av tre for å fungere som avstandsstykker.
"Frontpanelet" er 1 mm polystyrenark. Standoffs er laget av mer polystyrenark og selvskruende skruer holder stripen på plass. Trestøtter limes varm inn i hulrommet foran på dokkingstasjonen, og kretskortene skrus på dem med lange selvskruende skruer.
Jeg antar at jeg kunne ha 3D-utskrevet noe, men jeg foretrekker gamle skolemetoder der jeg kan justere ting etter hvert. Å gjøre ting er en oppdagelsesreise fremfor "ingeniørarbeid".
Trinn 10: Fremtidig utvikling
Hvordan kan du utvikle instrumentet videre? Du kan endre brukergrensesnittet. Du kan bytte ut knappen med en IR -avstandssensor, slik at du ikke trenger å berøre instrumentet i det hele tatt. Eller kanskje bruke en berøringsskjerm i stedet for en knapp og venstre for å kontrollere menyen.
Scale-menyen lar deg velge «ikke-vestlig musikk» skalaer, men det forutsetter at alle tonene er fra det jevnt tempererte tastaturet-slik fungerer MIDI. Andre skalaer er ikke relatert til et jevnt temperert tastatur på noen måte. Det kan være mulig å bruke pitch-bend for å lage slike notater. Du trenger en måte for menyen å angi frekvensen for hvert notat. Jeg tror pitch bend kan gjelde for alle notene i kanalen. Jeg bruker for tiden bare en kanal - kanal 0. Så hvis den er polyfonisk eller har akkorder, må du spille hver tone i en annen kanal.
Instrumentet kan bli en trommesyntesizer. Venstre hånd kan bestemme tonehøyden til en Melodic Tom mens høyre ekkolodd erstattes med en piezosensor som du slår for å lyde trommelen.
De to hendene kunne kontrollere to forskjellige instrumenter.
Venstre hånd kan velge et instrument.
Omtrent halvveis i dette prosjektet oppdaget jeg Altura MkII Theremin MIDI -kontrolleren av Zeppelin Design Labs. Det ser ut som et fint instrument.
De har et par videoer som er veldig verdt å se:
(Jeg stjal ordet "søppelbøtter" fra Altura og ideen om at en kasse utvides når du går inn i den for å hjelpe deg med å bli i den.)
Min MIDI Theremin skiller seg fra Altura på noen få måter. Mine produserer sin egen lyd med sin innebygde MIDI-synth, forsterker osv.; Altura sender meldinger til en ekstern synth. Du foretrekker kanskje måten de gjør det på. Min har en TFT -skjerm i stedet for en 7 -segmenters skjerm - det er definitivt bedre, men du tror kanskje at en større skjerm ville være en forbedring. Mine bruker menyer for å sette opp parameterne mens deres bruker knapper. Menyer kreves fordi min trenger mange kontroller for inndataenheten (sonarene) og synthen; Altura trenger færre kontroller. Kanskje knottene er bedre under en liveopptreden. Kanskje min burde ha knotter. En knapp for valg av oppsett kan være bra.
Altura har en "Articulation" -kontroll som angir hvor raskt notater kan spilles. Jeg har ikke inkludert det i programvaren min - kanskje den burde være der. Altura har en Arpeggiator (trinn -sequencer). Det er en god ide; min har akkorder som ikke er det samme.
Så det er det. Jeg håper du liker å bygge og bruke en MIDI-Theremin. Gi meg beskjed hvis du finner feil i beskrivelsen min, eller hvis du kan tenke deg noen forbedringer.
Anbefalt:
Lag din egen enkle Theremin: 4 trinn (med bilder)
Lag din egen enkle Theremin: I dette prosjektet vil jeg vise deg hvordan det elektroniske instrumentet Theremin fungerer og hvordan vi kan lage en enkel versjon av det ved hjelp av 2 ICer og bare noen få komplementære komponenter. Underveis vil vi snakke om oscillatortyper, kroppskapasitet
Sammenligning av LV-MaxSonar-EZ og HC-SR04 Sonar Range Finders med Arduino: 20 trinn (med bilder)
Sammenligning av LV-MaxSonar-EZ og HC-SR04 Sonar Range Finders med Arduino: Jeg finner ut at mange prosjekter (spesielt roboter) krever, eller kan ha nytte av, å måle avstanden til et objekt i sanntid. Sonar-avstandsfindere er relativt rimelige og kan enkelt kobles til en mikrokontroller som Arduino. Dette i
SONAR Høyde måleinstrument 2: 3 trinn (med bilder)
SONAR Høyde måleinstrument 2: versjon 1.0: https://www.instructables.com/id/SONAR-Height-Meas..Vil du bygge en PC: http://howtobuildpcr8india.weebly.com/ Introduksjon: Dette prosjektet er et høydemåleredskap som er basert på arduinoen og av ultralydssensor. Måler
HC - 06 (Slave Module) Endre "NAME" Uten bruk "Monitor Serial Arduino" som "Fungerer enkelt": Feilfri måte!: 3 trinn
HC - 06 (Slave Module) Endre "NAME" Uten bruk "Monitor Serial Arduino" … som "Fungerer enkelt": Feilfri måte!: Etter " Lang tid " prøver å endre navn på HC - 06 (slave -modul), ved hjelp av " seriell skjerm av Arduino, uten " Suksess ", jeg fant en annen enkel måte og jeg deler nå! Ha det gøy venner
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: 7 trinn (med bilder)
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: Denne kontrolleren blinker trefargede LED stripelys for 50mS per note. Blå for G5 til D#6, rød for E6 til B6 og grønn for C7 til G7. Kontrolleren er en ALSA MIDI -enhet, slik at MIDI -programvare kan mates ut til lysdiodene samtidig som en MIDI -synthenhet