Sisällysluettelo:

Arduino Uno Midi Fighter: 5 vaihetta
Arduino Uno Midi Fighter: 5 vaihetta

Video: Arduino Uno Midi Fighter: 5 vaihetta

Video: Arduino Uno Midi Fighter: 5 vaihetta
Video: I built an Arcade DIY MIDI controller with an Arduino Pro Micro: The Fliper 2024, Heinäkuu
Anonim
Arduino Uno Midi Fighter
Arduino Uno Midi Fighter

Tämä ohje on luotu täyttämään Etelä -Floridan yliopiston Makecourse -projektin vaatimus (www.makecourse.com)

DJ Techtoolsin suosittuun MidiFighteriin perustuvaa kotitekoista Arduino -käyttöistä musiikki -instrumentin digitaalista käyttöliittymää (MIDI) voidaan käyttää MIDI -laitteena kaikissa Digital Audio Workstation (DAW) -ohjelmistoissa. MIDI -ohjain voi lähettää ja vastaanottaa MIDI -viestejä tietokoneelta, ja sitä voidaan käyttää suoraan minkä tahansa ohjelmiston ohjaamiseen. Lisäksi MIDI -ohjaimen säätimet ovat täysin muokattavissa - mikä tarkoittaa, että jokainen yksittäinen painike, liukusäädin ja nuppi voidaan yhdistää mihin tahansa DAW -toiminnon. Esimerkiksi painikkeen painaminen voi toistaa tietyn nuotin tai olla ohjelmoitu vaihtamaan ääniprojektisi tempoa.

github.com/jdtar/Arduino-Midi-Controller

Vaihe 1: Materiaalit

Alla on luettelo hankkeessa käytetyistä materiaaleista ja työkaluista.

Arduino Uno

Leipälauta

4051/4067 Multiplexer

Hyppyjohdot

Lisäjohto

2x 10k ohmin lineaariset liukupotentiometrit

16x Sanwa 24mm painikkeet

Lämpö kutistuu

Juotin

Partaterä

4,7 kΩ: n vastus

Akryylilevy (kannelle)

Kotelo painikkeille ja Arduinolle

3D tulostin

Laserleikkuri

Vaihe 2: Suunnittelu

Design
Design
Design
Design

Minulle oli jo hankittu MIDI -ohjaimen kotelo ennen projektin aloittamista, joten pilkkasin kannen luonnoksen hahmottaakseni, mihin kaikki oli sijoitettava. Tiesin, että halusin ainakin 16 painiketta ja pari potentiometriä, joten yritin jakaa komponentit mahdollisimman tasaisesti.

Kun olin laatinut kannen asettelun, vienin tiedoston 1: 1 PDF -muodossa ja lähetin sen laserleikkurille leikkaamaan arkki akryyliä. Ruuvinreikien kohdalla merkitsin haluamani reiät merkillä ja sulatin akryylin kuumalla filamentilla.

Liitteenä on 1: 1 PDF, joka voidaan tulostaa 1: 1 -muodossa ja leikata sähkötyökaluilla, jos laserleikkuria ei ole saatavilla.

Vaihe 3: Rakentaminen ja johdotus

Rakentaminen ja johdotus
Rakentaminen ja johdotus
Rakentaminen ja johdotus
Rakentaminen ja johdotus
Rakentaminen ja johdotus
Rakentaminen ja johdotus

Akryylin leikkaamisen jälkeen huomasin, että akryyli oli liian ohut tukemaan kaikkia komponentteja. Leikkasin sitten toisen arkin ja liimasin ne yhteen, mikä sattui toimimaan täydellisesti.

Komponenttien kytkentä kesti jonkin verran yritystä ja virhettä, mutta tuloksena oli Fritzing -luonnos. Johdotin ensin maadoitusjohdot ja 4,7 kΩ: n vastuksen, juotin ja lämpö kutisteli painikkeiden liitännät. Kahden potentiometrin asentaminen vaati akryylin ruuveille sulatusaukkoja. Kun kaksi potentiometriä oli kierretty, ne kytkettiin analogisiin A0- ja A1 -nastoihin. Kun johdotus oli valmis, muistin, että fadereissani ei ollut nuppeja, joten sen ostamisen sijaan tulostin joitakin nuppikorkkeja 3-D-tulostimella luonnostelemalla sen Autodesk Fusion 360: ssa ja viemällä STL-tiedostoon. De

