Sisukord:

HX1 -DM - Upcycled Arduino DUE Powered DIY trummimasin (valmistatud surnud masinaga MK2): 4 sammu
HX1 -DM - Upcycled Arduino DUE Powered DIY trummimasin (valmistatud surnud masinaga MK2): 4 sammu

Video: HX1 -DM - Upcycled Arduino DUE Powered DIY trummimasin (valmistatud surnud masinaga MK2): 4 sammu

Video: HX1 -DM - Upcycled Arduino DUE Powered DIY trummimasin (valmistatud surnud masinaga MK2): 4 sammu
Video: q3d quickfit extruder 2024, Detsember
Anonim
Image
Image
Remont
Remont

Spets

  • Hübriid Midi kontroller / trummimasin: Arduino DUE toitega!
  • 16 kiirusandurit väga madala latentsusega 1> ms
  • 8 nuppu, mida kasutaja saab määrata mis tahes Midi #CC käsule
  • 16-kanaliline sisseehitatud järjestus (arvutit pole vaja !!)
  • MIDI sisse/välja/läbi funktsionaalsuse (saab kasutada USB midi liidesena!)
  • Osaline MIDI kella ja MTC tugi (töötab MMC ja DAW juhtimisega)

See on kindlasti üks keerulisemaid projekte, mille kallal olen töötanud, rääkides 17 väljundi vahetusregistrit, 6 sisendnihkeregistrit, 2x 16 kanaliga multiplekserit, mis töötavad trükkplaadil. Mul pole õrna aimugi, mis on mis ja kus pluss ma pole kunagi segi ajanud vahetusregistrite / multiplekseritega enne ……

See algas impulssostuna eBayst, ma tõesti tahtsin Native Instruments Maschine'i, sest Ivele meeldisid alati trummipadjad, võrreldes nendega, mis olid MPC stuudios, mis mulle kuulus, nii et kui ma nägin eBays vigase seadme 40 naela eest, arvasin Ma prooviksin seda parandada halvima stsenaariumi korral: "Kui ma ei saa seda parandada, on mul Arduino DUE ja mõned UNO asuvad ümber, saaksin alati häkkida"

Mulle väga meeldivad need trummipadjad niikuinii !!!!

Tarvikud

1 x vigane Native Instruments Maschine MK2

1 x Arduino tähtaeg.

17 x SN74HC595 - 8 -bitised väljundi registrid

6 x SN74HC165 - 8 -bitised sisendnihkeregistrid

2 x 74HC4067 - 16 kanaliga multiplekserid.

2 x 3,2”256x64 OLED -ekraani.

mõni lame traat (vana disketikaabel sobib)

Samm: remont

EBay müüja oli lahke, et anda kirjelduses aimu, mida oodata, ja eemaldas USB -pordi. Tahvlil oli ülepinge ja see ei lülitunud sisse. Näidake multimeetrit…. Tahvlil tundus olevat lühike.. "Olen enne lugematuid emaplaate lühikeste pükstega parandanud. Nii kui raske see võib olla!?!" Selgus, et see oli ülepinge (ja tõenäoliselt osaliselt ka plaadi kujundus), peaaegu iga komponent plaadil, sealhulgas peamine protsessor. See plaat oli tõesti halvas mõttes!

Jätkasin oma multimeetriga tootmist ja torkimist, uurisin natuke komponente ja arvasin välja, mida igaüks teeb, ja NI tegi suurepärast tööd, et muuta asjad emaplaadi ümber asuvate testimispunktide abil ilmselgeks.

2. samm: häkkimine

Hack
Hack
Hack
Hack
Hack
Hack

Teades, et pean asendama kõik põhiprotsessori riba (mida pole vaja), pöördusin eBay poole. Õnneks oli kõik vajalik odav, nii et nende laadimine oli lõbus. ?

17 x SN74HC595 - 8 -bitised väljundi registrid

17 väljundi nihkeregistrit kasutatakse trummelpadja mitmevärviliste LED-ide ja kõigi nuppude LED-ide (täpselt 136) juhtimiseks.. nad on aheldatud kokku.

6 x SN74HC165 - 8 -bitine sisendnihkeregister

Need sisendi nihkeregistrid sobivad suurepäraselt ühe kanali mitme sisendi jaoks. Kokku on 48 nuppu.

2 x 74HC4067 - 16 kanaliga multiplekserid

Meil on 16 padja ja 8 nuppu, mis on ka analoogid. Mul oli lihtsam neid kasutada, kuna tahvlil olid 8 kanaliga ja mul oli probleeme andmekontaktide ühendamise koha leidmisega.. cue spagettide ristmik….

2 x 3,2”256x64 OLED -ekraani

Sellel peab olema mõni ekraan !!! Ma ei leidnud NI Maschine'i originaal -LCD -ekraanidelt mingit teavet ja ma ei viitsinud enam aega raisata, nii et otsustasin Hiinast tellida … Ma kasutasin nende tööks UG8x8 raamatukogu. Uued ekraanid olid originaalist veidi väiksemad, nii et ma lihtsalt kustutasin "halvad tükid".

1 x Arduino tähtaeg

Mul oli see pikali ja ootasin projekti, mis oleks piisavalt väärt kogu selle jõu jaoks !! Ilmnes probleem. Tundub, et mõnel nende tahvlite versioonil on lähtestamisprobleem, mis tähendas, et pidin pärast visandi üleslaadimist asja käivitamiseks mõnikord vajutama lähtestamisnuppu. Seda saab hõlpsasti parandada 10K takistiga (selle kohta on postitus Arduino foorumis).

3. samm: kood

Mulle avaldas tõelist muljet, kui suur on Arduino kogukonna toetus, koodinäidete ja raamatukogude leidmine erinevate komponentide jaoks oli tõesti lihtne ja otsekohene.

USB midi käivitamine oli lihtne ja võttis paar minutit. Valgusdioodidel kulus veidi aega ja ma pidin looma eskiisi, mis seadis iga tihvti järk -järgult 1 -sekundilise intervalliga KÕRGE ja tegin märkme. Tegin massiivi, mis hoidis PIN -numbreid, et lihtsustada kõike kodeerimist.

Tegin multiplekseritega rääkimiseks 2 raamatukogu, üks tegeleb analoogpatjadega ja teine nuppudega. See oli jällegi tõesti lihtne. Lisasin need julgelt redigeerimiseks jne.

Tahtsin omada järjestust ja võimalust salvestada ilma arvutita, leidsin teavet BPM -i teisendamiseks ms -ks ja leidsin suurepärase Arduino DUE taimeriteegi.

Kasutades taimeriteeki, sain intervallidega määrata lugemissisendeid ja asju:

Pads @ 1ms - leidsin, et see annab parima tasakaalu reageerimise / tagasipõrkamise esemete vahel.

Nupud @ 40ms - kasutasin järjekorraraamatukogu, nii et ükski vajutus ei jäänud vahele.

Töötlemine toimub põhisilmus, katkestuse ajal ei saa te liiga teha, kuna see lukustab Arduino.

Midi värk @BPM (ms) - järjestuse jaoks nimetatakse soovitud BPM -i jaoks funktsiooni, mis värskendab ETC märkmeid ja suurendab löögiloendurit.

4. samm: järeldus

Järeldus
Järeldus

Ma pole kindel, mida ma siin teinud olen, kuid olen üsna uhke, padjad reageerivad suurepäraselt, pidin ajastama, et leida õige tasakaal reageerimis- ja tagasilöögiprobleemidega. Järjestus töötab suurepäraselt ja kui saan DAW toe selgeks, saan selle asja täielikult oma töövoogu integreerida ja saan lisada asju kontrollerisse, mida olen alati soovinud! See oli tõeliselt lõbus projekt, millega töötada ja suurepärane harjutus C-ga tegelemiseks, pöördprojekteerimise mõistmiseks ja multiplekserite, vahetusregistrite ja MIDI-järjestuse toimimiseks. Jätkan põhikoodi täiustamist ja võin selle ühel päeval avatud lähtekoodiga rütmikujundajana välja anda.

NÕUANNE:

Leidsin, kuidas muuta DUE USB -nime, muutes ühte Arduino/SAM kausta päisefaili.

MIDI-OX on suurepärane vahend Midi funktsionaalsuse testimiseks

LINKID:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Veidi teavet BPM -i teisendamise kohta ms -i

travis-ci.com/SMFSW/Queue - nuppude sisendite jaoks, nii et me ei jätaks ühtegi vajutust vahele!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib LED/LCD ekraanide jaoks

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

www.pjrc.com/teensy/td_libs_Encoder.html - Suure nupu kodeerija Lib

shiftregister.simsso.de/ - ShiftIn Register lib - loonud Henrik Heine, 24. juuli 2016

forum.arduino.cc/index.php?topic=57636.0 - MIDI ajakoodi värk

Soovitan: