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

MyoWare- ի միջոցով EMG- ով մուտքագրում. 8 քայլ
MyoWare- ի միջոցով EMG- ով մուտքագրում. 8 քայլ

Video: MyoWare- ի միջոցով EMG- ով մուտքագրում. 8 քայլ

Video: MyoWare- ի միջոցով EMG- ով մուտքագրում. 8 քայլ
Video: DIY Electromyography using MyoWare EMG Muscle Sensor & Arduino 2024, Նոյեմբեր
Anonim
MyoWare- ի միջոցով EMG- ով մուտքագրում
MyoWare- ի միջոցով EMG- ով մուտքագրում

Հեղինակներ:

L. Elizabeth Crawford & Dylan T. Vavra

Ներածություն:

Այս ձեռնարկում մենք ձեզ ցույց կտանք, թե ինչպես ստեղծել տնային էլեկտրոմիոգրաֆիայի (ԷՄԳ) պարզ համակարգ `մոտ $ 100 գնով, որը մաշկի մակերեսից կզգա մկանների ակտիվացումը և կօգտագործի այն սեղմիչ ուղարկելու համար: համակարգիչ, շրջանցելով ստեղնաշարը: Մենք դրա համար օգտագործեցինք դասական MaKey MaKey և MyoWare ցուցիչ ՝ մի փոքր կոդավորման հետ միասին: Այս նախագիծը պահանջում է նաև որոշակի զոդում: Eringոդման տեխնիկայի և անվտանգության վերաբերյալ օգտակար խորհուրդներ կարելի է գտնել այստեղ:

Նախ, մենք ձեզ ցույց կտանք, թե ինչպես դա անել ՝ օգտագործելով մեկ MyoWare սենսոր: Այնուհետեւ, մենք ձեզ ցույց կտանք, թե ինչպես ավելացնել երկրորդը համակարգին (մեր նպատակների համար մենք օգտագործել ենք երկուսը):

Մեր հույսն այն է, որ մյուսները կկարողանան ընդօրինակել այս DIY EMG տեխնոլոգիան, հարմարեցնել այն իրենց հատուկ կարիքներին և օգտագործել այն ցանկացած շարք հետաքրքիր ծրագրերի համար: Մենք այն օգտագործեցինք Ռիչմոնդ համալսարանի մեր Փորձարարական հոգեբանության լաբորատորիայում ՝ կրկնօրինակելու հետազոտությունը, որը ցույց է տալիս, որ մարդիկ նմանակում են ուրիշների դեմքի արտահայտությունները:

Քայլ 1: Հավաքեք ձեր նյութերը:

Հավաքեք ձեր նյութերը
Հավաքեք ձեր նյութերը

Նյութեր:

  • Համակարգիչ
  • MaKey MaKey ուղեկցող USB մալուխով (դուք պետք է կարողանաք դա անել նաև Arduino Leonardo- ով, բայց մենք դա չենք փորձել)
  • USB հոսանքի մեկուսիչ (եթե մարտկոցից աշխատող նոութբուքը չի աշխատում), ինչպես օրինակ ՝ Adafruit USB մեկուսիչը - 100 մԱ մեկուսացված ցածր/լրիվ արագությամբ USB (նկարում չկա)
  • MyoWare սենսոր (ներ)
  • Էլեկտրոդներ (x3 մեկ MyoWare տվիչի համար) - մենք օգտագործել ենք Covidien Kendall- ի մեկանգամյա օգտագործման ԷՄԳ/ԷՍԳ/ԷԿԳ էլեկտրոդներ 1 "(24 մմ)
  • Հեռացող վերնագրեր (մենք օգտագործում էինք L- ձևի վերնագրեր)
  • Լարեր մի ծայրով արական միակցիչով, մյուսը ՝ էգով
  • Sոդող
  • Էլեկտրական ժապավեն

Գործիքներ:

  • Oldոդման երկաթ
  • Մետաղալար կտրիչ
  • Մետաղալարերի պառակտիչ

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

Arduino IDE ՝ MaKey MaKey հավելումով

Քայլ 2. Պատրաստեք MyoWare տվիչը:

Պատրաստեք MyoWare տվիչը
Պատրաստեք MyoWare տվիչը

1. Կոտրեք երեք անջատված վերնագրերի հավաքածու `MyoWare- ին զոդելու համար:

2. MyoWare սենսորով, որը երկգլուխ մկան դեպի վեր է տեղադրված, ներքևից տեղադրեք երեք վերնագրերի ավելի կարճ ծայրը այն անցքերի մեջ, որոնք ունեն «+» (գումարած նշան »,«-»(բացասական նշան) և« SIG »: նրանց կողքին: (Տես վերևի նկարը):

3. Վերնագրերը կպցրեք տեղում:

Քայլ 3. Միացրեք MyoWare տվիչը MaKey MaKey- ին:

1. Ընտրեք երեք լար (իդեալականորեն տարբեր գույների), մի ծայրում արու, մյուս կողմից `էգ: Ձեզ անհրաժեշտ լարերի երկարությունը կախված է նրանից, թե որքան հեռու եք ցանկանում MyoWare- ը լինել MaKey MaKey- ից: MyoWare- ը դեմքին և MaKey MaKey- ը սեղանին դնելու համար ձեզ հարկավոր է մոտ 18 դյույմ:

2. Որոշեք, թե որ գործառույթին կծառայի յուրաքանչյուր գույնի մետաղալարը: Մեկը կօգտագործվի էներգիայի համար (MyoWare տվիչի + միակցիչին միացնելը), մեկը `գետնին (MyoWare սենսորի միակցիչին միացնելը), իսկ երրորդը` որպես ազդանշանային լար (միացում SIG միակցիչ MyoWare- ում): Այս հրահանգում ներկայացված նկարներում մենք օգտագործում ենք կանաչը ՝ ուժի համար, դարչնագույնը ՝ գետնի համար, իսկ մոխրագույնը ՝ ազդանշանի:

Քայլ 4. Վերբեռնեք ուրվագիծը MaKey MaKey- ում:

Վերբեռնեք ուրվագիծը MaKey MaKey- ում
Վերբեռնեք ուրվագիծը MaKey MaKey- ում
Վերբեռնեք ուրվագիծը MaKey MaKey- ում
Վերբեռնեք ուրվագիծը MaKey MaKey- ում
Վերբեռնեք ուրվագիծը MaKey MaKey- ում
Վերբեռնեք ուրվագիծը MaKey MaKey- ում

1. Տեղադրեք Arduino IDE- ն ձեր համակարգչում (ձեռնարկը այստեղ):

2. Տեղադրեք MaKey MaKey հավելումը Arduino- ի համար (ձեռնարկը այստեղ) ՝ բացելով ձեր Arduino- ի նախապատվությունները (Ֆայլ> Նախապատվություններ), անցնելով Տախտակի լրացուցիչ մենեջերի URL- երի տեքստային տուփ և տեղադրելով հետևյալում.

raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

3. Arduino IDE- ում կտտացրեք ֆայլը, քաշեք ներքև ՝ նոր ուրվագիծ ստեղծելու համար: Պատճենեք և տեղադրեք այս կոդը տեքստային պատուհանում.

/*բանալիների սեղմման գրանցման շեմեր*/const int thresh1 = 1000;/*MaKey MaKey*/const int sensor1Pin = A3 մուտքերի նշանակում;#ներառել «Keyboard.h» int LED (9); անվավեր կարգավորում () { pinMode (LED, OUTPUT); Serial.begin (9600);}/*Ստորև բերված ծածկագիրը MyoWare- ի օրինակ է կազմում յուրաքանչյուր 50 ms- ում, այն ուղարկում է սերիական նավահանգիստ, և եթե արժեքը շեմից բարձր է, ուղարկում է սեղմում: Դուք կարող եք ավելի հաճախ ընտրանքներ վերցնել ՝ նվազեցնելով ուշացումը: Սա կդարձնի արժեքները սերիական պատուհանում կարդալը:*/void loop () {int sensor1Val = analogRead (sensor1Pin); Serial.println (sensor1Val); if (sensor1Val> = thresh1) {Keyboard.begin ();/ /Ուղարկում է «c» տառի ստեղնաշար Keyboard.write ('c'); // սպասել 50 ms նախքան againdelay- ի (50) նմուշառումը;} այլապես // սպասել 50 ms նախքան againdelay- ի (50);}

4. Միացրեք MaKey MaKey- ը ձեր համակարգչին: Քաշեք ներքև գործիքների ընտրացանկը և համոզվեք, որ ընտրված տախտակն է Arduino Leonardo կամ MaKey MaKey: Քաշեք ներքև գործիքների ընտրացանկը դեպի Պորտ և համոզվեք, որ ընտրված նավահանգստում կա ձեր ընտրած տախտակի անունը: Վերբեռնեք ձեր ուրվագիծը գրատախտակին ՝ կտտացնելով Arduino IDE- ի վերևի աջ կողմի սլաքին:

Քայլ 5: Միացրեք ձեր բոլոր բաղադրիչները միասին:

1. Միացրեք MyoWare սենսորից լարերը MaKey MaKey- ին հետևյալ կերպ.

  • MyoWare- ի «+» - ն անցնում է MaKey MaKey- ի 5V բնիկին:
  • MyoWare- ի «-»-ն գնում է գետնին («երկիր») MaKey MaKey- ի վրա:
  • MyoWare- ի «SIG» - ն անցնում է MaKey MaKey- ի A3 բնիկին:

2. Կպչեք երեք էլեկտրոդ MyoWare- ին:

3. Միացրեք MaKey MaKey- ը: Եթե օգտագործում եք էլեկտրական վարդակից միացված համակարգիչ, միացրեք MaKey MaKey- ը USB հոսանքի մեկուսիչին, այնուհետև միացրեք այն համակարգչի USB պորտին: (Սա անվտանգության նախազգուշական միջոց է, որպեսզի եթե ձեր համակարգչի սնուցման աղբյուրի հետ ինչ -որ բան սխալ լինի, կրողը ուղղակիորեն միացված չէ էլեկտրական ցանցին: Դժվար թե նման խնդիր առաջանա, բայց մենք նախընտրում ենք, որ դուք ապահով լինեք:) Եթե մարտկոցից աշխատող նոութբուք եք օգտագործում (այսինքն ՝ ՄԻԱՎՈՐՎԱ է Պատի մեջ), ապահով եք առանց մեկուսարանի:

4. Ստուգեք ՝ արդյոք ամեն ինչ սնուցված է: MaKey MaKey կարմիր LED- ն և MyoWare կանաչ LED- ը պետք է երկուսն էլ լուսավորված լինեն:

5. Մաքրեք մաշկը, որտեղ ցանկանում եք MyoWare- ը ամրացնել ալկոհոլով `կեղտը և յուղերը հեռացնելու համար:

6. Հեռացրեք էլեկտրոդների սոսինձի պատյանը և ամրացրեք MyoWare- ը մաշկին: Դուք ցանկանում եք, որ MyoWare- ի երկու էլեկտրոդները լինեն այն մկանի վերևում, որից ցանկանում եք ձայնագրել: Լարի վրա ամրացված էլեկտրոդը ծառայում է որպես համեմատություն և պետք է տեղադրվի մկանից այն հատվածում, որը ակտիվ չի լինի թիրախային մկանների սեղմման ժամանակ:

7. Ստուգեք էլեկտրոդների սոսինձը `համոզվելու համար, որ մաշկը լավ կնքված է: Հնարավոր է, որ կպչուն օղակների եզրերը մաշկի մեջ սեղմելու համար անհրաժեշտ լինի լավ կնիք ստանալու համար:

Քայլ 6. Շեմերի սահմանում Arduino IDE- ում

Arduino IDE- ում շեմեր սահմանելը
Arduino IDE- ում շեմեր սահմանելը

1. Երբ ամեն ինչ միացված է և միացված է, բացեք սերիական մոնիտորը Arduino IDE- ում ՝ կտտացնելով վերին աջ անկյունում գտնվող խոշորացույցի գործիքի վրա:

2. Սերիական մոնիտորը այժմ պետք է ցույց տա MyoWare- ի ազդանշանի արժեքները: Երբ դուք ճկում և հանգստացնում եք մկանները, դուք պետք է տեսնեք, որ արժեքները համապատասխանաբար փոխվում են: Դուք նաև պետք է տեսնեք MyoWare- ի կարմիր LED լուսավորությունը, երբ մկանները բավական ուժգին սեղմում եք:

3. Սերիալային մոնիտորին դիտելիս մկանները սեղմեք տարբեր ինտենսիվություններով `անպայման հանգստացեք կծկումների արանքում, որպեսզի վերադառնաք նախնական վիճակին: Որոշեք մի շեմային արժեք, որի վերևից ցանկանում եք, որ սեղմումը ստեղնի սեղմում: Ավելի բարձր արժեքներ կպահանջեն ավելի ուժեղ կծկում ստեղնաշարի գրանցման համար. ավելի ցածր արժեքները կդարձնեն այն ավելի զգայուն փոքր կծկումների նկատմամբ, բայց նաև ավելի հակված կեղծ ահազանգերի:

4. Arduino- ի ուրվագծում փոխեք շեմի արժեքը (const int thresh1) 1000 -ից ձեր ընտրած շեմը:

5. Փակեք սերիական մոնիտորը, վերբեռնեք էսքիզը և սկսեք տպել EMG- ով: Կարող եք գտնել, որ անհրաժեշտ է նորից կարգավորել շեմը `զգայունությունը այնտեղ, որտեղ ցանկանում եք: Կարող եք նաև փորձարկել հետաձգման հետ, որպեսզի այն ավելի կամ պակաս հաճախակի նմուշներ վերցնի:

Քայլ 7: Վայելեք ձեր նոր ՝ տնային պայմաններում պատրաստված ԷՄԳ համակարգի օգտագործումը:

Վայելեք ձեր նոր ՝ տնային պայմաններում պատրաստված ԷՄԳ համակարգի օգտագործումը
Վայելեք ձեր նոր ՝ տնային պայմաններում պատրաստված ԷՄԳ համակարգի օգտագործումը

Էլեկտրոդները կարող եք տեղադրել մարմնի բազմաթիվ վայրերում (օրինակ ՝ դեմքի վրա, ինչպես նկարագրում է մեր լաբորատոր կիբորգը ՝ Կայլ Լին):

Փորձեք էլեկտրոդները տեղադրելու վայրերի հետ և այն բազմաթիվ հնարավորությունների հետ, թե ինչ կարող եք օգտագործել ստեղնաշարերը:

Նաև շարունակեք կարդալ ՝ սովորելու համար, թե ինչպես ավելացնել մեկ այլ MyoWare տվիչ այս համակարգին:

Քայլ 8. Ավելացրեք երկրորդ սենսոր ձեր EMG համակարգին:

Ձեր ԷՄԳ համակարգին ավելացրեք երկրորդ տվիչ
Ձեր ԷՄԳ համակարգին ավելացրեք երկրորդ տվիչ

1. Կրկնեք 2 -րդ քայլը MyoWare երկրորդ սենսորի համար:

2. Մեկ MaKey MaKey- ին բազմաթիվ սենսորներ կցելու համար ձեզ հարկավոր կլինի յուրաքանչյուրին էներգիա հաղորդելու միջոց: Մենք մի փոքր մետաղալարեր հանեցինք, զոդեցինք և կպչեցինք ՝ Y- ձևի միակցիչ ստեղծելու համար (տե՛ս վերը նկարը) ՝ MaKey MaKey- ի սնուցման աղբյուրի միակ ելքը բաժանելով երկու լարերի, որոնք միանում են յուրաքանչյուրի «+» էներգիայի մուտքին: երկու MyoWares- ից:

3. Միացրեք MyoWare տվիչների «SIG» անցքերը MaKey MaKey- ի աջ կողմում գտնվող տարբեր A- անցքերի (ներքևում տրված կոդը ենթադրում է, որ դուք օգտագործում եք A3 և A4):

4. Վերբեռնեք ուրվագիծը երկու տվիչների համար.

/* այս ուրվագիծը կարդում է MyoWare երկու տվիչների ազդանշաններ և ուղարկում ստեղնաշարի «b», երբ մեկը անցնում է շեմից և «c», երբ մյուսը անցնում է շեմից:* //* սահմանում է շեմեր*/const int thresh1 = 1000; const int thresh2 = 1000;/*մուտքագրում MaKey MaKey*/const int sensor1Pin = A3; const int sensor2Pin = A4;#ներառել "Keyboard.h" int LED (9); void setup () {pinMode (LED, OUTPUT); Serial.begin (9600);} void loop () {int sensor1Val = analogRead (sensor1Pin); int sensor2Val = analogRead (sensor2Pin); Serial.print (sensor1Val); Serial.print (","); Serial.println (sensor2Val); if (sensor1Val> = thresh1) {Keyboard.begin (); // Send keypress cKeyboard.write ('c'); ուշացում (50);} if (sensor2Val> = thresh2) {Keyboard.begin (); // Ուղարկել ստեղնաշարի bKeyboard.write ('b'); ուշացում (50);} այլ // // սպասել 50 ms նախքան againdelay (50) նմուշառելը;}

5. Այժմ մկանների երկու ընթերցումները պետք է տեսանելի լինեն սերիական մոնիտորի վրա: Յուրաքանչյուր շեմ առանձին սահմանեք Arduino էսքիզի մեջ, ինչպես 6 -րդ քայլում, այնուհետև վերաբեռնեք ուրվագիծը:

Այժմ ձեր EMG համակարգը կունենա երկու առանձին մուտք:

Եթե որոշ չափով վայրի զգաք, կարող եք հետևել նմանատիպ ընթացակարգերին ՝ համակարգին MyoWare ավելի շատ տվիչներ ավելացնելու համար: Եթե դուք զգում եք ԻՐԱԿԱՆ վայրի, ապա կարող եք համակարգին ավելացնել ևս մեկ MaKey MaKey: Մենք խորհուրդ ենք տալիս փորձարկել այս դիզայնը:

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