INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: Ontwerp
- Stap 3: Konstruksie en bedrading
- Stap 4: Programmering
- Stap 5: Opstel
Video: Arduino Uno Midi Fighter: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie instruksies is geskep ter voldoening aan die projekvereiste van die Makecourse aan die Universiteit van Suid -Florida (www.makecourse.com)
Hierdie tuisgemaakte Arduino -aangedrewe Musical Instrument Digital Interface (MIDI) kontroleerder, wat gebaseer is op die gewilde MidiFighter deur DJ Techtools, kan as 'n MIDI -toestel op enige sagteware van die Digital Audio Workstation (DAW) gebruik word. 'N MIDI -beheerder kan MIDI -boodskappe vanaf 'n rekenaar stuur en ontvang en kan gebruik word om die sagteware wat gebruik word, direk te beheer. Boonop is die kontroles op 'n MIDI -kontroleerder volledig aanpasbaar - wat beteken dat elke individuele knoppie, skuifknop en knop aan elke funksie in 'n DAW gekoppel kan word. Deur byvoorbeeld op 'n knoppie te druk, kan 'n spesifieke noot gespeel word of geprogrammeer word om die tempo van u klankprojek te verander.
github.com/jdtar/Arduino-Midi-Controller
Stap 1: materiaal
Hieronder is 'n lys met materiaal en gereedskap wat in hierdie projek gebruik word.
Arduino Uno
Broodbord
4051/4067 Multiplexer
Springdrade
Ekstra draad
2x 10k ohm lineêre skyfie potensiometers
16x Sanwa 24mm knoppies
Krimp hitte
Soldeerbout
Skeermes lem
Weerstand van 4,7 kΩ
Akrielblad (vir deksel)
Behuising vir knoppies en Arduino
3D-drukker
Lasersnyer
Stap 2: Ontwerp
Ek het reeds die behuising van my MIDI -kontroleerder voorsien voordat ek met die projek begin het, so ek het 'n skets vir die deksel bespot om te sien waar alles geplaas moet word. Ek het geweet dat ek ten minste 16 knoppies en 'n paar potensiometers as 'n funksie wou hê, en ek het probeer om die komponente so eweredig moontlik uit te sprei.
Nadat ek die uitleg vir die deksel opgestel het, het ek die lêer uitgevoer as 'n 1: 1 PDF en dit na 'n lasersnyer gestuur om 'n vel akriel te sny. Vir skroefgate het ek met 'n merker gemerk waar ek die gate wou hê en die akriel met 'n warm filament gesmelt.
Aangeheg is die 1: 1 PDF wat as 'n 1: 1 uitgedruk kan word en met elektriese gereedskap gesny kan word as daar nie 'n lasersnyer beskikbaar is nie.
Stap 3: Konstruksie en bedrading
Nadat ek die akriel gesny het, het ek agtergekom dat die akriel te dun was om al die komponente voldoende te ondersteun. Ek sny toe nog 'n vel uit en plak dit vas, wat toevallig goed werk.
Die bedrading van die komponente het 'n bietjie proef en fout geneem, maar dit het gelei tot die aangehegte Fritzing -skets. Ek het eers die gronddrade en die weerstand van 4.7kΩ vasgemaak, gesoldeer en hitte het die verbindings op die knoppies verminder. Die montering van die twee skyfpotensiometers benodig smeltgate vir die skroewe in die akriel. Nadat die twee potensiometers ingeskroef is, is dit aan die A0- en A1 -analoogpenne gekoppel. Nadat die bedrading voltooi was, het ek onthou dat daar geen knopdoppe vir my faders was nie, dus eerder as om dit aan te skaf, het ek 'n paar knopdoppe met 'n 3D-drukker gedruk deur dit in Autodesk Fusion 360 te skets en na 'n STL-lêer uit te voer. De
Die Arduino Uno het slegs 12 beskikbare digitale invoerpenne, maar 16 knoppies moes aangesluit word. Om dit te vergoed, het ek 'n 74HC4051 -multiplexer op 'n broodbord aangelê wat 4 digitale invoerpenne gebruik en verskeie seine in staat stel om 'n gedeelde lyn te gebruik, wat lei tot 8 beskikbare digitale invoerpenne vir 'n totaal van 16 digitale penne wat beskikbaar is vir gebruik.
Om die knoppies aan die regte penne te koppel, was bloot 'n kwessie van die opstel van 'n 4x4 -matriks en die gebruik daarvan in die kode. Die moeilike deel was egter dat die spesifieke multiplexer wat gekoop is, 'n spesifieke penuitleg gehad het waarmee die datablad gehelp het, en ek het ook 'n spesifieke nootuitleg in gedagte gehad toe ek die knoppies bedraad het, wat uiteindelik so lyk:
LET WEL MATRIX
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIX (M = MUX INGANG)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Stap 4: Programmering
Sodra die vergadering voltooi is, is alles wat oor is om die Arduino te programmeer. Die aangehegte skrif is so geskryf dat dit maklik aanpasbaar is.
Die begin van die skrif bevat die MIDI.h -biblioteek en 'n beheerdersbiblioteek wat geleen is uit die Notes and Volts -blog, wat albei in die zip -lêer van die kode ingesluit is. Met behulp van die beheerderbiblioteek kan voorwerpe vir knoppies, potensiometers en veelvuldige knoppies geskep word met datawaardes wat die nootnommer, kontrolewaardes, nootsnelheid, MIDI -kanaalnommer, ens insluit. Die MIDI.h -biblioteek maak MIDI I/O -kommunikasie moontlik Arduino -seriële poorte wat op sy beurt die data van die voorwerpe van die beheerder neem, dit omskakel in MIDI -boodskappe en die boodskappe stuur na watter midi -koppelvlak ook al gekoppel is.
Die leegte -opsetgedeelte van die skrip initialiseer alle kanale as afgeskakel en begin ook 'n seriële verbinding met 115200 baud, 'n vinniger tempo as wat die MIDI -seine uitgeruil word.
Die hooflus neem in wese die skikkings van knoppies en gemultiplexde knoppies en voer 'n for -lus uit wat kontroleer of die knoppie ingedruk of vrygestel is en die ooreenstemmende databytes na die midi -koppelvlak stuur. Die potensiometerlus kontroleer die posisie van die potensiometer en stuur die ooreenstemmende spanningsveranderings terug na die midi -koppelvlak.
Stap 5: Opstel
Sodra die skrif op die Arduino gelaai is, is die volgende stap om in te skakel en te speel. Daar is egter 'n paar stappe voordat dit gebruik kan word.
Op OSX het Apple 'n funksie opgeneem om virtuele midi -toestelle te skep waarmee u toegang kan verkry via die Audio Midi Setup -toepassing op Mac's. Sodra die nuwe toestel geskep is, kan Hairless MIDI gebruik word om 'n seriële verbinding tussen die Arduino en die nuwe virtuele midi -toestel te skep. Die reeksverbinding vanaf die Arduino via Hairless MIDI werk teen die baud -tempo wat in die leemte -opstelgedeelte van die script gedefinieer word en moet gelyk gestel word in die Hairless MIDI -voorkeurinstellings.
Vir toetsdoeleindes het ek Midi Monitor gebruik om te kyk of die korrekte data gestuur word, dink die seriële MIDI-verbinding. Sodra ek vasgestel het dat elke knoppie die korrekte data deur die korrekte kanale stuur, het ek die MIDI -sein opgestel om na Ableton Live 9 as 'n MIDI -invoer te stuur. In Ableton kon ek gesnyde klankmonsters aan elke knoppie uitbeeld en elke voorbeeld speel.
Aanbeveel:
Bou 'n Arduino MIDI -beheerder: 5 stappe (met foto's)
Bou 'n Arduino MIDI -beheerder: Hallo almal! In hierdie instruksies sal ek jou wys hoe om jou eie Arduino -aangedrewe MIDI -kontroleerder te bou. MIDI staan vir Musical Instrument Digital Interface en dit is 'n protokol waarmee rekenaars, musiekinstrumente en ander hardeware gekombineer kan word
Arduino Uno visvoerder in 6 goedkoop en maklike stappe !: 6 stappe
Arduino Uno Fish Feeder in 6 goedkoop en maklike stappe !: 'n Bietjie agtergrond kan dus nodig wees vir hierdie projek. Mense met troeteldiervisse het waarskynlik dieselfde probleem as ek gehad: vakansies en vergeetagtigheid. Ek het voortdurend vergeet om my vis te voer, en ek het altyd probeer om dit te doen voordat dit gebeur het
Akoestiese opheffing met Arduino Uno stap-vir-stap (8-stappe): 8 stappe
Akoestiese levitasie met Arduino Uno Stap-vir-stap (8-stappe): ultrasoniese klankomvormers L298N Dc vroulike adapter kragbron met 'n manlike DC-pen Arduino UNOBreadboard Hoe werk dit: Eerstens laai u kode op na Arduino Uno (dit is 'n mikrobeheerder toegerus met digitale en analoog poorte om kode (C ++) om te skakel
Die meer kragtige Arduino-UNO, Massduino-UNO: 9 stappe
Die meer kragtige Arduino-UNO, Massduino-UNO: wat is Massduino? Massduino is 'n nuwe produkreeks wat die perifere Arduino-platform kombineer, gerieflik en vinnig ontwikkel, goedkoop en maklik om groot produksievoordele te vervaardig. Byna al die Arduino -kode kan 'n
MIDI 5V LED Strip Light Controller vir die Spielatron of ander MIDI Synth: 7 stappe (met foto's)
MIDI 5V LED Strip Light Controller vir die Spielatron of ander MIDI Synth: hierdie kontroleerder flits drie-kleur LED strookligte vir 50mS per noot. Blou vir G5 tot D#6, rooi vir E6 tot B6 en groen vir C7 tot G7. Die kontroleerder is 'n ALSA MIDI -toestel, sodat MIDI -sagteware op dieselfde tyd na die LED's kan oorgedra word as 'n MIDI synth -toestel