Arduino Unossa on vain 12 käytettävissä olevaa digitaalitulonappia, mutta 16 painiketta oli kytkettävä. Tämän kompensoimiseksi liitin 74HC4051 -multiplekserin leipälevylle, joka käyttää neljää digitaalista sisääntulonappia ja mahdollistaa useiden signaalien käytön jaetun linjan käyttämiseksi, mikä johtaa 8 käytettävissä olevaan digitaalitulonappiin yhteensä 16 käytettävissä olevaan digitaaliseen nastaan.

Painikkeiden kytkeminen oikeisiin nastoihin oli yksinkertaisesti kysymys 4x4 -matriisin luomisesta ja sen käyttämisestä koodissa. Hankala osa oli kuitenkin se, että ostetulla erityisellä multiplekserillä oli erityinen nasta -asettelu, jota tietolomake auttoi, ja myös minulla oli mielessä erityinen muistiinpanojen asettelu, kun kytkin painikkeet ylös, mikä näytti vähän tältä:

HUOMAUTUS 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 -TULO)

[6] [7] [8] [9]

[10] [11] [12] [13]

[M0] [M1] [M2] [M3]

[M4] [M5] [M6] [M7]

Vaihe 4: Ohjelmointi

Ohjelmointi
Ohjelmointi

Kun kokoonpano on valmis, Arduinon ohjelmointi on jäljellä. Liitteenä oleva käsikirjoitus on kirjoitettu siten, että se on helposti muokattavissa.

Käsikirjoituksen alku sisältää MIDI.h -kirjaston ja Notes and Volts -blogista lainatun ohjainkirjaston, jotka molemmat sisältyvät koodin zip -tiedostoon. Ohjainkirjastoa käyttämällä voidaan luoda objekteja painikkeille, potentiometreille ja multipleksoiduille painikkeille, jotka sisältävät data -arvoja, jotka sisältävät muistiinpanon numeron, ohjausarvot, nuotin nopeuden, MIDI -kanavan numeron jne. MIDI.h -kirjasto mahdollistaa MIDI I/O -yhteyden Arduinon sarjaportit, jotka puolestaan ottavat tiedot ohjainobjekteista, muuntavat ne MIDI -viesteiksi ja lähettävät viestit mihin tahansa midi -liitäntään.

Käsikirjoituksen tyhjä asennusosa alustaa kaikki kanavat pois päältä ja käynnistää myös sarjayhteyden 115200 baudilla, nopeudella nopeammin kuin MIDI -signaalit vaihdetaan.

Pääsilmukka vie olennaisesti näppäinryhmät ja multipleksoidut painikkeet ja suorittaa silmukan, joka tarkistaa, onko painiketta painettu tai vapautettu, ja lähettää vastaavat datatavut midi -käyttöliittymään. Potentiometrin silmukka tarkistaa potentiometrin asennon ja lähettää vastaavat jännitteen muutokset takaisin midi -rajapintaan.

Vaihe 5: Asennus

Image
Image
Perustaa
Perustaa
Perustaa
Perustaa
Perustaa
Perustaa

Kun käsikirjoitus on ladattu Arduinolle, seuraava vaihe on kytkeä ja toistaa. On kuitenkin pari vaihetta, ennen kuin sitä voidaan käyttää.

OSX: ssä Apple sisälsi ominaisuuden luoda virtuaalisia midi -laitteita, joita voidaan käyttää Macin Audio Midi Setup -sovelluksen kautta. Kun uusi laite on luotu, karvatonta MIDI: tä voidaan käyttää sarjayhteyden luomiseen Arduinon ja uuden virtuaalisen midi -laitteen välille. Sarjaliitäntä Arduinosta karvattoman MIDI: n kautta toimii komentosarjan tyhjäasetusosassa määritellyllä baudinopeudella, ja se on asetettava vastaavaksi Karvattomissa MIDI -asetuksissa.

Testaustarkoituksiin käytin Midi Monitoria tarkistaakseni, onko lähetetty oikeita tietoja sarja-MIDI-yhteyden perusteella. Kun olen päättänyt, että kaikki painikkeet lähettivät oikeita tietoja oikeiden kanavien kautta, asetin MIDI -signaalin reitittämään Ableton Live 9: ään MIDI -tulona. Abletonissa pystyin kartoittamaan viipaloidut ääninäytteet kullekin painikkeelle ja toistamaan jokaisen näytteen.

Suositeltava: