Sisällysluettelo:
Video: HX1 -DM - Upcycled Arduino DUE -käyttöinen DIY -rumpukone (tehty Dead Maschine MK2: lla): 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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
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
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:
Bluetooth RC -auto STM32F103C: llä ja L293D: llä - Edullinen: 5 vaihetta
Bluetooth RC -auto STM32F103C: llä ja L293D: llä - Edullista: Tein Bluetooth Arduino -auton, kuten tässä kuvattu, Ardumotive_com. Ongelmani olivat akut ja niiden paino sekä kustannukset. Sittemmin matkapuhelimien halvoista virtapankkeista on tullut erittäin edullisia. Kaikki mitä tarvitsen
Alexa Ääniohjattu Raspberry Pi Drone IoT: llä ja AWS: llä: 6 vaihetta (kuvilla)
Alexa Ääniohjattu Raspberry Pi Drone IoT: llä ja AWS: llä: Hei! Nimeni on Armaan. Olen 13-vuotias Massachusettsin poika. Tämä opetusohjelma näyttää, kuten voit päätellä otsikosta, kuinka rakentaa Raspberry Pi Drone. Tämä prototyyppi osoittaa, kuinka dronit kehittyvät ja kuinka suuri rooli niillä voi olla
Sisäkasvien kastelu NodeMCU: lla, paikallisella Blynk -palvelimella ja Blynk Apk: lla, säädettävä asetuspiste: 3 vaihetta
Sisäkasvien kastelu NodeMCU: lla, paikallisella Blynk -palvelimella ja Blynk Apk: llä, säädettävä asetuspiste: Olen rakentanut tämän projektin, koska sisäkasvieni on oltava terveitä, vaikka olen lomalla pitkään ja pidän ajatuksesta hallita tai ainakin seurata kaikkia mahdollisia asioita, joita kotona tapahtuu Internetin kautta
Älypuhelintelakka USB: llä ja HDMI: llä: 6 vaihetta
Älypuhelintelakka USB: llä ja HDMI: llä: Tämä on opas rakentaa älypuhelintelakka, jossa on neljä USB -tuloa, HDMI -lähtö ja USB C -läpivienti lataamista varten. monenlaisiin USB -laitteisiin, kuten näppäimistöihin, hiiriin
Levynvaihto PS1: llä (tai PSX: llä): 8 vaihetta
Levynvaihdon vaihtaminen PS1: llä (tai PSX: llä): Tämä näyttää sinulle vaihe vaiheelta kuinka vaihtaa levyt Ps1: lle (tai PSX: lle). Tämä on melko vaikeaa. jos sinulla on ongelmia, käy tällä sivustolla http://www.angelfire.com/ca/PlaystationHouse/SwapTrick.html