Բովանդակություն:

HX1 -DM - The Upcycled Arduino DUE Powered DIY Drum Machine (made with Dead Maschine MK2): 4 քայլ
HX1 -DM - The Upcycled Arduino DUE Powered DIY Drum Machine (made with Dead Maschine MK2): 4 քայլ

Video: HX1 -DM - The Upcycled Arduino DUE Powered DIY Drum Machine (made with Dead Maschine MK2): 4 քայլ

Video: HX1 -DM - The Upcycled Arduino DUE Powered DIY Drum Machine (made with Dead Maschine MK2): 4 քայլ
Video: q3d quickfit extruder 2024, Նոյեմբեր
Anonim
Image
Image
Վերանորոգումը
Վերանորոգումը

The Spec

  • Hybrid Midi վերահսկիչ / թմբուկային մեքենա. Arduino DUE սնուցմամբ:
  • 16 Արագության զգայուն բարձիկներ ՝ շատ ցածր ուշացումով 1> ms
  • 8 կոճ օգտագործող, որը նշանակելի է ցանկացած Midi #CC հրամանի համար
  • 16ch ներկառուցված հաջորդականիչ (համակարգչի կարիք չկա !!)
  • MIDI ներս/դուրս/ֆունկցիոնալությամբ (կարող է օգտագործվել որպես USB midi ինտերֆեյս)
  • Մասնակի MIDI ժամացույց և MTC աջակցություն (աշխատում է MMC և DAW հսկողության վրա)

Սա, անշուշտ, ամենաբարդ նախագծերից մեկն է, որի վրա ես աշխատել եմ: Խոսում էի 17 ելքային հերթափոխի գրանցամատյանների, 6 մուտքային հերթափոխի ռեգիստրների, տպատախտակի վրա աշխատող 2x 16 ալիքային մուլտիպլեքսորների մասին: հերթափոխի գրանցամատյաններով / մուլտիպլեքսորներով մինչև ……

Այն սկսվեց որպես eBay- ի իմպուլսային գնում, ես իսկապես ուզում էի Native Instruments Maschine- ը, քանի որ ինձ միշտ դուր էին գալիս թմբուկի բարձիկները ՝ համեմատած ինձ պատկանող MPC ստուդիայի հետ: Ես կցանկանայի ուղղել այն ամենավատ սցենարով ՝ «եթե չկարողանամ շտկել այն, ես ունեմ Arduino DUE և մի քանի ՄԱԿ -ի ներկայացուցիչներ, որոնք միշտ պառկած են, ես միշտ կարող եմ ինչ -որ կոտրել»:

Ես ամեն դեպքում շատ եմ սիրում այդ թմբուկի բարձիկները !!!!

Պարագաներ

1 x անսարք Native Instruments Maschine MK2

1 x Arduino Due:

17 x SN74HC595 - 8 բիթանոց ելքային հերթափոխի գրանցամատյաններ

6 x SN74HC165 ՝ 8 բիթանոց մուտքային հերթափոխի գրանցամատյաններ

2 x 74HC4067 - 16 ալիքային մուլտիպլեքսեր:

2 x 3.2”256x64 OLED էկրան:

ինչ -որ հարթ մետաղալար (հին անգործունյա մալուխը կանի)

Քայլ 1: Վերանորոգում:

EBay- ի վաճառողը բավականաչափ բարի էր, որպեսզի պատկերացում կազմի, թե ինչ կարելի է ակնկալել նկարագրության մեջ և հեռացրել էր USB պորտը: Տախտակը տառապում էր գերլարման և չէր սնվում: Նշեք մուլտիմետրը… Կարծես թե տախտակը կարճ էր. բաղադրիչը տախտակի վրա, ներառյալ հիմնական պրոցեսորը: Այս տախտակն իսկապես վատ ձևով էր:

Շարունակեցի առաջ քաշել և ծակել իմ մուլտիմետրով, մի փոքր հետազոտություն կատարեցի բաղադրիչների վրա և հասկացա, թե ինչ է անում յուրաքանչյուրը, և NI- ն հիանալի աշխատանք կատարեց ՝ իրերը բավականին ակնհայտ դարձնելով մայրական սալիկի շուրջը գտնվող տարբեր փորձարկման կետերով:

Քայլ 2: The Hack

The Hack
The Hack
The Hack
The Hack
The Hack
The Hack

Իմանալով, որ ես պետք է ամեն ինչ փոխարինեմ հիմնական պրոցեսորից (որը պետք չի լինի), ես դիմեցի eBay- ին: Բարեբախտաբար, անհրաժեշտ ամեն ինչ էժան էր, ուստի նրանց բեռ պատվիրելը հաճելի էր: ?

17 x SN74HC595 ՝ 8 բիթանոց ելքային հերթափոխի գրանցամատյաններ:

17 ելքային հերթափոխի գրանցամատյանները օգտագործվում են թմբուկի բարձիկի բազմագույն LED- ները և կոճակի բոլոր LED- ները (ճշգրիտ ՝ 136) վերահսկելու համար: Դրանք իրոք շատ հեշտ օգտագործման համար են և արագ գտան գրադարան Arduino IDE- ի միջոցով `փրկելու համար:.. նրանք շղթայված են միասին:

6 x SN74HC165 ՝ 8 բիթանոց մուտքային հերթափոխի գրանցամատյան:

Այս մուտքային հերթափոխի գրանցամատյանները հիանալի են 1 ալիքի բազմաթիվ մուտքերի համար: Ընդհանուր առմամբ կա 48 կոճակ:

2 x 74HC4067 - 16 ալիքային մուլտիպլեքսեր:

Մենք ունենք 16 բարձիկ և 8 բռնակ, որոնք նույնպես անալոգային են: Ես ավելի հեշտ գտա դրանք օգտագործել, քանի որ գրատախտակին տեղադրված էին 8 ալիք, և ես խնդիրներ ունեցա գտնելու, թե որտեղ միացնել տվյալների կապերը: cue spaghetti junction….

2 x 3.2”256x64 OLED էկրան:

Այն պետք է ունենա որոշ էկրաններ !!! Ես չկարողացա որևէ տեղեկատվություն գտնել NI Maschine- ի սկզբնական LCD էկրանների վրա, և ես այլևս չէի անհանգստանա, երբ փորձում էի ժամանակ կորցնել, ուստի որոշեցի որոշ ապրանքներ պատվիրել Չինաստանից … Ես դրանք աշխատեցնելու համար օգտագործեցի UG8x8 գրադարանը: Նոր էկրանները մի փոքր ավելի փոքր էին, քան բնօրինակը, այնպես որ ես պարզապես փակեցի «վատ բիթերը»:

1 x Arduino Due:

Ես որոշ ժամանակ պառկած սպասում էի այս ամբողջ ուժի համար բավական արժանի նախագծի սպասելուն !! Խնդիր կար, որին ես հանդիպեցի: Կարծես այս տախտակների որոշ վերանայումներ ունեն վերակայման խնդիր, ինչը նշանակում էր, որ ես երբեմն պետք է սեղմեի վերակայման կոճակը, որպեսզի էսքիզը վերբեռնելուց հետո այն գործարկվեր: Սա հեշտությամբ ամրագրվեց 10K դիմադրիչով (այս մասին գրառում կա Arduino ֆորումում):

Քայլ 3: Կոդ

Ես իսկապես տպավորված էի, թե որքան աջակցություն կա Արդուինո համայնքում: Տարբեր բաղադրիչների համար ծածկագրերի օրինակներ և գրադարաններ գտնելն իսկապես պարզ և անմիջական էր:

USB midi- ի գործարկումը հեշտ էր և տևեց մի քանի րոպե: LED- ները որոշ ժամանակ պահանջեցին, և ես ստիպված էի ստեղծել ուրվագիծ, որը աստիճանաբար սահմանում էր յուրաքանչյուր PIN HIGH 1 վայրկյան ընդմիջումներով և նշում կատարում:

Ես սարքեցի 2 գրադարան ՝ մուլտիպլեքսորների հետ խոսելու համար, մեկը բռնում էր անալոգային բարձիկներից, իսկ մյուսը ՝ բռնակներից: Կրկին սա իսկապես պարզ էր: Ես կցել եմ դրանք, ազատ զգալ օգտագործել խմբագրումը և այլն:

Ես ուզում էի ունենալ հաջորդականիչ և առանց համակարգչի անհրաժեշտության ձայնագրման ունակություն, ես գտա որոշ տեղեկություններ, թե ինչպես փոխարկել BPM- ը ms- ի և գտա հիանալի Arduino DUE ժմչփ գրադարան:

Usingամաչափի գրադարանի միջոցով ես կարողացա ընդմիջումներով սահմանել ընթերցման մուտքերն ու իրերը.

Պահոցներ @ 1ms - Ես գտա սա, որպեսզի լավագույն հավասարակշռությունը ստանամ արձագանքման / դե -ցատկման արտեֆակտների միջև:

Կոճակներ @ 40ms.

Մշակումը կատարվում է հիմնական հանգույցում, ընդմիջման ժամանակ դուք շատ բան չեք կարող անել, քանի որ դա կողպելու է Arduino- ն:

Միջին իրեր @BPM (ms) - հաջորդականության համար, ցանկալի BPM- ում գործառույթը կոչվում է այն թարմացումները, որոնք պետք է հնչեն ETC և ավելացնում է հարվածների հաշվիչը:

Քայլ 4: Եզրակացություն:

Եզրակացություն
Եզրակացություն

Չգիտեմ, թե ինչ եմ արել այստեղ, բայց ես հպարտ եմ, բարձիկները հիանալի են արձագանքում, ես ստիպված էի ժամանակի հետ շփվել `ճիշտ հավասարակշռություն ստանալու համար` արձագանքման և դենոնսինգի հարցերով: Հաջորդականությունը հիանալի է աշխատում, և երբ պարզեմ DAW- ի աջակցությունը, ես կարող եմ ամբողջությամբ ներդնել այս բանը իմ աշխատանքային հոսքի մեջ և կարող եմ բաներ ավելացնել այն վերահսկիչում, որը ես միշտ ցանկացել եմ: Սա իսկապես զվարճալի նախագիծ էր աշխատելու համար և հիանալի վարժություն: C- ի հետ շփման մեջ, հասկանալ հակաինժեներական տեխնիկան և ինչպես են աշխատում մուլտիպլեքսերները, հերթափոխի գրանցամատյանները և MIDI հաջորդականությունը: Ես շարունակում եմ կատարելագործել հիմնական ծածկագիրը և մի օր այն կարող եմ թողարկել որպես բաց ռիթմի դիզայներ:

ԽՈՐՀՈՐԴՆԵՐ.

Ես գտա, թե ինչպես փոխել DUE- ի USB անունը ՝ խմբագրելով վերնագրի ֆայլերից մեկը Arduino/SAM պանակում:

MIDI-OX- ը Midi ֆունկցիոնալությունը փորձարկելու հիանալի գործիք է

Հղումներ:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Որոշ տեղեկություններ, թե ինչպես փոխարկել BPM- ը ms- ի

travis-ci.com/SMFSW/Queue - Կոճակի մուտքերի համար, որպեսզի մենք բաց չթողնենք որևէ սեղմում:

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib LED/LCD էկրանների համար

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

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib մեծ կոճակի համար

shiftregister.simsso.de/ - ShiftIn Register lib - Ստեղծել է Հենրիկ Հայնեն, 24 հուլիսի, 2016 թ.

forum.arduino.cc/index.php?topic=57636.0 - MIDI Time Code- ի նյութեր

Խորհուրդ ենք տալիս: