INHOUDSOPGAWE:

MIDI Sonar "Theremin": 10 stappe (met foto's)
MIDI Sonar "Theremin": 10 stappe (met foto's)

Video: MIDI Sonar "Theremin": 10 stappe (met foto's)

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

Dit is 'n musiekinstrument wat twee sonarafstandsensors gebruik om die toonhoogte en kwaliteit van die note te beheer. Dit is natuurlik nie regtig 'n Theremin nie, maar 'Theremin' het die algemene term geword vir instrumente wat gespeel word deur met jou hande rond te waai.

Dit het 'n ingeboude MIDI-sintetiseerder, versterker en luidsprekers. Die musieknote word vervaardig deur 'n MIDI -chip - die VS1053 - met 127 stemme (dws na bewering verskillende instrumente). Dit het 'n hoë polifonie (tot 64), sodat dit enkele note of akkoorde kan speel.

Jou regterhand beheer die noot wat gespeel word. In die "diskrete" modus is die spasie aan die regterkant verdeel in "asblikke". As u hand in 'n asblik kom, begin die noot vir die asblik. As u die asblik verlaat, kan die noot stop (byvoorbeeld 'n orrel) of natuurlik sterf (byvoorbeeld 'n klavier).

In die "deurlopende" modus bepaal die spasie aan die regterkant 'n voortdurend veranderlike toonhoogte - soos die oorspronklike Theremin. Die noot begin wanneer u hand die ruimte binnegaan en stop wanneer u die spasie verlaat.

Jou linkerhand beheer die kwaliteit van die noot wat gespeel word. Dit kan die volume, tremolo, vibrato, pitch-bend, galm, ens.

'N Klein LCD -skerm het 'n spyskaart waarmee u die huidige instrument kan kies, die funksie van die linkerhand, die skaal (of "sleutel") van die regterhand, vibrato, tremolo, ens. U kan verskillende "opstellings" stoor en laai. "en skakel vinnig tussen hulle tydens 'n optrede.

Die hele MIDI "Theremin" -instrument werk op sy eie met sy eie luidspreker en herlaaibare battery.

As u my build gaan kopieer, benodig u 'n Arduino Nano (£ 1,50), 'n VS1053-module (£ 4,50), 'n 1,44 ST7735 LCD-skerm (£ 3,50), twee HC-SR04-modules (£ 1 elk) en 'n paar weerstande. U benodig ook 'n paar luidsprekers en miskien 'n litiumsel en 'n PSU, maar die besonderhede hang af van hoe u besluit om dit te bou. Ek het die gewone elektroniese werkswinkel -toebehore nodig.

Stap 1: Beheer van die VS1053

Die beheer van die VS1053
Die beheer van die VS1053
Die beheer van die VS1053
Die beheer van die VS1053

Ek het die VS1053 -module gekies wat op die foto getoon word. (Let op die twee SOT223 -reguleerders, die twee aansluitstukke en die posisie van die aansluiting.) Soek 'n VS1053 -module op eBay, Alibaba of u gunsteling verskaffer. Hulle is hier en hier by Aliexpress beskikbaar.

Ek het dit 'n paar jaar gelede gekoop, en dit blyk nie meer op eBay beskikbaar te wees nie, slegs op Alibaba. 'N Rooi PCB -weergawe is nou op eBay beskikbaar. Dit blyk funksioneel identies te wees, maar die pinout is anders, dus u moet my skema's en uitlegte aanpas. Ek het dit nie getoets nie. In die bespreking (hieronder) kan u instruksies vind oor hoe u 'n weerstand by die rooi PCB kan voeg om 'live' MIDI moontlik te maak. Of u kan tydens die opstelling ekstra opdragte stuur om dit moontlik te maak.

Die VS1053 is 'n goeie chip, maar taamlik ingewikkeld. Ek gebruik slegs die MIDI -gedeelte daarvan. Dit is moontlik om die VS1053 via 'n seriële koppelvlak te beheer, maar ek gebruik die SPI -bus, aangesien dit geriefliker is met 'n Arduino Nano. Enige byte wat u via die SPI -bus stuur, word behandel as 'n MIDI -opdrag.

U vind lyste met MIDI -opdragte op die internet. Die VS1053 reageer op sommige, maar nie almal nie. Die Miditheremin0.exe -program wys diegene wat ek weet werk.

U kan die VS1053 -datablad van die internet aflaai. Dit is 'n groot dokument en dit gaan moeilik. Afdeling "8.9 Ondersteunde MIDI -formate" is omtrent alles wat dit oor MIDI sê. Afdeling "10.10 Real-Time MIDI" praat oor die gebruik van GPIO0 en GPIO1 om MIDI moontlik te maak, maar die bord wat ek benodig, het geen spesiale aanpassing nodig gehad nie. U kan ook 'n lys met MIDI -boodskappe aflaai (nie almal word deur die VS1053 ondersteun nie).

Dra die VS1053 -module na 'n Arduino Nano soos aangedui en laai die INO -lêer op na die Arduino. Ek het 'n soldeerlose broodbord gebruik. Ek het op die stadium geen foto daarvan nie, maar u kan die broodbord met ander komponente in 'n stap hieronder sien.

Die INO -skets ontvang 'n greep van die rekenaar oor die reekslyn en stuur die greep na die VS1053. Dit is 'n baie eenvoudige program waarmee u die VS1053 kan toets. Koppel die uitvoeraansluiting aan die koptelefoon of 'n rekenaarluidspreker.

Die Windows Miditheremin0.exe -program (aflaai Step1.zip van github) stuur opdragte na die VS1053. Klik op die knoppie "90 noot vel" om 'n noot te speel. Of u kan u eie Windows -program skryf. Of gebruik een van die vele terminale programme wat op die internet beskikbaar is.

Die VS1053 -module het die volgende penne:

  • die SPI -bus het die gewone MISO, MOSI en SCLK
  • As XRST laag is, word die chip teruggestel
  • XDCS doen niks in die SPI -modus nie, so bind dit aan XCS
  • XCS is Chip Select
  • DREQ vertel u wanneer die chip gereed is vir 'n nuwe opdrag.

XCS moet laag gestel word terwyl u 'n greep stuur; dan hoog. Op hierdie manier is u seker dat u die eerste bietjie van elke greep gesinchroniseer het. Deur DREQ te lees, word vertel dat die chip gereed is om 'n nuwe opdrag te ontvang.

Nadat die Arduino 'n byte gestuur het, moet dit 'n dummy -byte stuur om die klok te skakel en die VS1053 in staat te stel om 'n byte terug te stuur. Die funksie SPItransfer () wys u hoe.

Die rooi module wat op eBay beskikbaar is, bevat 'n SD -kaartgleuf, sodat dit 'n paar ekstra penne het. Ignoreer hulle.

Noudat u vol vertroue is dat u die VS1053 kan laat werk, sal ons dit meer as 'n musiekinstrument maak.

Stap 2: Gebruik die sonars

Gebruik die sonars
Gebruik die sonars
Gebruik die sonars
Gebruik die sonars

Dra die HC-SR04-modules na die Arduino Nano soos aangedui en laai die INO-lêer op na die Arduino.

Let op in die skema dat DC3 - die ontkoppelingskondensator vir die HC -SR04 -modules - naby die HC -SR04 -modules gekoppel moet word. Hulle neem baie stroom wanneer hulle stuur watter DC3 help voorsien.

In hierdie stadium van die projek stuur die Windows-rekenaar steeds opdragte na die VS1053, maar die VS1053 word ook beheer deur die HC-SR04 sonarsensors (laai Step2.zip af van github).

Die nuwe opdragte begin almal met 0xFF en word geïnterpreteer deur die Arduino -skets (eerder as om direk na die VS1053 gestuur te word). Nie "FF-command" grepe word na die VS1053 gestuur.

Daar is opdragte om die instrument te verander, die skaal te verander, vibrato en tremolo by te voeg, ens. Die program kan uitgevoer word in 'diskrete' modus waar daar afsonderlike note (soos 'n klavier) is of in '' continue 'mode waar 'n enkele noot is op en af gebuig (soos 'n theremin).

Dit doen alles goed wat die finale instrument sal doen, maar dit word beheer deur 'n rekenaar.

Die regte HC-SR04 sonarsensor kies die toonhoogte wat gespeel word. In die "diskrete" modus is die spasie aan die regterkant verdeel in "asblikke". As u hand in 'n asblik kom, begin die noot vir die asblik. As u die asblik verlaat, kan die noot stop (byvoorbeeld 'n orrel) of natuurlik sterf (byvoorbeeld 'n klavier). As u hand in 'n asblik kom, brei die houer effens uit sodat u nie aan die rand raak nie.

Die GetSonar () -funksie gee die tyd wat dit geneem het tot die eerste eggo terug. Dit ignoreer baie vinnige eggo's (duur <10) wat die HC-SR04 soms rapporteer. As geen eggo deur maxDuration ontvang is nie, gee dit maxDuration terug. Die tydsduur word nie in spesifieke eenhede gemeet nie - dit is slegs 'n getal.

In die diskrete modus word die duur eers gefiltreer om af en toe uitvalle te verwyder (as geen eggo ontvang word nie). Daar word aanvaar dat die hand slegs teenwoordig is nadat 10 monsters van maxDuration ontvang is. Dan word die tydsduur gefiltreer met behulp van 'n mediaanfilter. Mediaan filters is goed in die verwydering van 'impulsiewe' geraas (dit wil sê af en toe spykers). Die gefiltreerde tydsduur word gebruik om 'n asblik te kies.

In die deurlopende modus word die tydsduur weer gefiltreer om af en toe uitvalle te verwyder. Dan word dit glad gemaak met 'n eksponensiële filter. Die gefiltreerde tydsduur word gebruik om die frekwensie van die noot in te stel met behulp van 'pitch bend'.

Stap 3: Voeg 'n skerm by

Voeg 'n skerm by
Voeg 'n skerm by
Voeg 'n skerm by
Voeg 'n skerm by
Voeg 'n skerm by
Voeg 'n skerm by

Die skerm is 'n 1,44 kleur TFT LCD-skerm met 'n ST7735-kontroleerder, 128x128 pixels. Daar is baie skerms op eBay beskikbaar, byvoorbeeld, u sou verkies om u instrument met 'n groter aanraakskerm te ontwikkel. Ek sou nie die ST7735 gebruik het nie beheerder en wou dit probeer.

Ek het myne by hierdie verskaffer gekry. Dieselfde module word wyd op eBay verkoop - kry net een wat dieselfde lyk as die foto.

Die LCD het die volgende penne:

  • GND grond
  • VCC 3.3V
  • SCL SPI bus SCLK
  • SDA SPI -bus MOSI van Arduino
  • RES herstel
  • DC data/opdrag
  • CS chip kies
  • BL agterlig

Die module werk op 3.3V, dus moet u dit nie direk aan u 5V Arduino koppel nie. Ek het 1k weerstande gebruik om die spanning te verlaag. Dit is nie goeie praktyk nie (in die algemeen moet u 'n potensiële verdeler of 'n spanningsverdeler-chip gebruik), maar dit werk uitstekend in hierdie stroombaan. Ek was lui.

Die skerm word aangedryf deur die 3.3V van die Arduino. Die Arduino -reguleerder lyk gelukkig genoeg.

Adafruit publiseer baie vriendelik 'n ST7735 -biblioteek en verskeie ander biblioteke is beskikbaar in Github en elders. Ek het 'n paar probeer en niks van hulle gehou nie. Sommige het eenvoudig nie gewerk nie en almal was groot. U skryf 'n Arduino -skets wat 'n streep trek en 'n bietjie teks, en u vind dat u geheue 75% vol is. Daarom het ek my eie biblioteek geskryf.

Die SimpleST7735 -biblioteek kan afgelaai word (aflaai Step3.zip van github).

Dit het 'n standaard stel tekenopdragte wat baie ooreenstem met al sulke biblioteke.

Sommige van die 'vinnige' biblioteke wat u kan aflaai, gebruik spesiale tydsberekening -lusse en is ontsteld as ander, miskien stadiger toestelle op dieselfde bus gebruik word. SimpleST7735 is in C eerder as assembler geskryf, so dit is nie so vinnig as wat dit kan wees nie, maar is baie meer draagbaar en deel die SPI -bus beleefd met ander toestelle. 'N Windows -program kan afgelaai word waarmee u u eie lettertipes en ikone kan maak.

U kan die ST7735 -datablad van die internet aflaai. Jy praat daarmee

  • stel CS laag
  • stel DC laag
  • stuur 'n opdragbyte
  • stel DC hoog
  • stuur nul of meer databytes
  • stel CS hoog

U kan sien hoe ek dit doen in die funksie spiSend_TFT_CW () in die biblioteek. Die datagrepe kan 'n hele reeks pixels of 'n instelling vir 'n kontroleregister wees.

Die funksie ST7735Begin () in die biblioteek wys u die inisialiseringsopdragstel wat ek gekies het. U kan die opdragte verander as u 'n ander ST7735 -skerm (byvoorbeeld met meer pixels) kies of 'n ander oriëntasie wil hê. Ek hoop dat my kode vir u maklik is om te sien hoe u dit kan verander.

Die skema toon 'n knoppie "SW1" en 'n voetpedaal SW2 ". Die knoppie kies verskillende" Opstellings "(sien die volgende stap) of kies die spyskaartmodus. Ek het self 'n voetpedaal aangebring. Opstellings is handig tydens 'n optrede as u vinnig die sleutel wil verander of die instrument wil verander.

Stap 4: Die spyskaartstelsel

Die spyskaartstelsel
Die spyskaartstelsel
Die spyskaartstelsel
Die spyskaartstelsel

Hierdie Miditheremin3.ino Arduino -skets voeg 'n spyskaartstelsel by die MIDI Theremin en beheer die finale volledige instrument.

Die MIDI Theremin werk gewoonlik in die 'speel' -modus. U regterhand kies watter noot en u linkerhand die kwaliteit van die noot beheer. Die LCD vertoon 'n klavierklavier met die huidige noot gemerk.

As u die beheerknoppie vir 'n sekonde ingedruk hou, gaan die program in die "Menu" -modus. As u in die spyskaartmodus die beheerknoppie vir 'n sekonde ingedruk hou, keer die program terug na die "Speel" -modus.

Die spyskaart het 'n boomstruktuur met groot items en subitems. Die huidige menu-item word gemerk. U skuif die keuse op/af via die linker sonar. Die sub-spyskaarte vir 'n hoofartikel word slegs uitgebrei as die hoof-item gekies is.

Nadat u 'n submenu gekies het, word die waarde van die item uitgelig as u op die knoppie klik. Die linkerhand verhoog of verminder nou die waarde. Klik weer op die knoppie om terug te gaan na die kies van subkieslyste.

In die diskrete modus is die spyskaartboom

  • Instrument

    • 0: vleuelklavier
    • Wissel hande: normaal
  • Regter hand

    Modus: diskreet

  • Linkerhand

    • Modus: Vibrato
    • Maksimum diepte: 10
  • Skaal

    • Skaal: groot Heptatonies
    • Oktawe: 2
    • Laagste noot: 60 C.
  • Akkoord

    • Akkoord: majeur drieklank
    • Inversie: 0
    • Polifonie: 1
  • Tremolo

    • Grootte: 20
    • Tydperk: 10
  • Vibrato

    • Grootte: 20
    • Tydperk: 10

Die instrument kan 'Grand Piano', 'Church Organ', 'Violin', ens wees. Daar is 127 instrumente in die VS1053, waarvan baie identies klink en baie dom is soos 'geweerskoot'. Met die subkieslys Swap Hands kan u die funksies van die linker- en regterhand omruil - miskien verkies u dit so, of wil u hê dat die sprekers die gehoor in die gesig staar.

Die regterhand kan 'diskreet' of 'deurlopend' wees. Sien hieronder vir die "deurlopende" spyskaart.

Die linkerhand kan 'Volume', 'Tremolo', 'Vibrato', 'PitchBendUp', 'PitchBendDown', 'Reverb', 'Polyphony' of 'ChordSize' beheer.

'Volume' is duidelik. 'Tremolo' is 'n vinnige volume -variasie; die linkerhand beheer die grootte van die variasie; die tydperk word bepaal deur 'n ander menu -item. "Vibrato" is 'n vinnige variasie in toonhoogte; die linkerhand beheer die grootte van die variasie; die tydperk word bepaal deur 'n ander menu -item. "PitchBendUp" en "PitchBendDown" verander die toonhoogte van die noot wat gespeel word; die linkerhand beheer die grootte van die buiging. "Reverb" is nogal onindrukwekkend in die VS1053; die linkerhand beheer die grootte van die galm. "Polifonie" beheer hoeveel note tegelyk gespeel word tot die maksimum wat deur die Polyphony -spyskaart gestel word (sien hieronder). "ChordSize" beteken dat die linkerhand beheer hoeveel note van 'n akkoord (sien hieronder) gespeel word.

In musiek is 'n 'skaal' of 'sleutel' die deelversameling notas wat u gebruik. As u uself byvoorbeeld beperk het tot die Heptatoniese toonhoogte van C majeur, speel u net die wit note van die klavier. As u C# Major Pentatonic gekies het, gebruik u net die swart note (byvoorbeeld vir Skotse volksliedjies).

Die spyskaart kies watter notas die regterkantse ruimte ooreenstem met en hoeveel oktawe die regterkantse ruimte beslaan. As u dus 1 oktaaf E -majeur kies, dan is die regterkantse ruimte verdeel in 8 asblikke met E op die laagste toonhoogte en E een oktaaf bo op die hoogste toonhoogte.

Met die Scale-kieslys kan u baie ongewone "nie-Westerse musiek" -skale kies, maar dit neem aan dat alle note van die ewe getemperde sleutelbord kom-dit is hoe MIDI werk; u kan nie maklik die frekwensie van 'n noot spesifiseer nie. As u byvoorbeeld die Arabiese kwarttoonskaal wou hê, sou u probleme ondervind.

Met die subkieslys Octaves kan u kies hoeveel oktawe van die skaal u wil hê. En die laagste noot sê waar die skaal begin.

Normaalweg word slegs die noot as 'n noot gespeel word. Met die akkoordkieslys kan u verskeie note tegelyk speel. 'N Major Triad -akkoord beteken' speel die gekose noot plus die noot vier halftone hoër, plus die noot sewe halftone hoër '.

Die subkieslys Inversion gee u akkoordinversies. Dit beteken dat dit sommige van die note van die akkoord na een oktaaf hieronder skuif. Die eerste omkering skuif al die "ekstra" note in 'n oktaaf, die tweede inversie skuif een minder van die ekstra note af, ensovoorts.

Die subkieslys Polyphony sê hoeveel note gelyktydig speel; as polifonie 1 is, word die vorige een gestaak as een noot begin; As polifonie groter is, kan verskeie note oorvleuel - probeer dit met die kerkorrel.

Die Tremolo -spyskaart spesifiseer die diepte van enige tremolo en die tydperk van die tremolosiklus. 'N Periode van "100" beteken een siklus per sekonde. As die linkerhand die tremolo beheer, is die submenu Grootte versteek.

Die Vibrato -spyskaart spesifiseer die grootte van enige vibrato en die periode van die vibrato -siklus. As die linkerhand vibrato beheer, is die submenu Grootte versteek.

Met die program kan u tot 5 verskillende "opstellings" stoor en laai. 'N Opset stoor al die waardes wat u in die spyskaart kan stel. As u die spyskaartmodus verlaat, word die huidige opstelling gestoor. Opstellings word in die EEPROM gestoor.

In die speelmodus verander die klik op die knoppie na die volgende opstelling. As u die knoppie vir 'n sekonde ingedruk het, verskyn die spyskaart. Deur op die voetpedaal te druk, verander ook na die volgende opstelling; die voetpedaal kies nooit die spyskaart nie.

In die deurlopende modus is die spyskaartboom

  • Instrument

    • 0: vleuelklavier
    • Wissel hande: normaal
  • Regter hand

    Modus: deurlopend

  • Bereik

    • Aantal halftone: 12
    • Middelnoot: 60 C.
  • Linkerhand

    • Modus: Tremolo
    • Maksimum diepte: 10
  • Tremolo

    • Grootte: 20
    • Tydperk: 10
  • Vibrato

    • Grootte: 20
    • Tydperk 10

Die Range-kieslys kies watter reeks frekwensies die regterkant spesifiseer: die aantal halftones wat gedek word en die middelste noot.

Die linkerhand kan slegs 'Volume', 'Tremolo' en 'Vibrato' beheer.

Stap 5: Saam soldeer

Soldeer dit saam
Soldeer dit saam
Soldeer dit saam
Soldeer dit saam
Soldeer dit saam
Soldeer dit saam

Ek het die kring op strook gebou. Ek kan nie die punt sien om 'n PCB vir eenmalig met slegs 4 weerstande gemaak te kry nie, maar ek besef dat sommige mense nie van strookbord hou nie.

My strookborduitleg word hierbo getoon. Die vier borde - Arduino, VS1053, display en stripboard - vorm 'n toebroodjie. In die uitleg is die buitelyn van die Arduino geel, die VS1053 blou, die skerm groen en die strook oranje.

Die siaanlyne is die koperstroke van die strookplank - maak seker dat jy breek plaas waar nodig. Die rooi lyne is skakels aan die onderkant van die strook of drade wat elders gaan.

Ek het ekstra lang penne vir die VS1053-bord gebruik omdat dit bo die Arduino staan. Spelde op die verste hoeke van die skerm en VS1053 -borde help om dit te stabiliseer. Die monteergate van die modules is bedek sodat u dit kan soldeer. Maak seker dat die uwe nie met die grond gekoppel is nie - die monteergate van my modules is nie.

As u 'n ander VS1053 -module of 'n ander skerm het, kan u die Arduino -penne verander:

  • D2 tot D10 en A0 tot A5 kan in enige volgorde gebruik word; werk die speldnommers by naby die begin van die INO -skets
  • D11, D12, D13 is toegewy aan SPI en kan nie weer toegewys word nie
  • D0, D1 is toegewy aan reeks I/O
  • A6, A7 kan nie as digitale penne gebruik word nie

Die HC-SR04-modules is 90 ° met mekaar verbind deur 'n stuk strookbord. Die drukknop is tussen hulle. U het ongetwyfeld u eie ontwerp wat u verkies.

As u besluit om 'n voetpedaal te hê, moet u dit via 'n aansluiting aansluit.

Stap 6: Voeg 'n PSU by

Voeg 'n PSU by
Voeg 'n PSU by
Voeg 'n PSU by
Voeg 'n PSU by
Voeg 'n PSU by
Voeg 'n PSU by

Ek het die totale stroom van die Arduino, VS1053, gemeet en as 79mA vertoon. Volgens die gegewensblaaie is die Arduino 20mA, die skerm 25mA, die VS1053 11mA en die HC -SR04 elk 15mA as dit 'werk' - dus lyk 80mA reg.

Die skerm neem 25mA en word aangedryf deur die 3V3 -uitgang van die Arduino, wat 'n nommer van 50mA gee. Die kring moet dus nie die Arduino se 3V3 -reguleerder beklemtoon nie.

Kan ons die kring deur die Arduino's Vin -pen dryf? Ek kan nêrens op die internet die antwoord hierop vind nie. Dit is nie in die Arduino -dokumentasie nie. Die ingeboude 5V-reguleerder sal verdwyn (Vin-5)*80 mW. Wat is die maksimum verspreiding daarvan? Dit blyk dat niemand regtig weet nie. Volgens sy datablad kan die NCP1117-reguleerder in 'n SOT-223-pakket met 'n minimum koperblok 650mW versprei. Dus, vir 'n stroom van 80mA,

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

Om veilig te wees, veronderstel ek dat ons nie Vin 9V moet oorskry nie.

'N Eksterne 5V PSU sou baie veiliger wees, maar ek het die Arduino se reguleerder gebruik en dit is goed.

Om die stroombaan aan te dryf, het ek 'n module gekies wat 'n LI-ioonlaaier en 'n hupstootvoeding kombineer. Hulle is algemeen beskikbaar op eBay of soek na "Li Charger Boost".

Die laaier gebruik 'n TC4056 -chip wat 'n ingewikkelde konstante stroom en konstante spanning algoritme het. As u die USB -ingang verwyder, gaan dit in die standby -modus met 'n laer battery as 2uA. Die TC4056 het 'n ingang vir temperatuurwaarneming, maar dit is nie op die modulebord beskikbaar nie (die pen is geaard).

Die hupstootkring is na bewering 87-91% doeltreffender oor die normale batteryspanningsbereik met 'n uitsetstroom van 50-300mA. (Ek het dit nie self gemeet nie.) Dit is redelik goed.

Die "standby" -stroom wanneer u die las verwyder, is egter 0,3mA, wat swak is. 'N Sel van 300 mAH word binne 6 weke leeggemaak. Miskien sou dit tot dusver leeggemaak word, en sy spanning sou tot 'n skadelike vlak daal.

Daar is 'n enkele snit wat die battery verbind met die hupstoot PSU. U kan die baan maklik sny (sien foto). Soldeer 'n draad aan die groot weerstand aan die bokant, sodat u die snit met 'n skakelaar kan oorbrug.

Die huidige getekende is nou 0.7uA met die bord wat ek getoets het. Die sel sal dus 50 jaar duur-natuurlik nie, die selfontlading van 'n Li-ioonsel is ongeveer 3% per maand. 3% per maand vir 'n 300mAH -sel is 'n stroom van 13uA. Vergelyk dit met die 300uA wat die hupstootkring neem. Ek dink dit is die moeite werd om die boost -stroombaan af te skakel.

U moet die laai nie aanskakel as die sel laai nie. Die stroom wat deur die vrag getrek word, sal die laai -algoritme verwar.

U benodig dus 'n 2-polige omskakelaar (bv. 'N skuifskakelaar) wat in die "Aan" of "Laai" posisie is.

U kan die ingeboude USB-aansluiting en afsonderlike drade aan die skakelaar en u eie USB-aansluiting ignoreer.

Of u kan die ingeboude sok hou en die verbinding tussen die sok en die chip onderbreek. Die diagram hierbo wys waar om te sny.

Koppel die 5V -uitvoer van die boost -PSU aan die 5V -pen van die Arduino. Mense sê "moenie dit doen nie - jy loop die Arduino -beskermingsdiode verby". Maar die Nano het nie 'n pen aan die USB -kant van die diode gekoppel nie. Koppel net aan die 5V -pen. Wat is die ergste wat kan gebeur? U verloor 'n Nano wat minder as £ 3 kos.

Die PSU -kring moet ook die versterker van die luidsprekers voed.

Stap 7: Voeg luidsprekers by

Voeg sprekers by
Voeg sprekers by

Ek wou hê dat die MIDI Theremin draagbaar was. Dit moet sy eie luidsprekers en versterker bevat.

U kan u eie versterker bou of 'n versterkermodule koop, dan luidsprekers koop en in 'n houer sit. Maar wat is die punt? In my techno-midden het ek 'n halfdosyn aangedrewe luidsprekers wat ek gekoop het by liefdadigheidswinkels en motorbakkies vir minder as £ 1 elk.

Die ligblou luidsprekers het slegs 30mA by 5V gebruik, maar het 'n swak basrespons. Die swart radio is 'n goeie vorm - ek kan my voorstel dat die HC -SR04 -modules op die hoeke en die skerm op die boonste oppervlak gepas word. Die grys "plat panele" word aangedryf deur 'n USB -aansluiting, wat ideaal is.

Met 'n bietjie soek, moet u luidsprekers met 'n goeie koffer vind. Maak seker dat hulle op die spanning van u kragtoevoer werk. As dit deur vier AA -selle aangedryf word, werk dit waarskynlik goed by 5V.

Maar ek het verder in die techno-midden ingegrawe en 'n baie goeie dokstasie gevind wat ek by 'n "alles vir £ 0,50" stalletjie gekry het. Dit het sy laaier en IR -afstandsbediening verloor, maar werk goed.

As u vasbeslote is om u eie luidsprekers te bou, is hier 'n goeie instruksie. Of soek Instructables na PAM8403 of versterker.

Stap 8: Docking Station

Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station
Docking Station

Dit is 'n baie aangename Logitech -draagbare docking -stasie. Dit is onwaarskynlik dat u dieselfde sal kry, maar die konstruksiebeginsels sal dieselfde wees.

Die aanlegstasie bevat sy eie herlaaibare Li-ion-sel en 'n hupstootvoeding. (As die uwe dit nie het nie, bou dan die PSU wat hierbo beskryf is en slaan die volgende paragrawe oor.)

As u versterker 'n Li-ioonsel het, het dit waarskynlik 'n hupstootvoeding. (Die spanning van die enkele Li-ioonsel is ongerieflik laag, dus moet dit versterk word.)

Soek eers die aansluitings vir die krag na die versterker. Die PSU sal groot gladkapasitors hê - sien die foto van die rommel -PCB. Meet die spanning aan hul soldeerblokkies aan die onderkant. Die negatiewe pad moet die "grond" pad van die kring wees. As die rekenaar gevul is, word dit gemaal. Of grond kan 'n dik baan wees wat na baie plekke op die bord gaan.

Daar kan groot kondensators op die uitsetstadium van die versterker wees - dit is die outydse manier om dit te doen. Meet die spanning oor hulle terwyl dit werk. Dit sal waarskynlik wissel volgens die musiek en kan gemiddeld die helfte van die spanning van die kragtoevoer kapasitors wees. Dit is die verkeerde kapasitors - u wil die in die PSU hê.

Dit is baie onwaarskynlik dat die bord positiewe sowel as negatiewe krag sal hê (groot stereo -versterkers doen dit, maar ek het nog nooit so 'n ligte een gesien nie). Maak seker dat u regtig grond en positiewe krag gekies het.

Die Logitech -koppelstasie wat ek gebruik, het ingewikkelde digitale stroombane sowel as die analoog versterker. As die uwe so is, sal dit gladde kapasitors hê vir 5V of 3.3V plus miskien 9V vir die versterker. Meet die spanning oor al die groot kapasitors en kies die grootste spanning.

Maak seker dat die spanning van die kragverbinding wat u gekies het, afhang van die aan/uit -skakelaar. (As u die skakelaar afskakel, kan die spanning 'n rukkie neem as die kapasitor leeg word.)

Soldeerdrade na alles wat u as u kragbron gekies het. Die Logitech -aanlegstasie lewer ongeveer 9V wat aansluit by die Vin -pen van die Arduino.

U luidsprekers of aansluitstasie moet 'n 3,5 mm -aansluiting hê vir klankinvoer. Een van die soldeerverbindings word gemaal - waarskynlik die een wat die naaste aan die rand van die bord is. Gebruik 'n ohmeter om te sien of dit aansluit by wat u dink die grond is. Met 'n paar klankingange is die 'skild' van die aansluiting nie direk op die grond gekoppel nie. Dit dryf. As geen van die domkragpennetjies gemaal word nie, moenie op die oomblik bekommerd wees nie. (Die "skild" van die domkrag op die VS1053 -module dryf ook.)

Gebruik 'n meter om te kontroleer of die pen "grond" op dieselfde spanning as die kragtoevoer is.

Die Logitech -dokstasie was vreemd. As ek die "grond" van die Logitech -aansluiting aansluit op die "grond" van die VS1053 -bord (met behulp van 'n klankkabel werk dit goed, maar die stroom na my Theremin -stelsel styg van 80mA na meer as 200mA. Ek het dus seker gemaak Ek het die twee "gronde" nie verbind nie. Dit werk goed, maar ek het geen idee wat aangaan nie.

Stap 9: Maak 'n saak

Maak 'n saak
Maak 'n saak
Maak 'n saak
Maak 'n saak
Maak 'n saak
Maak 'n saak
Maak 'n saak
Maak 'n saak

Die saak wat u maak, hang af van die materiaal wat u moet inhandig, waarmee u geniet en die luidsprekers wat u gekies het. Wat u ook al maak, moet verseker dat die sonare van mekaar af op 45 ° wys. Dan is daar die skerm en die drukknop.

As u na my ander Instuctables gekyk het, sal u weet dat ek 'n groot fan is van blik. Dit kan in vorm gebuig word, saggesoldeer en geverf word. Die foto's wys hoe ek dinge gereël het.

Die boonste driehoek is gebuig, gesoldeer, gevul, gladgemaak en geverf. Die PCB's word warm vasgeplak in die driehoek en het klein stukkies hout om as afstandhouers op te tree.

Die "voorpaneel" is 1 mm polistireenvel. Afstandhouers is gemaak van meer polistireenvel en self-tappende skroewe hou die strook vas. Houtstutte word warm vasgeplak in die holte aan die voorkant van die aanlegstasie en die stukke word met lang self-tappende skroewe daarop vasgeskroef.

Ek dink ek sou iets in 3D kon laat druk, maar ek verkies die ou skoolmetodes waar ek dinge kan aanpas soos ek wil. Dinge maak is 'n ontdekkingsreis eerder as 'ingenieurswese'.

Stap 10: Toekomstige ontwikkeling

Toekomstige ontwikkeling
Toekomstige ontwikkeling

Hoe kan u die instrument verder ontwikkel? U kan die gebruikerskoppelvlak verander. U kan die knoppie vervang met 'n IR -afstandsensor, sodat u nie aan die instrument hoef te raak nie. Of gebruik 'n aanraakskerm eerder as 'n knoppie en die linkerkant om die spyskaart te beheer.

Met die Scale-kieslys kan u 'nie-Westerse musiek'-skale kies, maar dit neem aan dat alle note van die ewe getemperde sleutelbord is-dit is hoe MIDI werk. Ander skale hou op geen manier verband met 'n ewe temperamentvolle sleutelbord nie. Dit kan moontlik wees om toonhoogte te gebruik om sulke note te maak. U het 'n manier nodig om die frekwensie van elke noot in die spyskaart te spesifiseer. Ek dink toonhoogte kan op alle note in die kanaal van toepassing wees. Ek gebruik tans slegs een kanaal - kanaal 0. As dit polifonies is of akkoorde het, moet u elke noot in 'n ander kanaal speel.

Die instrument kan 'n trom -sintetiseerder word. Die linkerhand kan die toonhoogte van 'n Melodiese Tom bepaal, terwyl die regter sonar vervang word met 'n piëzo -sensor wat u tref om die trom te laat klink.

Die twee hande kon twee verskillende instrumente beheer.

Die linkerhand kon 'n instrument kies.

Ongeveer halfpad deur hierdie projek het ek die Altura MkII Theremin MIDI Controller deur Zeppelin Design Labs ontdek. Dit lyk soos 'n goeie instrument.

Hulle het 'n paar video's wat die moeite werd is om te kyk:

(Ek het die woord "asblikke" van Altura gesteel en die idee dat 'n asblik oopgaan as u dit binnekom om u te help om daarin te bly.)

My MIDI Theremin verskil op 'n paar maniere van die Altura. Myne produseer sy eie klank met sy ingeboude MIDI-synth, versterker, ens.; die Altura stuur boodskappe na 'n eksterne synth. U verkies moontlik hul manier om dit te doen. Myne het 'n TFT -skerm eerder as 'n 7 -segment -skerm - dit is beslis beter, maar u dink miskien dat 'n groter skerm 'n verbetering sou wees. Myne gebruik spyskaarte om die parameters op te stel, terwyl hulle knoppe gebruik. Spyskaarte is nodig omdat myne baie kontroles benodig vir die invoertoestel (die sonare) en die synth; die Altura het minder kontroles nodig. Miskien is die knoppe beter tydens 'n lewendige optrede. Miskien moet myne knoppies hê. 'N Knop vir die keuse van instellings kan goed wees.

Die Altura het 'n "Articulation" -kontrole wat bepaal hoe vinnig note gespeel kan word. Ek het dit nie by my sagteware ingesluit nie - miskien moet dit daar wees. Die Altura het 'n Arpeggiator (step sequencer). Dit is 'n goeie idee; Myne het akkoorde wat nie heeltemal dieselfde is nie.

So dit is dit. Ek hoop dat u dit geniet om 'n MIDI-Theremin te bou en te gebruik. Laat weet my as u foute vind in my beskrywing of as u aan verbeteringe kan dink.

Aanbeveel: