Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Դիզայն
- Քայլ 3: Շինարարություն և էլեկտրամոնտաժ
- Քայլ 4: Programրագրավորում
- Քայլ 5: Կարգավորում
Video: Arduino Uno Midi Fighter: 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս հրահանգը ստեղծվել է Հարավային Ֆլորիդայի համալսարանի Makecourse- ի նախագծի պահանջի կատարման համար (www.makecourse.com)
DJ Techtools- ի հանրաճանաչ MidiFighter- ի հիման վրա ՝ Arduino- ով աշխատող Musical Instrument Digital Interface (MIDI) կարգավորիչը կարող է օգտագործվել որպես MIDI սարք ցանկացած թվային աուդիո կայանի (DAW) ծրագրային ապահովման համար: MIDI վերահսկիչը կարող է MIDI հաղորդագրություններ ուղարկել և ստանալ համակարգչից և կարող է օգտագործվել ցանկացած ծրագրաշարի օգտագործման անմիջական վերահսկման համար: Բացի այդ, MIDI վերահսկիչի վրա տեղադրվող կարգավորումները լիովին կարգավորելի են, ինչը նշանակում է, որ յուրաքանչյուր առանձին կոճակ, սահնակ և կոճակ կարող է քարտեզագրվել DAW- ի ցանկացած գործառույթի: Օրինակ, կոճակը սեղմելը կարող է նվագարկել որոշակի նոտա կամ ծրագրավորվել ՝ ձեր ձայնային նախագծի տեմպը փոխելու համար:
github.com/jdtar/Arduino-Midi-Controller
Քայլ 1: Նյութեր
Ստորև ներկայացված է այս նախագծում օգտագործվող նյութերի և գործիքների ցանկը:
Արդուինո Ունո
Breadboard
4051/4067 Մուլտիպլեքսեր
Jumper լարերը
Լրացուցիչ մետաղալար
2x 10k ohm գծային սլայդ պոտենցիոմետրեր
16x Sanwa 24 մմ կոճակներ
Heերմության նվազում
Sոդման երկաթ
Սափրիչ սայր
4.7 kΩ դիմադրություն
Ակրիլային թերթ (կափարիչի համար)
Բնակարան կոճակների և Arduino- ի համար
3D տպիչ
Լազերային Դանակ
Քայլ 2: Դիզայն
Նախքան նախագիծը սկսելը, ինձ արդեն տրամադրվել էր բնակարան MIDI վերահսկիչի համար, ուստի կափարիչի էսքիզը ծաղրեցի, որպեսզի պատկերացնեմ, թե որտեղ է ամեն ինչ տեղադրվելու: Ես գիտեի, որ ցանկանում եմ առնվազն 16 կոճակ և մի քանի պոտենցիոմետր ՝ որպես հնարավորության, այնպես որ ես փորձեցի հնարավորինս հավասարաչափ տարածել բաղադրիչները:
Կափարիչի դասավորությունը կազմելուց հետո ես ֆայլը արտահանեցի որպես 1: 1 PDF և ուղարկեցի լազերային կտրիչ `ակրիլային թերթ կտրելու համար: Պտուտակային անցքերի համար ես նշեցի, թե որտեղ եմ ուզում, որ անցքերը լինեն մարկերով և հալեցի ակրիլը տաք թելքով:
Կցված է 1: 1 PDF ֆայլը, որը կարող է տպվել 1: 1 տեսքով և կտրվել էլեկտրական գործիքներով, եթե լազերային դանակ չկա:
Քայլ 3: Շինարարություն և էլեկտրամոնտաժ
Ակրիլը կտրելուց հետո պարզեցի, որ ակրիլը չափազանց բարակ էր, որպեսզի բավականաչափ ապահովեր բոլոր բաղադրիչները: Այնուհետև ես կտրեցի մեկ այլ թերթ և սոսնձեցի դրանք, ինչը կատարյալ աշխատեց:
Բաղադրիչների միացումը որոշ փորձարկումներ և սխալներ պահանջեց, բայց արդյունքում բերվեց Ֆրիտզինգի ուրվագիծը: Ես նախ միացրեցի գետնին լարերը և 4.7kΩ ռեզիստորը, եռակցեցի և ջերմությունը փոքրացրեցի կոճակների միացումները: Երկու սլայդ պոտենցիոմետրերի տեղադրման համար անհրաժեշտ էր հալեցման անցքեր ակրիլային պտուտակների համար: Երկու պոտենցիոմետրերի պտուտակվելուց հետո դրանք միացված էին A0 և A1 անալոգային կապումներին: Էլեկտրագծերի ավարտից հետո ես հիշեցի, որ իմ բռնակիչների համար գլխարկներ չկան, այլ ոչ թե դրանք գնելը, ես տպեցի որոշ կոճակների գլխարկներ ՝ օգտագործելով 3-D տպիչ ՝ այն ուրվագծելով Autodesk Fusion 360-ում և արտահանելով STL ֆայլ: Դե
Arduino Uno- ն ունի ընդամենը 12 հասանելի թվային մուտքագրիչ կապ, սակայն 16 կոճակ պետք է միացված լիներ: Սա փոխհատուցելու համար ես 74HC4051 Multiplexer- ը միացրեցի տախտակի վրա, որն օգտագործում է 4 թվային մուտքային կապում և մի քանի ազդանշաններին հնարավորություն է տալիս օգտագործել ընդհանուր գիծ, որի արդյունքում ստացվել է 8 հասանելի թվային կապում, ընդհանուր օգտագործման համար 16 թվային կապում:
Կոճակները ճիշտ կապումներին միացնելը պարզապես 4x4 մատրիցա ստեղծելու և այն ծածկագրում օգտագործելու խնդիր էր: Խնդիրն այն էր, որ ձեռք բերված հատուկ մուլտիպլեքսերը ուներ որոշակի քորոց դասավորություն, որին օգնում էր տվյալների թերթը, և ես նկատի ունեի նշումների հատուկ դասավորությունը, երբ կոճակները միացնելով, որն ավարտվեց մի փոքր այս տեսքով.
EԱՆՈԹԱԳՐՈԹՅԱՆ ՄԱՏՐԻՔՍ
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIX (M = MUX INPUT)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Քայլ 4: Programրագրավորում
Երբ հավաքումն ավարտվի, Arduino- ի ծրագրավորումը մնում է: Կցված սցենարը գրված է այնպես, որ այն հեշտությամբ հարմարեցվի:
Սկրիպտի սկիզբը ներառում է MIDI.h գրադարանը և վերահսկիչ գրադարանը, որը վերցված է Notes and Volts բլոգից, որոնք երկուսն էլ ներառված են կոդի ZIP ֆայլում: Օգտագործելով վերահսկիչ գրադարանը, կարող են ստեղծվել կոճակների, պոտենցիոմետրերի և մուլտիպլեքս կոճակների օբյեկտներ, որոնք պարունակում են տվյալների արժեքներ, որոնք ներառում են նոտայի համարը, կառավարման արժեքները, նշման արագությունը, MIDI ալիքի համարը և այլն: MIDI.h գրադարանը հնարավորություն է տալիս MIDI I/O հաղորդակցություններին Arduino- ի սերիական նավահանգիստները, որոնք իր հերթին վերցնում են տվյալները վերահսկիչի օբյեկտներից, դրանք վերածում MIDI հաղորդագրությունների և ուղարկում հաղորդագրությունները ցանկացած midi ինտերֆեյսի հետ կապված:
Սցենարի դատարկ կարգաբերման մասը սկզբնաղբյուրում է բոլոր ալիքները որպես անջատված և նաև սկսում սերիական կապ 115200 բաուդ արագությամբ, արագություն ավելի արագ, քան MIDI ազդանշանները փոխանակվում են:
Հիմնական օղակը, ըստ էության, վերցնում է կոճակների և բազմապատկված կոճակների զանգվածները և վարում է մի օղակ, որը ստուգում է, արդյոք կոճակը սեղմված է կամ բաց թողնված և համապատասխան տվյալների բայթերն ուղարկում է midi ինտերֆեյս: Պոտենցիոմետր հանգույցը ստուգում է պոտենցիոմետրի դիրքը և համապատասխան լարման փոփոխությունները հետ է ուղարկում midi ինտերֆեյս:
Քայլ 5: Կարգավորում
Երբ սցենարը բեռնված է Arduino- ում, հաջորդ քայլը միացումն ու նվագարկումն է: Այնուամենայնիվ, մի քանի քայլ կա, նախքան այն օգտագործելը:
OSX- ում Apple- ը ներդրել է վիրտուալ midi սարքեր ստեղծելու հնարավորություն, որոնց կարելի է մուտք գործել Mac- ներում Audio Midi Setup հավելվածի միջոցով: Նոր սարքի ստեղծումից հետո, Hairless MIDI- ն կարող է օգտագործվել Arduino- ի և նոր վիրտուալ midi սարքի միջև սերիական կապ ստեղծելու համար: Arduino- ի սերիական միացումն առանց վարսերի MIDI- ի միջոցով գործում է սցենարի դատարկ պարամետրերի հատվածում սահմանված արագության արագությամբ և պետք է համարժեք սահմանվի առանց մազերի MIDI- ի նախապատվության պարամետրերում:
Փորձարկման նպատակով ես օգտագործել եմ Midi Monitor- ը ՝ ստուգելու համար, թե արդյոք սերիական-MIDI կապի միջոցով ճիշտ տվյալներ են ուղարկվում: Երբ ես որոշեցի, որ յուրաքանչյուր կոճակ, որն ուղարկվում է ճիշտ տվյալների միջոցով ճիշտ ուղիներով, ես սահմանեցի MIDI ազդանշանը ՝ դեպի Ableton Live 9 երթուղի ՝ որպես MIDI մուտքագրում: Ableton- ում ես կարողացա քարտեզագրել կտրված աուդիո նմուշները յուրաքանչյուր կոճակի վրա և նվագարկել յուրաքանչյուր նմուշ:
Խորհուրդ ենք տալիս:
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Առավել հզոր Arduino-UNO, Massduino-UNO: 9 քայլ
Առավել հզոր Arduino-UNO, Massduino-UNO. Ի՞նչ է Massduino- ն: Massduino- ն նոր ապրանքային գիծ է, որը համատեղում է Arduino պլատֆորմը ծայրամասային-հարուստ, հարմար և արագ զարգացումով, ցածր գնով և հեշտ արտադրական լայնածավալ արտադրական առավելություններով: Arduino- ի գրեթե ամբողջ ծածկագիրը կարող է լինել
MIDI Քայլ ինտերֆեյս (versión En Español) ՝ 12 քայլ
MIDI Step Interface (versión En Español): Ambos modos operados con los pies! Antecede
Arduino- ի վրա հիմնված MIDI Fighter (Touch Sensitive). 7 քայլ (նկարներով)
Arduino- ի վրա հիմնված MIDI կործանիչ (Touch Sensitive). MIDI նշանակում է երաժշտական գործիքների թվային ինտերֆեյս: Այստեղ մենք պատրաստում ենք դիպչող MIDI կործանիչ: Այն ունի 16 բարձիկ: դրանք կարող են ավելացվել կամ նվազել: Այստեղ ես օգտագործել եմ 16 -ը ՝ սահմանափակ arduino կապերի պատճառով: Նաև օգտագործել եմ անալոգային մուտքային կապում
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 սինթետիկ սարք