Sisällysluettelo:

HX1 -DM - Upcycled Arduino DUE -käyttöinen DIY -rumpukone (tehty Dead Maschine MK2: lla): 4 vaihetta
HX1 -DM - Upcycled Arduino DUE -käyttöinen DIY -rumpukone (tehty Dead Maschine MK2: lla): 4 vaihetta

Video: HX1 -DM - Upcycled Arduino DUE -käyttöinen DIY -rumpukone (tehty Dead Maschine MK2: lla): 4 vaihetta

Video: HX1 -DM - Upcycled Arduino DUE -käyttöinen DIY -rumpukone (tehty Dead Maschine MK2: lla): 4 vaihetta
Video: q3d quickfit extruder 2024, Marraskuu
Anonim
Image
Image
Korjaus
Korjaus

Spec

  • Hybridi Midi -ohjain / rumpukone: Arduino DUE -käyttöinen!
  • 16 nopeustunnistinta, joiden latenssi on erittäin pieni 1> ms
  • 8 nuppia, jotka käyttäjä voi määrittää mille tahansa Midi #CC -komennolle
  • 16-kanavainen sisäänrakennettu sekvensseri (tietokonetta ei tarvita !!)
  • MIDI in/out/thru -toiminto (voidaan käyttää USB -midi -käyttöliittymänä!)
  • Osittainen MIDI -kello ja MTC -tuki (MMC- ja DAW -ohjaus)

Tämä on ehdottomasti yksi monimutkaisimmista projekteista, joissa olen työskennellyt, puhuin 17 lähtösiirtorekisteristä, 6 tulonsiirtorekisteristä, 2x 16 -kanavaisesta multiplekseristä, jotka työskentelevät piirilevyssä. En tiedä, mikä on ja missä vuororekisterien / multipleksereiden kanssa ennen ……

Se alkoi impulssiostona eBayssa, halusin todella Native Instruments Maschinen, koska olen aina pitänyt niiden rumputyypeistä verrattuna omistamani MPC -studion omiin, joten kun näin viallisen eBayssa 40 puntaa, ajattelin Haluaisin yrittää korjata sen pahimmassa tapauksessa: 'Jos en voi korjata sitä, minulla on Arduino DUE ja muutama UNO makaa ympärilläni, voisin aina tehdä jotain hakata'

Tykkään tosi paljon noista rumputyypeistä !!!!

Tarvikkeet

1 x viallinen Native Instruments Maschine MK2

1 x Arduino Due.

17 x SN74HC595: t - 8 -bittiset lähtösiirtorekisterit

6 x SN74HC165: t - 8 -bittiset tulonsiirtorekisterit

2 x 74HC4067 - 16 -kanavaiset multiplekserit.

2 x 3,2 tuuman 256 x 64 OLED -näyttöä.

jotkut litteät johdot (vanha levykekaapeli kelpaa)

Vaihe 1: Korjaus

EBay -myyjä oli ystävällinen antamaan kuvauksessa käsityksen siitä, mitä odottaa, ja oli poistanut USB -portin. Levy oli kärsinyt ylijännitteestä eikä saanut virtaa. Kuuntele yleismittaria…. Taululla näytti olevan lyhyt.. "Olen korjannut lukemattomia emolevyjä lyhyillä shortseilla ennen niin kuinka vaikeaa se voi olla!?!" Kävi ilmi, että tämä ylijännite (ja luultavasti osittain levyn suunnittelu) oli poistanut melkein JOKA komponentti levylle, mukaan lukien pääprosessori. Tämä lauta oli todella huonolla tavalla!

Jatkoin prod & pokea yleismittarillani, tein vähän tutkimusta komponenteista ja tajusin, mitä kukin tekee, ja NI teki hienoa työtä tehdäkseen asiat melko ilmeisiksi eri emolevyn ympärillä olevilla testauspisteillä ??.

Vaihe 2: hakata

Hack
Hack
Hack
Hack
Hack
Hack

Koska tiesin, että minun on vaihdettava kaikki, pääprosessorin palkki (jota ei tarvita), käännyin eBayn puoleen. Onneksi kaikki tarvittava oli halpaa, joten niiden lataaminen oli hauskaa. ?

17 x SN74HC595: t - 8 -bittiset lähtösiirtorekisterit

17 lähtösiirtorekisteriä käytetään ohjaamaan rumpualustan monivärisiä LED-valoja ja kaikkia painike-LED-valoja (tarkalleen 136 !!) Nämä ovat todella helppokäyttöisiä ja löysivät nopeasti kirjaston Arduino IDE: n avulla säästääkseen itseni.. ne on ketjutettu yhteen.

6 x SN74HC165 - 8 -bittinen tulonsiirtorekisteri

Nämä tulonsiirtorekisterit sopivat useille tuloille yhdellä kanavalla. Painikkeita on yhteensä 48.

2 x 74HC4067 - 16 -kanavaiset multiplekserit

Meillä on jäljellä 16 tyynyä ja 8 nuppia, jotka ovat myös analogisia. Minusta oli helpompaa käyttää näitä, koska taululla olevat kanavat olivat 8 -kanavaisia, ja minulla oli ongelmia löytää, minne liittää datanastat.. cue spaghetti risteys….

2 x 3,2 tuuman 256 x 64 OLED -näyttöä

Siinä on oltava joitain näyttöjä !!! En löytänyt mitään tietoa alkuperäisistä NI -koneen mukana tulevista nestekidenäytöistä, enkä voinut vaivautua tuhlaamaan enää aikaa yrittämiseen, joten päätin tilata osan Kiinasta … Käytin UG8x8 -kirjastoa saadakseni nämä toimimaan. Uudet näytöt olivat hieman pienempiä kuin alkuperäinen, joten poistin vain "huonot bitit".

1 x Arduino Due

Minulla oli tämä makaamassa jonkin aikaa odottamassa projektia, joka on tarpeeksi arvokas kaikelle voimalle!! Tapahtui ongelma. Näyttää siltä, että joissakin näiden levyjen versioissa on nollausongelma, joka johti siihen, että minun täytyi painaa nollauspainiketta joskus saadaksesi asian toimimaan luonnoksen lataamisen jälkeen. Tämä korjattiin helposti 10K -vastuksella (tästä on viesti Arduino -foorumilla).

Vaihe 3: Koodi

Olin todella vaikuttunut siitä, kuinka paljon tukea Arduino -yhteisössä on, koodiesimerkkien ja kirjastojen löytäminen eri komponenteille oli todella yksinkertaista ja suoraviivaista.

USB -midin käyttöönotto oli helppoa ja kesti muutaman minuutin. LED -valot kesti jonkin aikaa, ja minun piti luoda luonnos, joka asetti vähitellen jokaisen nastan HIGH 1 sekunnin välein ja merkitsin muistiin.. Tein taulukon, joka piti PIN -numerot helpottaakseen kaiken koodaamista.

Tein 2 kirjastoa puhumaan multipleksereille, joista toinen käsittelee analogisia tyynyjä ja toinen nuppeja. Tämä oli jälleen todella yksinkertaista. Olen liittänyt ne vapaasti käyttää muokkausta jne.

Halusin saada sekvensserin ja mahdollisuuden tallentaa ilman tietokonetta, löysin tietoja BPM: n muuntamisesta ms: ksi ja löysin suuren Arduino DUE -ajastinkirjaston.

Ajastinkirjaston avulla pystyin asettamaan lukutuloja ja asioita aikavälein:

Pads @ 1ms - Löysin tämän antamaan parhaan tasapainon vastaus- / poistumisartefaktien välillä.

Painikkeet @ 40 ms - Käytin jonokirjastoa, joten painot eivät jääneet väliin.

Käsittely tapahtuu pääsilmukassa, et voi tehdä liikaa keskeytyksessä, koska tämä lukitsee Arduinon.

Midi stuff @BPM (ms) - sekvensointia varten halutulla BPM: llä kutsutaan toimintoa, joka päivittää ETC -nuotit ja lisää lyöntilaskuria.

Vaihe 4: Johtopäätös

Johtopäätös
Johtopäätös

En ole varma, mitä olen tehnyt täällä, mutta olen varsin ylpeä, tyynyt vastaavat erinomaisesti. Minun oli pakko ajoitella saadakseni oikean tasapainon reagointikyvyn ja poistumisongelmien kanssa. Sekvensointi toimii loistavasti, ja kun saan selville DAW -tuen, voin integroida tämän asian täysin työnkulkuuni ja lisätä asioita ohjaimeen, jota olen aina halunnut! oppia ymmärtämään C: tä, ymmärtämään käänteisen suunnittelun ja kuinka multiplekserit, siirtorekisterit ja MIDI-sekvensointi toimivat. Jatkan pääkoodin parantamista ja saatan julkaista sen jonain päivänä avoimen lähdekoodin rytmisuunnittelijana.

VINKKEJÄ:

Löysin kuinka muuttaa DUE: n USB -nimeä muokkaamalla yhtä Arduino/SAM -kansion otsikkotiedostoista.

MIDI-OX on loistava työkalu Midi-toiminnallisuuden testaamiseen

LINKIT:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Jotkut tiedot BPM: n muuntamisesta ms: ksi

travis-ci.com/SMFSW/Queue - Painikkeiden tuloille, joten emme missaa painalluksia!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib LED-/LCD -näytöille

github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib suurelle nupille

shiftregister.simsso.de/ - ShiftIn Register lib - Luonut Henrik Heine, 24. heinäkuuta 2016

forum.arduino.cc/index.php?topic=57636.0 - MIDI -aikakoodit

Suositeltava: