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

Հագանելի տեխնիկա. Ձայնը փոխող ձեռնոց `7 քայլ
Հագանելի տեխնիկա. Ձայնը փոխող ձեռնոց `7 քայլ

Video: Հագանելի տեխնիկա. Ձայնը փոխող ձեռնոց `7 քայլ

Video: Հագանելի տեխնիկա. Ձայնը փոխող ձեռնոց `7 քայլ
Video: 2019 թվականին պետբյուջեից Գյումրիին հատկացվել 319 մլն դրամ. որքա՞ն է տրամադրվելու 2020 թվականին 2024, Նոյեմբեր
Anonim
Wearable Tech: Ձայնը փոխող ձեռնոց
Wearable Tech: Ձայնը փոխող ձեռնոց
Wearable Tech: Ձայնը փոխող ձեռնոց
Wearable Tech: Ձայնը փոխող ձեռնոց

Դե, թվում է, թե անհավատալի ուժ ունեցող ձեռնոցներն այս օրերին բարկանում են: Թեև Thanos- ի Infinity ձեռնոցը բավականին հզոր ձեռնոց է, մենք ցանկանում էինք ձեռնոց պատրաստել, որը կարող է անել նույնիսկ ավելի ուշագրավ մի բան. Փոխել իրական ժամանակի կրողի ձայնը:

Այս Instructable- ը ներկայացնում է այն, թե ինչպես ենք մենք նախագծել ձայնը փոխող ձեռնոց: Մեր դիզայնի մեջ օգտագործվեցին ձեռքի տարբեր սենսորներ և միկրոկոնտրոլեր `շարժումները հայտնաբերելու համար, որոնք Arduino կոդի միջոցով ուղարկվեցին Max կարկատուն, որտեղ մեր ձայնային ազդանշանը այնուհետև փոխվեց և խեղաթյուրվեց զվարճալի եղանակներով: Մեր օգտագործած հատուկ տվիչները, շարժումները և ձայնի փոփոխությունները ճկուն են տարբեր նկատառումներով. սա ձայնը փոխող ձեռնոց ստեղծելու միայն մեկ միջոց է:

Այս նախագիծը Պոմոնա քոլեջի ուսանողների և Ֆրեմոնտի ինժեներական ֆեմիներների ակադեմիայի միջև համայնքային համագործակցության մի մասն էր: Դա էլեկտրոնային ճարտարագիտության և էլեկտրոնային երաժշտության տարրերի իսկական զվարճալի խառնուրդ է:

Քայլ 1: Նյութեր

Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր

Մասեր:

  • HexWear միկրոկառավարիչ (ATmega32U4) (https://hexwear.com/)
  • MMA8451 արագացուցիչ (https://www.adafruit.com/product/2019)
  • Կարճ ճկման տվիչներ (x4) (https://www.adafruit.com/product/1070)
  • Թեթև վազող ձեռնոց
  • #2 պտուտակներ և լվացարաններ (x8)
  • Սեղմիչ տերմինալի միակցիչներ; 22-18 չափիչ (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100 հատ)
  • 50kΩ դիմադրություն (x4)
  • Մետաղալար (20 ֆունտ չափիչ)
  • Ինքնասոսնձվող անվտանգության քորոց
  • Eltգացված կամ այլ գործվածք (~ 10 քմ)
  • Կարի թել
  • Zipties
  • Նոթբուք
  • USB խոսափող

Գործիքներ

  • Oldոդման հավաքածու
  • Մետաղալարեր և մետաղալարեր
  • Էլեկտրական ժապավեն
  • Տաք օդային ատրճանակ
  • Պտուտակահան
  • Մկրատ
  • Կարի ասեղ

Softwareրագրային ապահովում:

  • Max by Cycling '74 (https://cycling74.com)
  • Arduino ծրագրակազմ (https://www.arduino.cc/hy/Main/Software)

Քայլ 2: theրագրաշարի տեղադրում

Սկսենք նրանից, թե որն է իսկապես ցանկացած նախագծի ամենահուզիչ մասը `գրադարանների տեղադրում (և ավելին):

Arduino:

Ներբեռնեք և տեղադրեք Arduino ծրագիրը (https://www.arduino.cc/hy/Main/Software):

HexWear:

1) (Միայն Windows- ի համար, Mac- ի օգտվողները կարող են բաց թողնել այս քայլը) Տեղադրեք վարորդը ՝ այցելելով https://www.redgerbera.com/pages/hexwear-driver-installation: Ներբեռնեք և տեղադրեք վարորդը (.exe ֆայլը, որը նշված է Քայլ 2 -ում ՝ կապված RedGerbera- ի էջի վերևում):

2) Տեղադրեք պահանջվող գրադարանը Hexware- ի համար: Բացեք Arduino IDE- ն: «Ֆայլ» բաժնում ընտրեք «Նախապատվություններ»: Լրացուցիչ խորհուրդների մենեջերի URL- ների համար նախատեսված տարածքում տեղադրեք

github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json:

Այնուհետև կտտացրեք «Լավ»:

Գնացեք Գործիքներ -> Տախտակ. -> Տախտակի կառավարիչ: Վերին ձախ անկյունի ընտրացանկից ընտրեք «Նպաստված»:

Որոնեք, այնուհետև կտտացրեք Gerbera խորհուրդներին և կտտացրեք Տեղադրեք: Դուրս եկեք և վերաբացեք Arduino IDE- ն:

Գրադարանը ճիշտ տեղադրված լինելու համար գնացեք Գործիքներ -> Տախտակ և ոլորեք դեպի ցանկի ներքևը: Դուք պետք է տեսնեք «Գերբերայի տախտակներ» վերնագրով մի հատված, որի տակ պետք է գոնե հայտնվի HexWear (եթե ոչ ավելի շատ վահանակներ, ինչպիսիք են mini-HexWear- ը):

Արագացուցիչ

Ներբեռնեք և տեղադրեք արագացուցիչի գրադարանը (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)

Քայլ 3: Արագացուցիչի միացում

Արագացուցիչի ամրացում
Արագացուցիչի ամրացում
Արագացուցիչի ամրացում
Արագացուցիչի ամրացում

Այս նախագծի հետ փոխազդեցության համար մեզ անհրաժեշտ են երկու հիմնական տեսակի տվիչներ `արագացուցիչ և ճկուն տվիչներ: Մենք դրանք կքննենք մեկ առ մեկ ՝ սկսած արագացուցիչից: Նախ, մեզ անհրաժեշտ են ապարատային կապերը ՝ համապատասխանեցնելու համար:

Ձեր Hex- ին վնասելուց խուսափելու համար խորհուրդ ենք տալիս տեղադրել #2 պտուտակ և լվանալ ցանկալի նավահանգիստների միջով, այնուհետև ամրացնել բոլոր միացումներն այդ պտուտակին: Ձեռնոցի հետ խաղալիս որևէ բան չթուլանալու համար կապերը պետք է զոդվեն և (կամ) ծալվեն: Յուրաքանչյուր կապի համար օգտագործելով մի քանի սանտիմետր մետաղալար, կատարեք հետևյալ միացումները Hex- ից մինչև արագացուցիչի վրա (տե՛ս վերևի քորոցները հղման համար).

Մուտքային լարման VINGROUND GNDSCL/D3 SCLSDA/D2 SDA

Երբ ամեն ինչ լարված է, մենք պատրաստ ենք փորձարկման:

Որպես թեստ, գործարկեք արագացուցիչի ընտրանքային կոդը Arduino- ում (Ֆայլ-> Օրինակներ-> Adafruit_MMA8451-> MMA8451demo) ՝ համոզվելով, որ այն կարող է թողարկվել Սերիական մոնիտորի վրա: Այն պետք է դուրս գա արագացման շնորհիվ ծանրության (~ 10 մ/վ) z ուղղությամբ, երբ պահվում է մակարդակում: Արագացուցիչը թեքելով ՝ այս արագացումը կչափվի x կամ y ուղղությամբ; մենք կօգտագործենք դա ՝ թույլ տալով կրողին փոխել ձայնը ՝ պտտելով ձեռքը:

Այժմ մենք պետք է արագացուցիչի տվյալները ներկայացնենք այնպես, որ այն հնարավոր լինի կապել Max- ի հետ: Դա անելու համար մենք պետք է տպենք x և y արժեքները, որոնք, հավանաբար, փոփոխված են ՝ ցանկալի տիրույթին համապատասխանելու համար (տես Մաս 6): Այստեղ կցված մեր ծածկագրում մենք անում ենք հետևյալը.

// Չափել thex- ուղղությունը և y- ուղղությունը: Մենք բաժանվում և բազմապատկվում ենք ՝ MAX- ի ճիշտ տիրույթների մեջ ընկնելու համար (1000 -ում x- ում և 40 -ում y- ում) xdir = event.acceleration.x/0.02; ydir = abs (event.acceleration.y)*2; // Տպել ամեն ինչ Max- ի համար ընթեռնելի ձևաչափով `յուրաքանչյուր համարի միջև տարածություններով Serial.print (xdir); Serial.print ("");

Սա պետք է վեցանկյունը տպի արագացուցիչի x և y ուղղությունների փոփոխված արժեքները յուրաքանչյուր տողում: Այժմ մենք պատրաստ ենք ավելացնել ճկուն տվիչներ:

Քայլ 4: Flex սենսորների ամրացում

Flex սենսորների ամրացում
Flex սենսորների ամրացում
Flex սենսորների ամրացում
Flex սենսորների ամրացում
Flex սենսորների ամրացում
Flex սենսորների ամրացում

Այն, ով կրում է, կարող է ստանալ բազմաթիվ պոտենցիալ ձայնային վերահսկիչներ, եթե մենք կարողանանք հայտնաբերել կռացած մատները: Flexկուն սենսորները հենց դա կանեն: Յուրաքանչյուր ճկվող սենսոր, ըստ էության, պոտենցիոմետր է, որտեղ չկռված ունի K 25KΩ դիմադրություն, մինչդեռ լիովին ճկված ՝ ~ 100KΩ դիմադրություն: Մենք յուրաքանչյուր ճկուն սենսոր դնում ենք պարզ լարման բաժանարարի մեջ `50K դիմադրիչով, ինչպես ցույց է տրված առաջին նկարում:

Կրկին օգտագործելով բավականին կարճ երկարությամբ մետաղալարեր (հիշեք, որ այս ամենը տեղավորվելու է ձեռնոցի հետևի մասում), կպցրեք չորս լարման բաժանարար մոդուլ: Չորս մոդուլները կկիսվեն նույն Vin- ով և գետնին-մենք ոլորեցինք լարերի պոկված ծայրերը միասին, այնպես որ մենք կունենանք զոդման ընդամենը մեկ կապ: Ի վերջո, վերցրեք չորս մոդուլները և կատարեք երկրորդ նկարում ցուցադրվող կապերը (եթե ինչ -որ մեկը գիտի, թե ինչպես դա անել առանց սարսափելի խճճված խառնաշփոթի, խնդրում ենք բացահայտել ձեր գաղտնիքները):

Այժմ, մեզ անհրաժեշտ է Arduino կոդը ՝ յուրաքանչյուր սենսորից լարման մեջ կարդալու համար: Մեր նպատակների համար մենք ճկուն տվիչներին վերաբերվեցինք որպես անջատիչներ; նրանք կամ միացված էին, կամ անջատված: Որպես այդպիսին, մեր կոդը պարզապես սահմանում է լարման շեմ-այս շեմից բարձր, մենք 1-ը թողարկում ենք Սերիական պորտին (այսինքն ՝ սենսորը թեքված է), հակառակ դեպքում մենք թողնում ենք 0:

// Վերցրեք մի շարք

անալոգային նմուշներ և դրանք ավելացրեք յուրաքանչյուր Flex սենսորի համար

while (sample_count <NUM_SAMPLES) {

sum10 += analogRead (A10);

sum9 += analogRead (A9);

sum7 += analogRead (A7);

sum11 += analogRead (A11);

նմուշ_հաշիվ ++;

// Կարճ ուշացում ՝ դրանք շատ արագ չվերցնելու համար

ուշացում (5);

}

// հաշվարկել լարումը, միջին արագությունը արագ նմուշների վրա

// օգտագործել 5.0 -ը 5.0V ADC- ի համար

հղման լարումը

// 5.015V- ը չափագրված է

հղման լարումը

լարման 10 = ((բոց) գումար 10 /

(բոց) NUM_SAMPLES * 5.015) / 1024.0;

լարման 9 = ((բոց) գումար 9/

(բոց) NUM_SAMPLES * 5.015) / 1024.0;

լարում 7 = ((բոց) գումար 7 /

(բոց) NUM_SAMPLES * 5.015) / 1024.0;

լարման 11 = ((բոց) գումար 11 /

(բոց) NUM_SAMPLES * 5.015) / 1024.0;

// Ստուգեք, արդյոք յուրաքանչյուր ճկուն սենսոր

ավելի մեծ է, քան շեմը (շեմը). եթե այո, ապա սահմանեք թիվը

// Pinkie մատը

եթե (լարումը 10> շեմ)

{

//-5 բարձրացնել

ձայնի բարձրությունը մեկ օկտավայով

flex10 = -10;

}

այլապես flex10 = 0;

//Մատանեմատ

եթե (լարման 9>

(շեմ -0,4)) {

// 5 -ից ցածր

ձայնի բարձրությունը մեկ օկտավայով

flex9 = 5;

}

այլապես flex9 = 0;

//Միջնամատ

if (volt7> thresh) {

// 1 սահմանելու համար

արձագանքման ազդեցություն

flex7 = 1;

}

այլապես flex7 = 0;

// ցուցամատ

եթե (լարման 11> շեմ)

{

// 50 սահմանելու համար

ցիկլեր մինչև 50

flex11 = 93;

}

այլապես flex11 = 0;

// Վերականգնել բոլոր հաշվարկները

փոփոխական 0 -ի համար հաջորդ հանգույցի համար

նմուշ_հաշիվ = 0;

գումար 10 = 0;

գումար 9 = 0;

գումար 7 = 0;

գումար 11 = 0;

Այս պահին Սերիայի նավահանգիստը պետք է ցույց տա արագացուցիչի կողմնորոշման արժեքները, ինչպես նաև `արդյոք յուրաքանչյուր ճկվող սենսոր թեքված է: Մենք պատրաստ ենք մեր Arduino ծածկագրին խոսել Max- ի հետ:

Քայլ 5: Առավելագույնի հետ շփում

Ինտերֆեյս Մաքսի հետ
Ինտերֆեյս Մաքսի հետ

Այժմ, երբ Hex ծածկագիրը բազմաթիվ թվեր է թքում թերի սերիայի միջոցով, մեզ անհրաժեշտ է Max ծրագրակազմը ՝ այս ազդանշանները կարդալու համար: Վերևում պատկերված կոդի բլոկը հենց դա է անում: Շատ բարի գալուստ:

Կարևոր նշում. Ծածկագիրը Hex- ում վերբեռնելուց հետո փակեք սերիական պորտի բոլոր պատուհանները, այնուհետև Max ծածկագրում շրջապատված տառը փոխեք, որպեսզի համապատասխանի Hex նավահանգստին: Եթե վստահ չեք, թե որ տառը պետք է սահմանել, Max կոդի «տպել» հատվածը սեղմելով ՝ կցուցադրվեն բոլոր միացված պորտերը:

Hex- ի սերիական նավահանգստից տպագրված տողը կարդացվում է Max կոդի բլոկի միջոցով, այնուհետև բաժանվում է ՝ հիմնվելով տարածության սահմանազատիչների վրա: Max բլոկի վերջում թողած ելքը թույլ է տալիս առանձին վերցնել յուրաքանչյուր թիվ, ուստի մենք առաջին ելքային տարածությունը կմիացնենք այնտեղ, որտեղ մենք ցանկանում ենք գնալ արագացուցիչի x ուղղություն, երկրորդ տարածությունը կլինի y ուղղությունը և այլն: հիմա, պարզապես միացրեք դրանք թվային բլոկներին `ապահովելու համար, որ դրանք աշխատում են: Դուք պետք է կարողանաք շարժել արագացուցիչը և ճկուն տվիչները և տեսնել, թե ինչպես են թվերը փոխվում Max ծրագրաշարում:

Քայլ 6. Կառուցեք Մաքսային ծածկագրի մնացած մասը

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

Յուրաքանչյուր պարամետրի համար, որը փորձում եք փոխել, հավանաբար կցանկանաք խառնվել Arduino կոդից ստացվող արժեքների շրջանակին `ճիշտ զգայունություն ստանալու համար:

Max- ի անսարքությունների վերացման մի քանի այլ խորհուրդներ.

  • Եթե ձայն չեք լսում

    • համոզվեք, որ Max- ը կարգավորել է ձեր խոսափողից աուդիո ստանալը (Ընտրանքներ Աուդիո կարգավիճակի մուտքագրման սարք)
    • համոզվեք, որ Max- ում Master Volume սլայդերը միացված է, և ցանկացած այլ ձայնի կարգավորիչներ, որոնք կարող եք ունենալ ձեր ծածկագրում
  • Եթե ծածկագիրը կարծես ոչինչ չի անում

    • համոզվեք, որ ձեր կարկատանը կողպված է (կողպեքի նշանը ներքևի ձախ անկյունում)
    • Max կարկատակի ընթերցումների միջոցով համոզվեք, որ ձեր Max կարկատածը դեռ տվյալներ է ստանում Arduino սերիական նավահանգստից: Եթե ոչ, փորձեք վերականգնել սերիական նավահանգիստը (ինչպես նկարագրված է Քայլ 5 -ում) և/կամ ստուգել ձեր ֆիզիկական լարերի միացումները:
  • Պարամետրերը փոխելու ժամանակ կտրելու տարօրինակ ձայներ

    սա կապված է ~ tapin- ի և ~ tapout- ի աշխատանքի հետ; մասնավորապես, երբ դուք փոխում եք նրանց արժեքները, դրանք վերակայվում են, ինչը առաջացնում է կտրումը: Հաշվի առնելով ծրագրի վերաբերյալ մեր սահմանափակ գիտելիքները, մենք գրեթե համոզված ենք, որ դա ավելի լավ միջոց է դա անել Max- ում և խնդիրը վերացնել…

Քայլ 7: Բառացիորեն ամեն ինչ միասին դնել

Բառացիորեն ամեն ինչ միասին դնելը
Բառացիորեն ամեն ինչ միասին դնելը
Բառացիորեն ամեն ինչ միասին դնելը
Բառացիորեն ամեն ինչ միասին դնելը
Բառացիորեն ամեն ինչ միասին դնելը
Բառացիորեն ամեն ինչ միասին դնելը
Բառացիորեն ամեն ինչ միասին դնելը
Բառացիորեն ամեն ինչ միասին դնելը

Մնում է միայն միացնել մեր սխեման մեր ձեռնոցին: Վերցրեք ձեր լրացուցիչ հյուսվածքը և կտրեք ժապավեններից փոքր -ինչ ավելի մեծ շերտեր: Ձեռքի մատի վրա կարել լրացուցիչ հյուսվածք, որտեղ թեքվում է ճկուն սենսորը (մենք չենք կարող ճկվող սենսորները ուղղակի սոսնձել ձեռնոցի վրա, քանի որ ձեռքի հյուսվածքը ձգվում է մատների թեքվելիս)): Երբ թևը հիմնականում կարված է, սահեցրեք ճկվող սենսորը դեպի ներս և զգուշորեն կարեք լարերը դեպի ձեռնոցը ՝ ամրացնելով ճկվող սենսորը տեղում: Կրկնեք սա յուրաքանչյուր ճկուն սենսորի համար:

Հաջորդը, օգտագործեք ինքնասոսնձվող անվտանգության քորոցը ՝ Hex- ը ձեռնոցի հետևի մասին ամրացնելու համար (գուցե ցանկանաք մի փոքր տաք սոսինձ դնել քորոցի վրա, որպեսզի համոզվեք, որ այն մաշվածության ընթացքում չի ջնջվի): Կարել արագաչափը ձեռնոցի դաստակին: Ի վերջո, օգտագործեք կայծակաճարմանդների կախարդանքը `գեղեցիկ մաքրելու ցանկացած տհաճ լարերը:

Դուք պատրաստ եք փորձության ենթարկել երգելու ձեր ամենաուժեղ ձեռնոցը: (Կարո՞ղ ենք խորհուրդ տալ Daft Punk- ի «Ավելի դժվար, ավելի արագ ՝ ավելի ուժեղ» ՝ ձեր ձայնը փոխելու ունակությունները լիարժեք ցուցադրելու համար)

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