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

Երաժշտական թվային ինտերֆեյս. 6 քայլ (նկարներով)
Երաժշտական թվային ինտերֆեյս. 6 քայլ (նկարներով)

Video: Երաժշտական թվային ինտերֆեյս. 6 քայլ (նկարներով)

Video: Երաժշտական թվային ինտերֆեյս. 6 քայլ (նկարներով)
Video: ԳՈՒՆԱՅԻՆ ԹԵՍՏ, ՈՐԸ ԿԱՍԻ ՔՈ ՀՈԳԵՎՈՐ ՏԱՐԻՔԸ 2024, Հուլիսի
Anonim
Երաժշտական թվային ինտերֆեյս
Երաժշտական թվային ինտերֆեյս

Բարի գալուստ բոլորին, Ես կցանկանայի ձեզ ցույց տալ իմ սեփական թվային երաժշտական ինտերֆեյսը: Ես դա արել եմ իմ տեխնիկական ձայնի աստիճանի ընթացքում, սա իմ հետազոտական աշխատանքներն են: Սկսելու համար ես հարցրեցի, թե ինչպես կարող եմ երաժշտություն գրել առանց DAW- ի ՝ վերամշակված պաշարներով և ինքնուրույն նվագարկելու հնարավորությամբ:

Այս ուսանելի դասում ես ձեզ կսովորեցնեմ, թե ինչպես օգտագործել սերիական հաղորդակցությունը `Arduino- ից Raspberry pi- ին սենսորների (անալոգային և թվային) տեղեկատվություն ուղարկելու/ստանալու համար` ձայնային ազդանշան ապահովող ծրագրային պուրեդատայի ուղղությամբ:

Պահանջվող նյութերն են ՝

x1 Ազնվամորի PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Սենսոր IR Sharp GP2Y0E02B

x1 Breadbord

x1 ափսեի փորձարկման չափիչ (0.2)

x28 Դիմադրություն 10MΩ

x2 Դիմադրություն 1.8kΩ

x1 Դիմադրություն 10kΩ

x20 Տերմինալի փականներ Արական/Իգական

x1 oldոդման կրիչ

թիթեղից x1 կծիկ (1 մետր)

x1 Sոդման երկաթ

x25 Flexibles Straps Արական/Տղամարդու

Քայլ 1: Սենսորներ

Սենսորներ
Սենսորներ
Սենսորներ
Սենսորներ
Սենսորներ
Սենսորներ

Ես օգտագործեցի 4 պիոզոէլեկտրիկ, որը գալիս էր «Guitar Hero» Harmonix XBOX 360 հեռակառավարման վահանակից: Ես կոճակ էի միացնում/անջատում, քանի որ ջեմի ոտնակի ոտնակի կիթառի հերոսի հեռակառավարման մագնիսական անջատիչը դուրս էր:

Ես օգտագործեցի IR սենսոր Sharp GP2Y0E02B: Այս բոլոր սենսորների համար ես քաշքշում էի արդյունավետ աշխատանքի համար…

Այսպիսով, ես էմպիրիկորեն գտա կոճակի ցուցիչի և IR սենսորի դիմադրության արժեքը: Այնուամենայնիվ, ես փորձարկեցի պիոզոէլեկտրիկը `այս մասշտաբի ամբողջական մասշտաբը իմանալու համար, և ֆիքսված դիմադրության արժեքը պահանջվեց և կիրառվեց 4 անալոգային սենսորների համար:

Քայլ 2: Քաշեք Մոնտաժը

Քաշեք Մոնտաժը
Քաշեք Մոնտաժը
Քաշեք Մոնտաժը
Քաշեք Մոնտաժը
Քաշեք Մոնտաժը
Քաշեք Մոնտաժը
Քաշեք Մոնտաժը
Քաշեք Մոնտաժը

Լարման գեներատորի հետ պիեզոէլեկտրիկի փորձարկումից հետո ես ֆիքսեցի դիմադրության արժեքը 7MΩ:

Կոճակի դիմադրության հավաքման ձգումը 10 կՕմ էր:

IR սենսորի համար ես օգտագործել եմ երկու 1, 8kΩ դիմադրություն համապատասխանաբար մատակարարման լարման և SDA (տվյալներ) և SCL (ժամացույց) միջև:

Beգույշ եղեք, քանի որ այդ դիմադրության արժեքները RTX Arduino UNO- ի համար են. ինչ -որ բան պետք է իմանալ Arduino- ի դիմադրության մուտքի մասին `10 ՄΩ:

Այս քայլի վերջին նկարի վրա կարող եք տեսնել քաշվող մոնտաժը. Ես ամրացրել եմ պիեզոէլեկտրիկ ամրագոտիները UNO- ում 0 1 2 3 կապում, կոճակը ՝ 2 թվային կապում, բայց հաղորդել եմ UNO- ի 6 փին և IR սենսորային ժապավենի արժեքը UNO- ի 4 5 կապում, Arduino Uno- ի բոլոր անալոգային մուտքերին:

Քայլ 3: Կոդ Arduino

Գործողության արդյունավետությունն ապահովելու համար ես փորձարկեցի սենսորների տեղեկատվություն ուղարկել/ստանալ Arduino- ին:

Ես ֆայլերը դնում եմ նկարագրության մեջ, բայց դրանք կարող եք գտնել Arduino Genuino ծրագրավորման օրինակների բաժնում, բացառությամբ IR սենսորի, քանի որ այն ամբողջական չէ, ես մի քանի տեղեկատվություն եմ փոխել «սահմանել», ինչպես «հերթափոխի» բաժնում և չափման հաշվարկը փոխել եմ որպես կանոնավոր: հեռավորության տատանումների մեջ: Դուք հավանաբար տեսել եք «Մետաղալար» IR սենսորային կոդի մեջ: Իրոք, ես օգտագործել եմ I2C արձանագրությունը հաղորդակցության համար: Հրավիրում եմ ձեզ տեսնելու I2C արձանագրությունը, շատ հետաքրքիր է, կարող եք օգտագործել այս մեկը իրական ժամանակում ձեր ուզած բոլոր թվային տվիչների փոխանցման համար:

Քայլ 4: Երկուսն էլ Arduino ազնվամորի սերիական հաղորդակցություն

Երկուսն էլ Arduino ազնվամորի սերիական հաղորդակցություն
Երկուսն էլ Arduino ազնվամորի սերիական հաղորդակցություն
Երկուսն էլ Arduino ազնվամորի սերիական հաղորդակցություն
Երկուսն էլ Arduino ազնվամորի սերիական հաղորդակցություն

Այո: D

Ինչպես տեսնում եք առաջին նկարում, Arduino-Raspberry հղումը USB վարդակից է:

Ես գտա սենսորների տեղեկատվությունը անմիջապես PureData Extented- ով ստանալու միջոց, որը տեղադրված է Raspberry PI- ում: Ինչու՞ է PureData- ն ընդլայնվել: Քանի որ Վանիլային տարբերակը չի օգտագործում նույն գրադարանը, որքան Raspbian միջավայրում կիրառվող ծրագիրը:

Այսպիսով, գործարկեք StandardFirmata- ն Arduino Genuino- ում `I/O և արժեքի տատանումները ճիշտ ձևով ամրագրելու համար:

Ազնվամորի PI- ում արժեքի տեղեկատվությունը հետ ստանալու համար գոյություն ունի 2 արձանագրություն ՝ Firmata և Msg:

Ես ընտրում եմ Firmata- ն մեկ պատճառով, ավելի պարզ էր PureData- ում տեղեկատվություն ստանալ կարկատող Pduino- ի, մեկ միջավայրի միջոցով:

Ես հրավիրում եմ ձեզ հայտնաբերել Msg, եթե օգտագործում եք OSC արձանագրությունը:

Քայլ 5: PureData Patch Received

PureData Patch Ստացվել է
PureData Patch Ստացվել է

Իրոք, Genuino- ի վրա շաբաթներ շարունակ կոդավորելուց հետո ինձ հաջողվեց ստանալ իմ սենսորի բոլոր տեղեկությունները մեկ էջում, ինչը թույլ տվեց իրական ժամանակում տատանումներ տեսնել Pduino- ի շնորհիվ, Puredata- ի կարկատանը, լրացուցիչ գրադարանների բաժինը:

Այս քայլից մենք այլևս չենք անդրադառնում Arduino կոդին: Արժեքի տեղեկատվությունը ընթեռնելի է:

Ինչպես նկատեցի 3 -րդ քայլին, ես ստացա տեղեկատվություն թվային կոճակից 6 փին անալոգով, պարզ էր տեսնել կապի արդյունավետ աշխատանքը: Բոլորը մեկ տողում:

Քայլ 6. PureData- ի մշակում

PureData- ի մշակում
PureData- ի մշակում
PureData- ի մշակում
PureData- ի մշակում
PureData- ի մշակում
PureData- ի մշակում
PureData- ի մշակում
PureData- ի մշակում

PureData- ն հատուկ լեզու է, և դուք պետք է անցկացնեք ձեր ազատ ժամանակը `հաջողակ կարկատել կատարելու համար:

Որոշ PureData կարկատաններ հասանելի կլինեն GitHub- ում:

Հուսով եմ, որ այն, ինչ գրել եմ այստեղ, օգնել է ձեզ սկսել իմ սեփական նախագիծը իմ նախագծին մոտ:

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