Kazalo:

HX1 -DM - Upcycled Arduino DUE Powered DIY bobni stroj (narejen z Dead Maschine MK2): 4 koraki
HX1 -DM - Upcycled Arduino DUE Powered DIY bobni stroj (narejen z Dead Maschine MK2): 4 koraki

Video: HX1 -DM - Upcycled Arduino DUE Powered DIY bobni stroj (narejen z Dead Maschine MK2): 4 koraki

Video: HX1 -DM - Upcycled Arduino DUE Powered DIY bobni stroj (narejen z Dead Maschine MK2): 4 koraki
Video: q3d quickfit extruder 2024, December
Anonim
Image
Image
Popravilo
Popravilo

Spec

  • Hibridni Midi krmilnik / bobni stroj: Arduino DUE powered!
  • 16 Senzorske blazinice za hitrost z zelo nizko zakasnitvijo 1> ms
  • 8 gumbov, ki jih lahko uporabnik dodeli kateremu koli ukazu Midi #CC
  • 16-kanalni vgrajen sekvencer (računalnik ni potreben !!)
  • MIDI vhod/izhod/skozi funkcijo (lahko se uporablja kot USB midi vmesnik!)
  • Delna podpora za uro MIDI in MTC (deluje na MMC in DAW nadzoru)

To je vsekakor eden najbolj zapletenih projektov, na katerih sem delal, govoril sem o 17 izhodnih registrih premikov, 6 vhodnih registrih premikov, 2x 16 -kanalnih multiplekserjih, ki delajo na vezju. s premičnimi registri / multiplekserji pred ……

Začelo se je kot impulzni odkup na eBayu, res sem si želel Native Instruments Maschine, ker so mi bile vedno všeč bobnaste ploščice na njih v primerjavi s tistimi v studiu MPC, ki sem jih imel v lasti, zato sem na eBayu za 40 funtov videl pokvarjeno Poskusil bi to popraviti, pri čemer je najslabši scenarij "če tega ne morem popraviti, imam Arduino DUE in nekaj UNO -jev, ki bi ležali naokoli, vedno bi lahko naredil nekaj kramp"

Vseeno so mi res všeč te bobnaste ploščice !!!!

Zaloge

1 x pokvarjen stroj Native Instruments Maschine MK2

1 x Arduino Due.

17 x SN74HC595's - 8 -bitni izhodni premični registri

6 x SN74HC165 - 8 -bitni vhodni premični registri

2 x 74HC4067 - 16 -kanalni multiplekserji.

2 x 3,2 -palčna zaslona OLED velikosti 256 x 64.

nekaj ravne žice (primeren bo stari disketni kabel)

Korak: Popravilo

Prodajalec eBaya je bil prijazen, da je predstavil, kaj lahko pričakuje v opisu, in je odstranil vrata USB. Na plošči je prišlo do prenapetosti in se ni vklopila. Pokažite multimeter…. Zdelo se je, da je na plošči kratek čas. "Pred tem sem popravil nešteto matičnih plošč s kratkimi hlačami. Kako težko je to lahko!?!" Izkazalo se je, da je to zaradi prenapetosti (in verjetno delno zasnove plošče) odneslo skoraj VSAKE komponenta na plošči, vključno z glavnim procesorjem. Ta tabla je bila na zelo slabem mestu!

Nadaljeval sem s svojim multimetrom, malo raziskal komponente in ugotovil, kaj vsak počne, poleg tega pa je NI naredil odlično delo, da so stvari z različnimi preskusnimi točkami okoli matične plošče postale precej očitne ??.

2. korak: kramp

Hack
Hack
Hack
Hack
Hack
Hack

Ker sem vedel, da bom moral zamenjati vse, kar ni v glavnem procesorju (kar ne bo potrebno), sem se obrnil na eBay. Na srečo je bilo vse potrebno poceni, zato je bilo njihovo naročanje zabavno. ?

17 x SN74HC595’s - 8 -bitni izhodni premični registri

17 izhodnih registrov premikov se uporablja za krmiljenje večbarvnih LED diod bobnaste plošče in vseh LED gumbov (natančneje 136!) Te so zelo enostavne za uporabo in hitro so našle knjižnico z uporabo Arduino IDE, da sem se rešil.. so priklenjeni skupaj.

6 x SN74HC165's - 8 -bitni vhodni premični register

Ti vhodni premični registri so odlični za več vhodov na 1 kanalu. Skupaj je 48 gumbov.

2 x 74HC4067 - 16 -kanalni multiplekserji

Na voljo imamo 16 blazinic in 8 gumbov, tudi ti so analogni. Zdelo se mi je, da jih je lažje uporabljati, saj so bile tiste na plošči 8 -kanalne, zato sem imel težave pri iskanju, kam povezati podatkovne zatiče.. stik špagetov….

2 x 3,2 -palčna zaslona OLED z ločljivostjo 256 x 64 palcev

Imeti mora nekaj zaslonov !!! Na izvirnih LCD zaslonih, ki so prišli v NI Maschine, nisem našel nobenih podatkov in nisem mogel več motiti, da bi zapravljal čas, zato sem se odločil, da jih naročim na Kitajskem … Za to sem uporabil knjižnico UG8x8. Novi zasloni so bili nekoliko manjši od izvirnika, zato sem le odpravil "slabe koščke".

1x Arduino Due

To sem nekaj časa ležal in čakal na projekt, vreden vse te moči !! Prišlo je do težave. Zdi se, da imajo nekatere revizije teh plošč težave s ponastavitvijo, kar je pomenilo, da sem moral včasih pritisniti gumb za ponastavitev, da se je zadeva zagnala po nalaganju skice. To je bilo enostavno odpraviti z 10K uporom (o tem je objava na forumu Arduino).

3. korak: Koda

Bil sem resnično navdušen nad tem, koliko podpore obstaja v skupnosti Arduino, saj je bilo iskanje primerov kode in knjižnic za različne komponente res preprosto in neposredno.

Zagon in zagon USB midi -ja je bil enostaven in je trajal nekaj minut. Svetleče diode so trajale nekaj časa in moral sem ustvariti skico, ki je postopoma nastavljala vsak pin visoko v intervalih po 1 sekundo in si vzela opombo.. Naredil sem matriko, ki je vsebovala številke PIN, da bi bilo lažje kodirati vse.

Naredil sem 2 knjižnici za pogovor z multiplekserji, ena roča analogne blazinice, druga pa gumbe. Spet je bilo to res preprosto. Priložil sem jih, lahko uporabite urejanje itd.

Želel sem imeti sekvencer in možnost snemanja brez potrebe po računalniku, našel sem nekaj informacij o tem, kako pretvoriti BPM v ms in našel odlično knjižnico časovnika Arduino DUE.

S knjižnico časovnika sem lahko nastavil bralne vnose in stvari v intervalih:

Pads @ 1ms - To sem ugotovil za najboljše ravnovesje med odzivnimi / odklonilnimi artefakti.

Gumbi @ 40ms - Uporabil sem knjižnico čakalnih vrst, tako da ni zamudil nobenega pritiska.

Obdelava poteka v glavni zanki, ko ste v prekinitvi, ne morete narediti preveč, saj bo to zaklenilo Arduino.

Midi stvari @BPM (v ms) - za zaporedje se pri želenem BPM -ju pokliče funkcija, ki posodablja opombe ETC in povečuje števec utripov.

4. korak: Zaključek

Zaključek
Zaključek

Nisem prepričan, kaj sem naredil tukaj, vendar sem zelo ponosen, blazinice se odlično odzivajo, moral sem se poigravati s časom, da sem dosegel pravo ravnovesje z odzivnostjo in težavami. Zaporedje deluje odlično in ko odkrijem podporo DAW, lahko to stvar v celoti vključim v svoj potek dela in lahko dodam stvari v krmilnik, ki sem si ga vedno želel!. To je bil zelo zabaven projekt za delo in odlična vaja. pri razumevanju C, razumevanju povratnega inženiringa in delovanja multiplekserjev, registrov premikov in zaporedja MIDI. Še naprej izboljšujem glavno kodo in jo bom nekega dne morda izdal kot oblikovalec odprtokodnih ritmov.

NASVETI:

Ugotovil sem, kako spremeniti ime USB DUE z urejanjem ene od datotek glave v mapi Arduino/SAM.

MIDI-OX je odlično orodje za testiranje funkcionalnosti Midi

POVEZAVE:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Nekaj informacij o tem, kako pretvoriti BPM v ms

travis-ci.com/SMFSW/Queue - Za vnose gumbov, da ne zamudimo nobenega pritiska!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib za LED/LCD zaslone

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

www.pjrc.com/teensy/td_libs_Encoder.html - Libodirnik kod za velik gumb

shiftregister.simsso.de/ - ShiftIn Register lib - Ustvaril Henrik Heine, 24. julij 2016

forum.arduino.cc/index.php?topic=57636.0 - stvari s časovno kodo MIDI

Priporočena: