Բովանդակություն:
- Քայլ 1: Հայեցակարգեր
- Քայլ 2: Սեղանի նախատիպավորում
- Քայլ 3: Պատրաստում
- Քայլ 4: CAD մակետ և դասավորություն
- Քայլ 5: PCB նախագծում
- Քայլ 6: Էկրանի ամրացումներ
- Քայլ 7: Շրջափակում
- Քայլ 8: Uh-Oh
- Քայլ 9: Ներկել
- Քայլ 10: Լարերի տեղադրում
- Քայլ 11: Arduino կոդ
- Քայլ 12: Եզրակացություն
Video: Arduino MIDI Foot Controller: 12 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Վերջերս ես նախագծեցի այս MIDI կարգավորիչը `գործելու համար looper արտահայտությունը, որը ներկառուցված է Boss DD500 հետաձգման ոտնակի մեջ: Ես վերահսկում եմ իմ ամբողջ կիթառի սարքը ՝ օգտագործելով Behringer FCB MIDI տախտակ, և դա թույլ է տալիս ինձ փոխել էֆեկտների օղակի հետաձգման ոտնակի վրա կարկատաններ ՝ միաժամանակ միացնելով ուժեղացուցիչի ալիքները:
DD500- ը ունի շատ հիմնական looper գործառույթ, որը ներկառուցված է, բայց դրա թերություններից մեկն այն է, որ երբ looper- ն ակտիվ է, այն կառավարվում է ոտնակի վրա տեղադրված ոտնաթաթերի միջոցով: Սա նշանակում է, որ դուք չեք կարող փոխել ոտնակի վրա կարկատաններ, քանի դեռ օղակը ակտիվ է, քանի որ այն ըստ էության գրավում է ոտնաթաթերի անջատիչների գործառույթները: Քանի որ ես օգտագործում եմ MIDI, այս սահմանափակումը գոյություն չունի, քանի որ դա պարզապես ֆիզիկական խնդիր է: Սա նշանակում էր, որ իմ հիմնական MIDI կարգավորիչի վրա 5 ոտնաչափ անջատիչ պետք է վերապահվի looper- ի համար, և ես որոշեցի նրանց համար առանձին վերահսկիչ կառուցել:
Դրա համար իմ նախնական ծրագիրն էր վերցնել մի փոքր Hammond պարիսպ և տեղադրել 5 ոտնաչափ անջատիչ և սովորեցնել ինձ Arduino- ի հիմնական կոդավորումը: Երբ ես սկսեցի ավելի շատ բան սովորել, և իմ կոդը աշխատում էր, այն ավարտվեց ինձ մոտիվացնելով ավելի շատ բաներ փորձելու, իսկ հետո այն հիմնականում ձնագնդի վերածվեց ավելի մեծ բանի:
Քայլ 1: Հայեցակարգեր
Վաղ գաղափարներից մեկն ընդամենը 5 անընդմեջ կարգավիճակ ունենալն էին ՝ կարգավիճակի LED- ներով: Սա բավականին պարզ էր Arduino- ի հետ հացահատիկի վրա ծաղրելը: Նոր հնարավորությունների և սարքավորումների ավելացումն այն գործընթացն էր, որի ընթացքում ես անընդհատ նախագծում և վերափոխում էի թղթի վրա ֆիզիկական դասավորությունը և կառուցում էի հացահատիկի նախագիծը: Նույնիսկ շատ պլանավորմամբ, դրա վրա շատ աշխատանքներ ինչ -որ չափով կատարվել էին հենց սկզբում:
Վերոնշյալ 2 նկարները ցույց են տալիս թղթի վրա կատարածս առաջին նկարը, որն առաջին հերթին դրդեց գաղափարի սկիզբը, որին հաջորդեց մեկամսյա նշումները, որոնք հաջորդեցին դրան, ինչը ձևավորեց ֆիզիկական և PCB դասավորությունները:
Քայլ 2: Սեղանի նախատիպավորում
Ամբողջ նախագիծը կառուցվել է տախտակի վրա և լիովին փորձարկվել `համոզվելու համար, որ այն լիովին գործում է DD500- ով, նախքան դրա մշտական բնակեցման որևէ աշխատանք սկսելը: Կոդում ավելացվել են որոշ լրացուցիչ հնարավորություններ, ինչը վերահսկիչին տվել է DD500- ի բացակայող լրացուցիչ գործառույթներ: Դրանք ավելի ամբողջական կքննարկվեն ծածկագրերի բաժնում:
Ոտնակն ունի 5 ոտնաչափ անջատիչ, 4 կարգավիճակի LED, 5 I2C LCD էկրան և կառավարվում է Arduino Nano Every- ի կողմից: Այն ուժ է ստանում 9 Վ կիթառի ոտնակի PSU- ից ՝ առանձին ճեղքման տուփի միջոցով, որն այդ ուժը փոխանցում է MIDI մալուխին ՝ օգտագործելով 2 կապում, որոնք սովորաբար չեն օգտագործվում MIDI միակցիչի վրա:
Քայլ 3: Պատրաստում
Ես նայեցի նախագիծը տեղավորելու շատ հնարավոր դեպքեր և նույնիսկ դիտարկեցի այն գաղափարը, որ կփորձեմ իմ պատյանը թեքել ալյումինի թերթերից: Ի վերջո, ես տեղավորվեցի Hammond- ի պատյանում, որը բավականաչափ լայն էր, որպեսզի տեղավորեր իմ ընտրած 5 16X2 LCD էկրանները:
Ոտնաթաթի անջատիչները ընդհանուր առմամբ փափուկ հպման անջատիչներ էին:
Այս փուլում ես որոշեցի ունենալ մաքսային էկրանի եզրեր, որոնք առջևը մաքուր տեսք կունենան, քանի որ ես Dremel- ով ձեռքով կկտրեի էկրանի անցքերը և գիտեի, որ, ամենայն հավանականությամբ, կլինեն մի քանի տարածքներ, որոնք կատարյալ չեն: Ես դրանք կտրել եմ տեղական դիզայներական ստուդիայի կողմից, որը լազերային կտրում է ՝ սկզբում որպես ստվարաթղթե կաղապարներ ՝ համոզվելու համար, որ չափսերս բոլորը ճիշտ են, այնուհետև 3 մմ սպիտակ ակրիլով ՝ վերջնական կտորի համար:
Քայլ 4: CAD մակետ և դասավորություն
Իմ թղթե ուրվագծերից ես օգտագործեցի Inkscape- ը ՝ բոլոր ֆիզիկական բաղադրիչները դուրս հանելու և չափերն ու դիրքերը վերջնական տեսքի բերելու համար: Ես նաև այս պահին եկա էկրանի տեղադրման եղանակով: Առջևի տեսանելի պտուտակների քանակը նվազագույնի հասցնելու համար ես որոշեցի բոլոր էկրանները հետևից ամրացնել ալյումինե թիթեղների վրա ՝ անջատիչներով, այնուհետև ինձ կպահանջվի միայն 4 պտուտակ մեկ ափսեի համար, որպեսզի դրանք ամրացնեն պարիսպը, ինչը այն նաև կպահի էկրանի եզրերը տեղում:
Քայլ 5: PCB նախագծում
PCB ստեղծելու համար ես օգտվեցի կայքից, որը կոչվում էր EasyEDA: Այն պարունակում է խմբագրի միջավայր, որում կարող եք գծել ձեր բաղադրիչների սխեմատիկ պատկերը, այն վերածել PCB- ի դասավորության, այնուհետև այն ուղղակի արտահանել JLCPCB ՝ տախտակներ պատրաստելու համար: Ես նախկինում երբեք նման բան չէի արել, բայց նրանք կայքում ունեն հիանալի ուղեցույց, որը բացատրում է, թե ինչպես է աշխատում խմբագիրը, և մեկ ժամվա ընթացքում ես տախտակը նախագծեցի և պատվիրեցի:
Գրատախտակի որոշ հատվածներ այդ ժամանակ անփորձության պատճառով վատ նախագծված էին, օրինակ ՝ էկրանի հզորության համար օգտագործել մեկ 5 Վ ռելս, օրինակ ՝ յուրաքանչյուրին առանձին սնունդ չտալու փոխարեն: Բարեբախտաբար, տեղի ունեցած լարման անկումը բավարար չէր էկրանների հետ խնդիրներ առաջացնելու համար:
Տախտակները եկան մոտ 2 շաբաթ անց և, բարեբախտաբար, աշխատեցին առանց որևէ խնդիրների:
Քայլ 6: Էկրանի ամրացումներ
Առաջին պատրաստված մասերը էկրանի ամրացումներն էին: Ես դրա համար օգտագործել եմ 3 մմ ալյումին և փոսեր փորելու համար: Չափերը որոշվեցին `ամեն ինչ դնելով գրասեղանի վրա, քանի որ ես ուզում էի, որ վերջնական ոտնակը լինի և էկրանի PCB- ներին ամրացվող անցքերից չափելով: Ես նաև ոտքերի անջատիչները տեղադրեցի նրանց հետ, որպեսզի նրանց համար հեռավորություններ ստանամ:
Երբ բոլոր անցքերը փորվեցին, էկրանները տեղադրվեցին և ստուգվեցին քառակուսի լինելու համար ՝ գծիչը պահելով ներքևի հարթ եզրերին: Մինչ այժմ ամեն ինչ շարված էր:
Քայլ 7: Շրջափակում
Հաջորդը գործը փոփոխելն էր: Ոտքի անջատիչներն ու LED- ները պարզ էին, քանի որ դրանցից յուրաքանչյուրը պարզապես պահանջում էր համապատասխանաբար 12 մմ և 5 մմ անցք:
Ֆիզիկական աշխատանքի հիմնական մասը ստացվել է էկրանի անցքերը կտրելիս: Ես օգտագործել եմ «Դրեմել» -ը ծանր կտրող սկավառակներով և տարբեր ֆայլեր `հետագայում անցքերը մաքրելու համար: Այս հատվածը տևեց մոտ 2 ժամ:
Իմ օգտագործած պարիսպը նախագծված էր արդյունաբերական նպատակների համար և պատրաստված էր մեկ կտոր մետաղի թեքումով և անկյունները եռակցելով: Սա նշանակում էր, որ որոշակի աշխատանք կպահանջվի այս անկյունները մաքրելու համար `մեքենայի թափքի լցահարթիչի միջոցով` ցածր բծերը հավասարեցնելու և եզրին առկա բացերը լրացնելու համար:
Այս պահին գործը լիովին պատրաստ էր, և ես ծաղրեցի ամեն ինչ ՝ տեսնելու համար, թե ինչպիսին կլինի այն:
Քայլ 8: Uh-Oh
Եվ հետո եկավ այն գիտակցումը, որ չնայած իմ բոլոր պլանավորմանն ու չափումներին, ես թույլ եմ տվել մեկ ՄԵGE սխալ: Ես նախագծել եմ տախտակի և պատյանների դասավորությունը միմյանցից անկախ: Իմ գլխում տախտակը գրեթե նստած էր վերևի պատին, իսկ հետևում ՝ կարճ կանգնած: Բայց բացարձակապես ոչ մի կերպ չէր կարող սա տեղավորվել: Եվ կողք դնելու համար նույնպես տարածք չկար: Հսկայական վերահսկողություն, բայց բարեբախտաբար, որը ես կարողացա շտկել, քանի որ պատյանի հետևի կափարիչի վրա էկրանի ամրակների միջև դեռ բավականին քիչ տարածություն կար: Եվս մի քանի անցք, որոնք փորված են էկրանի ամրացման վրա և մի քանի կանգառ, և մենք նորից զբաղվում ենք բիզնեսով ՝ բավականաչափ տեղ ունենալով ծածկը ծածկելու համար:
Քայլ 9: Ներկել
Ամեն ինչ նորից ապամոնտաժվեց, իսկ պատյանը ներկվեց Metallic Candy Red- ով, որին հաջորդեց մի քանի շերտ լաք: Գործը մնաց մեկ շաբաթ բուժվելու համար, չնայած ես պարզեցի, որ լաքը դեռ փոքր -ինչ փափուկ էր այս պահին, երբ ամեն ինչ կառուցում էի: Դրա պատճառով ներկի մի քանի փոքր տարածքներ վնասվեցին: Մի բան, որից ես նպատակ ունեմ խուսափել իմ հաջորդ նախագծում:
Այս ընթացքում ես գնել էի 3D տպիչ և որոշեցի օգտագործել այն ոտքի անջատիչների համար որոշ լվացքի մեքենաներ պատրաստելու համար, քանի որ գնածս նեյլոնե սարսափելի դեղնավուն երանգն ուներ և վատ չափի էին:
Քայլ 10: Լարերի տեղադրում
Ֆիզիկական հավաքի վերջին մասը ամեն ինչ լարելն էր: Կրկին, պատյանների դիզայնի/PCB- ի նախագծման հետ կապված խնդիրները նորից ի հայտ եկան, և PCB- ի վերնագրի որոշ դիրքեր նշանակում էին միմյանց վրա շատ լարեր հատել ՝ ամեն ինչ ավելի խառնաշփոթ դարձնելով, քան ես հույս ունեի:
Էկրանների լարերը փաթեթավորված էին 4 հավաքածուի մեջ, և օգտագործելով ջերմահեղուկ և հյուսված փաթաթան ՝ կազմված մեկ կտորից:
Քայլ 11: Arduino կոդ
Որպես Arduino- ի կոդավորման ամբողջովին սկսնակ, ես ինքս ինձ սովորեցնում էի, երբ առաջ էի գնում: Կոդը, հավանաբար, «երկար ճանապարհի» ծրագրային համարժեքն է, բայց ես գոհ էի, որ այն նախատեսվածի պես աշխատեց:
DD500- ի looper- ն ունի 5 հիմնական գործառույթ.
- Looper միացված/անջատված
- Ձայնագրել/Չափազանց/խաղալ
- Նվագարկել ձայնագրված հանգույցը
- Դադարեցնել նվագարկումը
- Մաքրել գրանցված հանգույցը
Այդ գործառույթներից յուրաքանչյուրն ունի համապատասխան ոտնաչափ և, բացառությամբ կանգառի կոճակի, կարգավիճակի LED: LCD էկրանները նույնպես թարմացվում են համապատասխան տեղեկատվությամբ ՝ ցույց տալու համար, թե արդյոք ոտնակը գտնվում է ձայնագրման, գերազանցման կամ նվագարկման ռեժիմում, ինչպես նաև այն, թե ինչ գործառույթ է կատարելու յուրաքանչյուր ոտքի անջատիչ ՝ կախված այն բանից, թե ինչ է կատարվում այդ ժամանակ:
Մեկ այլ հատկություն, որը ես ավելացրել էի, այն էր, որ հետևեմ, թե քանի անգամ է գրանցման/ավելորդ գործառույթը ակտիվացված: Սա պահպանվում է կոդի մեջ ՝ ավելացնելով մի ամբողջ թիվ, որը ցուցադրվում է «բուֆերային» էկրանին ՝ թվարկելով, թե քանի հետք է գրանցված: Մինչ DD500- ը չի կարող ջնջել առանձին հետքերը, ես սա ավելացրեցի զուտ որպես կոդավորման վարժություն `տեսնելու, թե արդյոք կարող եմ այն գործի դնել:
Կարծես թե խնդիր կա ֆայլերը Instructables- ում վերբեռնելու համար, և ես դրա փոխարեն տեղադրել եմ Pastebin- ի ծածկագրի պատճենը ՝
Կոդում օգտագործվել է 2 գրադարան.
LiquidCrystal_I2C
FortySevenEffects MIDI գրադարան
Քայլ 12: Եզրակացություն
Ամենամեծ բաներից մեկը, որ ես խլում եմ այս նախագծից, այն է, որ ժամանակից շուտ հնարավորինս պլանավորելը կարող է խուսափել պոտենցիալ խնդիրներից: Իմ PCB- ի տեղադրման հետ կապված խնդիրները շեշտում են դրա կարևորությունը: Լավ գրառումներ պահելը նաև այն է, ինչ ես բարձր եմ խորհուրդ տալիս: Առանց նրանց, ես կարող էի ավելի շատ խնդիրների հանդիպել, քան ես ունեի: Ես այժմ կառուցում եմ իմ երկրորդ MIDI վերահսկիչը, և այս անգամ ես ավելի մեծ ջանքեր եմ գործադրել իմ կոդը պարզեցնելու և իմ սարքավորումները նախագծելու համար, թե ինչպես պետք է տեղադրվի PCB- ն:
Խորհուրդ ենք տալիս:
Lune - MIDI Controller With Arduino (DJ- ի կամ երաժշտի համար). 5 քայլ (նկարներով)
Lune - MIDI Controller With Arduino (DJ- ի կամ երաժիշտի համար). Սա իմ առաջին arduino (միկրոկոնտրոլեր) նախագծի անունն է Lune: Ես ուզում էի սովորել arduino- ն օգտակար և մեծ նախագծով, ուստի որոշեցի պատրաստել midi DJ վերահսկիչ, որն ունի բոլոր գործառույթները, որոնք անհրաժեշտ են ինքնուրույն խառնելու համար: Ամեն տեսակի սենսոր (հզորություն
4 Foot Bowling Lane for Robotics Challenge: 4 քայլ
4 Foot Bowling Lane for Robotics Challenge: Մեր ամառային ռոբոտաշինության ծրագրի համար ես աշխատում եմ թարմացնել մի քանի տարի առաջ մեր ունեցած մարտահրավերները և ներկայացնել նոր գաղափարներ: Այս առաջինը մենք արել ենք նախկինում, բայց ոչ այսպես: Նախկինում մենք օգտագործում էինք փայտե բոուլինգի կապում, ինչը նույնպես ապացուցում էր
Arduino MIDI Controller DIY ՝ 8 քայլ
Arduino MIDI Controller DIY. Բարև տղերք: Հուսով եմ, որ դուք արդեն վայելել եք իմ նախորդ ուսանելի " Arduino CNC Plotter- ը (մինի նկարչական մեքենա) » և դուք պատրաստ եք նորին, ինչպես միշտ, ես պատրաստել եմ այս ձեռնարկը, որը ձեզ քայլ առ քայլ կառաջնորդի ՝ այսպիսի սուպեր զարմանալի ցածր մակարդակ ստեղծելով
MIDI 5V LED Strip Light Controller Spielatron- ի կամ այլ MIDI Synth- ի համար. 7 քայլ (նկարներով)
MIDI 5V LED Strip Light Controller for Spielatron կամ MIDI Synth. Հսկիչը ALSA MIDI սարք է, այնպես որ MIDI ծրագրակազմը կարող է միանալ LED- ներին միաժամանակ որպես MIDI սինթետիկ սարք
NES Controller Shuffle (Nintendo Controller MP3, V3.0) ՝ 5 քայլ (նկարներով)
NES Controller Shuffle (Nintendo Controller MP3, V3.0). Ես ամբողջովին պոկեցի ryan97128- ը Nintendo Controller MP3- ի ՝ 2.0 տարբերակի համար նրա դիզայնի վրա և լսում եմ, որ նա գաղափարը ստացել է ամենաիմաստուն Morte_Moya- ից, այնպես որ ես չեմ կարող վարկ վերցնել դրա համար: նրանց բոլոր հանճարը: Ես պարզապես ուզում էի ավելացնել հարմարավետությունը և վերալիցքավորել