Indholdsfortegnelse:

Lav et vindstyret MIDI-instrument: 5 trin (med billeder)
Lav et vindstyret MIDI-instrument: 5 trin (med billeder)

Video: Lav et vindstyret MIDI-instrument: 5 trin (med billeder)

Video: Lav et vindstyret MIDI-instrument: 5 trin (med billeder)
Video: Lav et workflow 2024, September
Anonim
Lav et vindstyret MIDI-instrument
Lav et vindstyret MIDI-instrument

Dette projekt blev forelagt 'Creative Electronics', et BEng Electronics Engineering 4. års modul på University of Málaga, School of Telecommunications.

Den oprindelige idé blev født for længe siden, fordi min makker, Alejandro, har brugt mere end halvdelen af sit liv på at spille fløjte. Således fandt han appellerende ideen om et elektronisk blæseinstrument. Så dette er produktet af vores samarbejde; hovedfokus for denne tilgang var at opnå en æstetisk ædru konstruktion, der ligner en basklarinet.

Demo:)

Forbrugsvarer

  • Et Arduino -bord (vi brugte SAV MAKER I, baseret på Arduino Leonardo).
  • En lufttrykssensor, MP3V5010.
  • En belastningsmåler, FSR07.
  • Modstande: 11 af 4K7, 1 af 3K9, 1 af 470K, 1 af 2M2, 1 af 100K.
  • Et potentiometer på 200K.
  • En keramisk kondensator på 33pF.
  • To elektroliske kondensatorer på 10uF og 22uF.
  • En LM2940.
  • En LP2950.
  • En LM324.
  • Én MCP23016.
  • Et perforeret bræt med 30x20 huller.
  • 30 benhoveder, både hun og mand (et køn for Arduino, det andet for kappen).
  • Et par HD15 -stik, både han og hun (med loddekopper).
  • Lån en vens varmekrympeslange og isoleringstape. Sort foretrækkes.
  • To 18650 Li-ion batterier og deres batteriholder.
  • En switch.
  • Et Arduino USB -kabel.
  • I det mindste 11 knapper, hvis du vil have en kvalitetsfølelse, skal du ikke bruge vores.
  • En slags kabinet eller etui. En træplanke på cirka en kvadratmeter ville være tilstrækkelig.
  • En halv meter PVC -slange, 32 mm udvendig.
  • 67 grader PVC -samling til det forrige rør.
  • En PVC -reduktion fra 40 mm til 32 mm (ekstern).
  • En PVC -reduktion fra 25 mm til 20 mm (ekstern).
  • En tom flaske Betadine.
  • Et altsaxofon mundstykke.
  • Et altsaxofonrør.
  • En altsaxofon ligatur.
  • Noget skum.
  • Masser af ledning (lydledning anbefales, da den går i par rød-sort).
  • Nogle skruer.
  • Mat sort spraymaling.
  • Mat spraylak.

Trin 1: Krop

Legeme
Legeme
Legeme
Legeme
Legeme
Legeme

For det første blev et PVC -rør valgt til at være en del af kroppen. Du kan vælge en anden diameter, selvom vi anbefaler en udvendig diameter på 32 mm og en længde på 40 cm, da vi var tilfredse med disse dimensioner.

Når du får røret i hænderne, skal du placere et mærkelayout for knapperne. Dette afhænger af længden af dine fingre. Nu med markeringerne udført, bor det tilsvarende hul for hver knap. Vi anbefaler at starte med en tynd bit og indgrave hullet, hvilket øger den diameter, der bruges til boret. Også brug af en burin før boremaskinen kan forbedre stabiliteten.

Du bør introducere fire ikke -tilsluttede ledninger for senere at kunne tilslutte manometeret og lufttrykssensoren; dette stykke (kroppen) og halsen sidder fast sammen med et 67 grader sammenføjningsrør. Dette rør blev sandpapireret og malet sort.

For at forbinde dette stykke med foden brugte vi et PVC -reduktionsled fra 40 mm til 32 mm (udvendig diameter). Fire træskruer blev tilføjet for at styrke krydset. Mellem reduktionsleddet og karosseriet lavede vi en boremaskine og introducerede en bredere skrue for at opnå stabilitet. Vi anbefaler at bore rørene før ledningerne; ellers er ruinen sikret.

Det næste trin er at lodde ledninger til knappernes terminaler, måle længde til bund og reservere en ekstra længde for at undgå, at forbindelsen er stram. Når røret er blevet sandpapiret og malet sort (vi brugte mat sort spraymaling; giv så mange lag, som du vil, indtil det ser godt ud under sollys), introducer knapperne top til bund, mærket hver enkelt af dem. Vi anbefaler at bruge to forskellige farver til kablerne (f.eks. Sort og rød); da de alle er forbundet til jorden på en deres stifter, forlod vi det sorte kabel frit, og kun mærket de røde kabler. Knapperne blev dækket med sort isoleringstape, så de matchede udseendet og passede fint uden at falde ned.

Lodde HD15 hunstik (loddekopper hjælper meget) ved hjælp af det layout, der foreslås i diagrammet i trin 4 (eller dit eget), og saml grunde sammen. Husk, at varmekrympende slanger giver en stærk pålidelighed mod kortslutninger.

Trin 2: Foddesign

Fod Design
Fod Design
Fod Design
Fod Design
Fod Design
Fod Design
Fod Design
Fod Design

Det kredsløb, der bruges til dette design, er i sin rod meget simpelt. To litiumbatterier i serie leverer en LDO (lavt frafald) spændingsregulator, der forsyner 5V fra dens output til resten af kredsløbet. LM324s driftsforstærkere tjener formålet med både at tilpasse lufttryksensorens dynamiske område (MP3V5010, 0,2 til 3,3 volt) og manometerets adfærd (negativ hældnings variabel modstand) til de analoge indgange på Arduino -kortet (0 til 5 volt). Således bruges en ikke-inverter med justerbar forstærkning (1 <G <3) til den første og en spændingsdeler plus en følger til den anden. Disse giver tilstrækkelig spændingssving. For yderligere oplysninger om disse enheder, klik her og der. LP2950 giver også en reference til de 3,3 volt, der skal hentes til MP3V5010.

Enhver model af FSR -serien (Force Sensing Resistor) vil være tilstrækkelig, og selvom 04 er den smukkeste, brugte vi 07 på grund af lagerproblemer. Disse sensorer ændrer deres elektriske modstand afhængigt af den anvendte bøjningskraft, og vi testede eksperimentelt, at de ikke gør det, når de presses ved siden af hele deres overflade. Dette var oprindeligt en fejl på grund af det sted, vi skulle lægge stykket, men den vedtagne løsning gjorde et godt stykke arbejde og vil blive forklaret i det fjerde trin.

Et af de grundlæggende stykker i brættet er MCP23016. Dette er en 16-bit I2C I/O Expander, som vi syntes var nyttige til at sænke kompleksiteten af koden (og måske ledningerne). Modulet bruges som et skrivebeskyttet 2-byte register; den producerer en afbrydelse (tvinger en logisk '0', og derfor er en pull-up-modstand nødvendig for at indstille en logik '1') på sin sjette stift, når nogen af dens registerværdier ændres. Arduino er programmeret til at blive udløst af dette signalets hældning; efter dette sker, anmoder han om dataene og afkoder dem for at vide, om notatet er gyldigt eller ej, og hvis det er det, gemmer han det og bruger det til at bygge den næste MIDI -pakke. Hver af knapperne har to terminaler, der er forbundet til jorden og til en pull-up modstand (4,7K) til henholdsvis 5 volt. Når der trykkes på den, læses en logik '0' af I2C -enheden, og en logik '1' betyder frigivet. RC -parret (3.9K og 33p) konfigurerer sit interne ur; ben 14 og 15 er henholdsvis SCL- og SDA -signaler. I2C -adressen for denne enhed er 0x20. Se databladet for yderligere oplysninger.

Det forbindelseslayout, vi brugte til tilslutning af HD15 -stikket, er naturligvis ikke unikt. Vi gjorde det på denne måde, fordi det var lettere at rute på det printkort, vi lavede, og det vigtige punkt ligger i at holde en klar liste over knudepunkterne og dens respektive knapper. Det er overflødigt at sige, men jeg vil; knapperne har to terminaler. En af dem (utydeligt) er forbundet til sin respektive knude på HD15 -stikket, mens den anden er forbundet til jorden. Alle knapperne deler således den samme jord og er forbundet til kun en pin på HD15 -stikket. Billedet, vi leverer, er bagsiden af hanstikket, det vil sige forfra af hunparret. Lod lodningerne omhyggeligt, du vil ikke afbryde forbindelsen, stol på os.

Bare så det står klart, designede vi kredsløbet til Arduino, der skulle tilsluttes det. Der skulle være plads nok til, at kredsløbet kunne passe under ham, og så boksen kan være mindre end vores. Det foreslåede bygningslayout tilbydes på billedet herunder. Vi brugte silikone til at fastgøre batteriernes holder i boksens indre, borede kappen på kanterne og brugte skruer til at fastsætte den på denne måde.

For at forbinde dette stykke med kroppen brugte vi en PVC -reduktionsled fra 40 mm til 32 mm (udvendig diameter). Fire træskruer blev tilføjet for at styrke krydset. Mellem reduktionsleddet og karosseriet lavede vi en boremaskine og introducerede en bredere skrue for at opnå stabilitet. Pas på ikke at beskadige ledningerne.

Trin 3: Montering af mundstykke

Mundstykke Montering
Mundstykke Montering
Mundstykke Montering
Mundstykke Montering
Mundstykke Montering
Mundstykke Montering

Dette er sandsynligvis den vigtigste del af samlingen. Det er udelukkende baseret på diagrammet vist på det første billede. Den overdimensionerede del er stor nok til at passe ind i 32 mm (eksternt) PVC -rør.

Da vi designede dette stykke (halsen), besluttede vi at bruge et printkort til montering af MP3V5010, selvom du kan ignorere det. Ifølge PDF'en er de brugte terminaler 2 (3,3 volt forsyning), 3 (jord) og 4 (lufttryk elektrisk signal). For at undgå at bestille et printkort til denne sag, foreslår vi, at du skærer de ubrugte stifter af og limer komponenten til PVC -røret, når ledningerne er færdige. Det er den nemmeste måde, vi kunne tænke på. Denne tryksensor har også to sanseknapper; du vil dække en af dem. Dette forbedrer dens reaktion. Vi gjorde det ved at indføre et lille metalstykke i et varmekrympende rør, der dækker knappen, og varme røret op.

Det første, du vil gøre, er at finde et stykke med en konisk form, der kan passe ind i lufttrykssensorrøret, som vist på det andet billede. Dette er det gule stykke i det forrige diagram. Skær et smalt hul på keglens top ved hjælp af en lille bore eller en slank loddejernspids. Test om det sidder tæt; hvis ikke, skal du fortsætte med at vokse diameteren af hullet, indtil det gør det. Når dette er færdigt, vil du finde et stykke, der passer omkring det foregående, og dækker det for at forhindre luftstrømmen udad. Faktisk vil du teste på hvert trin, du tager, at luft ikke slipper ud af kabinettet; hvis det gør det, så prøv at tilføje silikone ved samlingerne. Dette skulle resultere i det næste billede. Bare for at det hjælper, brugte vi en Betadine -flaske til dette formål: det gule stykke er den indvendige dispenser, mens stykket, der dækker det, er hætten med et snit på hovedet for at omdanne det til en rørform. Snittet blev foretaget med en varm kniv.

Det næste stykke var en PVC -reduktion fra 25 (ekstern) til 20 (intern). Dette stykke passede fint ind i den allerede arrangerede slange, selvom vi havde brug for at sandpapirere det og lime dets vægge for at forhindre den nævnte luftstrøm. For nu ønsker vi, at dette skal være et lukket hulrum. I diagrammet er dette stykke, vi taler om, den mørkegrå, der direkte følger den gule. Når dette stykke er tilføjet, er instrumentets hals næsten færdig. Næste trin er at skære et stykke ud af 32 mm (udvendig) diameter PVC -rør og bore et hul i midten, så ledningerne på manometeret kan gå ud. Lod de fire ledninger, vi nævnte tidligere i trin 1, som vist i det næste diagram, og lim halsen til det vinklede kryds (efter at have malet den sort, af æstetiske formål).

Det sidste trin er at lukke mundstykket bekvemt. For at denne opgave kunne udføres, brugte vi et altsaks -rør, sort isoleringstape og en ligatur. Manometeret var placeret under siv, inden tapen blev påsat; de elektriske forbindelser til måleren blev forstærket med sorte varmekrympende rør. Dette stykke er designet til at blive ekstraheret, så hulrummet kan ryddes op efter et stykke tid. Alt dette kan ses på de to sidste billeder.

Trin 4: Software

Software
Software
Software
Software

Download og installer Virtual MIDI Piano Keyboard, her er linket.

Den logiske måde at udføre dette trin på er følgende: Først skal du downloade Arduino -skitsen i denne instruktion og indlæse den på dit Arduino -kort. Start nu VMPK og kontroller venligst dine indstillinger. Som vist på det første billede, skal 'Input MIDI -forbindelse' være dit Arduino -kort (i vores tilfælde Arduino Leonardo). Hvis du bruger Linux, er det ikke nødvendigt at installere noget, bare sørg for at din VPMK -fil har egenskaberne vist i den anden figur.

Trin 5: Fejlfinding

Sag 1. Systemet ser ikke ud til at fungere. Hvis Arduinos LED ikke lyser, eller det er lidt mørkere end normalt, skal du kontrollere, at systemet er korrekt strømført (se sag 6).

Sag 2. Der ser ud til at være røg, fordi noget lugter som brændt. Sandsynligvis er der en kortslutning et sted (tjek strøm og ledningsnet). Måske skal du røre (med forsigtighed) hver komponent for at kontrollere dens temperatur; hvis det er varmere end normalt, skal du ikke gå i panik, bare udskift det.

Sag 3. Arduino genkendes ikke (i Arduino IDE). Upload igen de medfølgende skitser, hvis problemet fortsætter, skal du sørge for, at Arduino er korrekt forbundet til computeren, og at Arduino IDE -indstillingerne er sat til standard. Hvis intet virker, skal du overveje at udskifte Arduino. I nogle tilfælde kan det hjælpe med at uploade skitsen ved at trykke på nulstillingsknappen, mens du "kompilerer" og derefter slippe den, mens du "uploader".

Sag 4. Nogle nøgler ser ud til at fungere forkert. Isolér venligst hvilken nøgle der ikke virker. En kontinuitetstest kan være nyttig, eller du kan bruge den medfølgende skitse til at teste knapperne; pull-up modstanden er muligvis ikke loddet korrekt, eller knappen er defekt. Hvis nøglerne er i orden, bedes du kontakte os og afsløre dine problemer.

Sag 5. Jeg kan ikke modtage nogen note om VMPK. Kontroller, at Arduino er korrekt tilsluttet computeren. Følg derefter på VMPK trinene vist i trin 3. Hvis problemet fortsætter, skal du udføre en knapnulstilling eller kontakte os.

Case 6. Elektrisk starttest. Udfør de næste målinger: Når du har fjernet Arduino fra kappen, skal du tænde kontakten. Placer den sorte sonde på jordstiftet (alle vil være tilstrækkelige), og brug den røde sonde til at kontrollere strømnoderne. På batteriets plusplade skal der mindst være et spændingsfald på 7,4 volt, ellers oplades batterierne. Der skulle eksistere det samme spændingsfald ved indgangen til LM2940, som det ses i skematisk. Ved sin output skal der være et fald på 5 volt; den samme værdi forventes fra LM324 (pin 4), MCP23016 (pin 20) og LP2950 (pin 3). Udgangen af den sidste skal vise en værdi på 3,3 volt.

Anbefalede: