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

Neopixel Led Strip Reacting to Myoware Muscle Sensor: 6 քայլ
Neopixel Led Strip Reacting to Myoware Muscle Sensor: 6 քայլ

Video: Neopixel Led Strip Reacting to Myoware Muscle Sensor: 6 քայլ

Video: Neopixel Led Strip Reacting to Myoware Muscle Sensor: 6 քայլ
Video: 新しい筋トレの方法 : TouchDesigner, Arduino, MyoWare Muscle Sensor 2024, Հուլիսի
Anonim
Neopixel Led Strip արձագանքելով Myoware մկանային տվիչին
Neopixel Led Strip արձագանքելով Myoware մկանային տվիչին

Նպատակն է տեղադրել Arduino- ի օգնությամբ մկանների տվիչ և մշակել մուտքային տվյալները Adafruit IO- ով և թողարկումը ստանալ ձգանով, որպեսզի լույսը մեկ րոպեից սպիտակից դառնա կարմիր:

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

Այս նախագծի համար ձեզ հարկավոր է.

Գրադարաններ, որոնք ձեզ հարկավոր կլինեն. գրադարանները դեռ տեղադրված են: Հետո գնացեք ուրվագիծ> ներառել գրադարան> կառավարել գրադարանները … որոնման դաշտում մուտքագրեք ՝ [գրադարանի անունը, որը ցանկանում եք տեղադրել]:

Քայլ 1. Myoware Muscle Sensor- ի միացում (հատկապես նրանց համար, ովքեր նախկինում երբեք չէին աշխատել դրա հետ)

Եթե դուք երբեք չեք աշխատել Myoware Muscle Sensor- ի հետ, ապա լավ կլինի նախ հասկանալ, թե ինչպես է այս սենսորը միացված և ընթեռնելի Arduino- ի Սերիական մոնիտորում: Այս գործողությունը ստանդարտ ընթացակարգ է, որն արդեն նկարագրված է բազմաթիվ ձեռնարկներում: Adafruit պլատֆորմը հստակ նկարագրում է, թե ինչպես է դա աշխատում մի քանի քայլով.

learn.adafruit.com/getting-started-with-my…

Եթե այս բոլոր քայլերը կատարվեն, ձեր սերիական մոնիտորում կտեսնեք, որ արժեքները փոխվում են, երբ ձգում եք ձեր մկանները: Երբ բռունցք ես անում և մկանդ ձգում, արժեքները պետք է բարձրանան, և երբ մկանդ թուլացնես, այդ արժեքները նորից պետք է իջնեն:

Այս քայլը միայն սենսորը կարգավորելու համար է: Ձեր օգտագործած ծածկագիրը անհրաժեշտ չէ ձեռնարկի մնացած մասի համար: Սենսորն ինքնին տեղադրելու եղանակը նույնն է մնում առաջիկա քայլերի համար:

Քայլ 2: Adafruit IO- ի կարգավորում

Adafruit IO կարգավորումը
Adafruit IO կարգավորումը
Adafruit IO կարգավորումը
Adafruit IO կարգավորումը
Adafruit IO կարգավորումը
Adafruit IO կարգավորումը

Առաջին քայլը Adafruit IO- ում մուտք գործելն է կամ հաշիվ ստեղծելը, Adafruit IO- ում թերթելը: Adafruit IO- ն ամպային հարթակ է, որին կարող եք միանալ ինտերնետով: Adafruit IO- ն տվյալները օգտակար է դարձնում տվյալների միացումներով:

Երբ դուք գտնվում եք ձեր հաշվի մեջ.

Ստեղծեք անալոգային հոսք Հաջորդը, ձեզ հարկավոր է ստեղծել անալոգ կոչվող հոսք: Եթե Adafruit IO- ով թարմացումներ ստեղծելու համար օգնության կարիք ունեք, ծանոթացեք Adafruit IO Feed հիմունքների ուղեցույցին (ինչպես լուսանկար 1 -ում և 2 -ում):

Ավելացնելով Gauge Block և Line աղյուսակը BlockNext, ստեղծեք նոր վահանակ և անվանեք այն այնպես, ինչպես ցանկանում եք (նկարներ 3 -ում, 4 -ում և 5 -ում `նոր վահանակ պատրաստելու համար): Համոզվեք, որ ընտրել եք Անալոգային հոսքը որպես տվյալների աղբյուր:

Երբ դուք գտնվում եք կառավարման վահանակում, ավելացրեք նոր Gauge բլոկ, կտտացրեք կապույտ գումարածին ՝ վերին աջ անկյունում: Անվանեք բլոկն այն, ինչ կցանկանայիք (ցուցադրված է լուսանկարներ 6 -ում և 7 -ում) և տվեք նրան առավելագույնը 1024 և նվազագույն 0 արժեք (մկանների տվիչի արժեքներ):

Կրկնեք նույնը գծապատկերային բլոկով (լուսանկար 8), ինչպես վերևում `չափիչ բլոկով:

Ստուգում Եթե դուք արել եք վերը նշվածը, ապա պետք է ունենաք նմանատիպ էկրան, ինչպես վերջին լուսանկարը:

Քայլ 3. Arduino մուտքագրում

Arduino մուտքագրում
Arduino մուտքագրում
Arduino մուտքագրում
Arduino մուտքագրում
Arduino մուտքագրում
Arduino մուտքագրում
Arduino մուտքագրում
Arduino մուտքագրում

Քայլ 1 -ում դուք ճիշտ կատարել եք MyoWare Muscle ցուցիչի էլեկտրագծերի տեղադրումը: Այս քայլը մենք կխորանանք Arduino կոդի մեջ, որն ուղեկցվում է Adafruit IO վահանակի 2 -րդ քայլին միանալով: Այս քայլի վերջում դուք կտեսնեք Myoware Muscle ցուցիչի մուտքային արժեքները ձեր ստեղծած երկու բլոկներում:

Arduino- ի կարգավորում

Համոզվեք, որ ունեք տեղադրված գրադարաններ, որոնք վերը նշված են ներածության մեջ:

Մենք պատրաստվում ենք աշխատել ուրվագծի օրինակով: Այսպիսով, բացեք Ֆայլ> Օրինակ> Adafruit IO Arduino> adafruitio_08_analog_in (լուսանկար 1): Ինչու՞ այս ուրվագիծը: քանի որ մենք նախ կարգավորում ենք այս ձեռնարկի մուտքային մասը: MyoWare Muscle ցուցիչն օգտագործում է անալոգային ելքը: Եթե ցանկանում եք ավելի շատ խորանալ անալոգային թեմայի շուրջ:

Arduino Network Config networkանցի կարգավորումները կազմաձևելու համար էսքիզում կտտացրեք config.h ներդիրին: Դուք պետք է ձեր Adafruit IO օգտվողի անունը սահմանեք IO_USERNAME սահմանման մեջ, իսկ ձեր Adafruit IO բանալին ՝ IO_KEY սահմանման մեջ: Ձեր Arduino IO- ի էկրանի վերին աջ մասում կարող եք գտնել ձեր օգտանունը և բանալին (օրինակ ՝ լուսանկար 2 -ում)

#սահմանիր IO_USERNAME «քո_անունը»

#սահմանիր IO_KEY «քո_բանալին»

WiFi Config WiFi- ն լռելյայն միացված է config.h- ում, այնպես որ, եթե օգտագործում եք աջակցվող WiFi տախտակներից որևէ մեկը, ձեզ հարկավոր կլինի միայն փոփոխել WIFI_SSID և WIFI_PASS ընտրանքները config.h ներդիրում:

#սահմանել WIFI_SSID "your_ssid"#սահմանել WIFI_PASS "your_pass"

Եթե վերը նշված պարամետրերում փոփոխություններ ունեք, մենք կարող ենք ավելի հեռու գնալ դեպի իրական կոդը ՝ adafruit_08_analog_in: Այս օրինակի պաշտպանական քորոցը ստատետ է AO- ում: Սա ճիշտ քորոցն է, քանի որ 2 -րդ քայլում ձեր մկանների տվիչը տեղադրել եք տախտակի վրա:

Այս օրինակում օգտագործվում է լուսաբջջային սենսոր, քանի որ մենք օգտագործում ենք մկանների տվիչ, մենք կփոխենք այս անունը: Կարևոր չէ, եթե դա անեք, դա միայն իմաստապես կդարձնի ավելի կոկիկ: Փոխեք PHOTOCELL_PIN- ը MUSCLESENSOR_PIN- ի, դա արեք ուրվագծի երկու տեղում:

/*********************** Օրինակ սկսվում է այստեղ ********************** *********/

// անալոգային քորոց 0 #սահմանել PHOTOCELL_PIN A0- ը

Վերջին ծածկագրում կա հետաձգում: Այս հետաձգումը 1 վայրկյան է, մենք պատրաստվում ենք սահմանել 2000 վայրկյան 2 վայրկյան: Մենք դա անում ենք, քանի որ Adafruit IO- ում առկա է տվյալների սահմանափակում ունեցող լիցենզիա, երկու վայրկյանի ընթացքում այս ուրվագիծը գերազանցում է այդ տվյալների սահմանը և դա տալիս է շնչափողի զգուշացում:. Ինչ է նշանակում, որ այնտեղ արժեքներ չեն գալիս: Սա երկու վայրկյան սահմանելը կանխում է դա:

// սպասեք մեկ վայրկյան (1000 միլիվայրկյան == 1 վայրկյան) հետաձգում (2000);

Սա այն էր, ինչ դուք պետք է փոխեիք ուրվագծում, որպեսզի այն աշխատեր: Եթե ցանկանում եք հստակ իմանալ, թե ինչպես է աշխատում ամբողջ ծածկագիրը: Դուք կարող եք գտնել այն սովորել Adafruit- ում ՝ յուրաքանչյուր ծածկագրի բացատրությամբ:

Ստուգեք Ներբեռնեք ուրվագիծը ձեր տախտակին և բացեք Arduino սերիական մոնիտորը: Այժմ ձեր խորհուրդը պետք է միանա Adafruit IO- ին:

այժմ կարող եք սեղմել ձեր ձեռքը, և դուք պետք է տեսնեք փոփոխվող արժեքները, որոնք ուղարկվում են Adafruit IO (ինչպես լուսանկար 3 -ում): Եթե Սերիական մոնիտորի վրա որևէ արժեք չեք տեսնում, ստուգեք ՝ արդյոք սերիական մոնիտորի Baud փոխարժեքը սահմանել եք 115200:

Adafruit IO Dashboard Ստուգեք ձեր կառավարման վահանակը Adafruit IO- ում, և դուք պետք է տեսնեք, որ չափիչն ու գծապատկերը արձագանքում են MyoWare Muscle Sensor- ի արժեքների փոփոխություններին:

Քայլ 4: Adafruit IO Trigger Setup

Adafruit IO Trigger Setup
Adafruit IO Trigger Setup
Adafruit IO Trigger Setup
Adafruit IO Trigger Setup

Մինչ այժմ մենք կարողացել ենք MyoWare Muscle sensor- ից մուտք գործել Adafruit IO աշխատանքային համակարգ: Այժմ մենք սկսում ենք կարդալ այս տեղեկատվությունը: 5 անգամ Մկանային տվիչի X- ից բարձր արժեք հայտնաբերելուց հետո Neopixel led շերտի միջոցով կատարվում է գործողություն:

Այս բաժինը ինձ համար էր, որտեղ ես պետք է ուսումնասիրեի, թե ինչպես կարող եմ կարդալ Adafruit IO- ի պատմությունը: Ես նախկինում աշխատել եմ Feeds- ի և Dashboard- ի հետ, ուստի մտածեցի, որ ստեղծվող լրահոսը և վահանակը կարող են կարդալ սա և ստեղծել գործողություն այստեղ ՝ Arduino- ում: Մինչ այժմ դա ինձ չի հաջողվում: Բազմաթիվ հետազոտություններից և Adafruit IO- ից հետո ես հայտնաբերեցի, որ Adafruit IO- ի Trigger գործառույթով կարող է գործողություն սկսվել: Իմացեք ավելին Triggers- ի մասին:

Լրացուցիչ հոսք Նախքան մենք կարող ենք գործարկել Trigger- ը, մենք պետք է ստեղծենք այլ լրահոս, որպեսզի կարողանանք այն անվանել Arduino- ում ՝ ձեր ելքը ստանալու համար: Ստեղծեք AlertTriggered անունով հոսք:

Ստեղծեք Trigger Հաջորդ վերնագրերի Feed and Dashboard is Trigger, գնացեք այստեղ: Ստեղծեք նոր ձգան: Ձեզանից կպահանջվի, եթե ցանկանում եք ստեղծել ռեակտիվ ձգան կամ ժամանակացույցի ձգան, ընտրեք ռեակտիվ ձգան և կտտացրեք ստեղծմանը: Դա պայմանավորված է նրանով, որ դուք ցանկանում եք ինչ -որ բան հրահրել միայն այն ժամանակ, երբ ինչ -որ բան տեղի է ունենում (լուսանկար 1):

Մի շարք բաներ պետք է սահմանվեն (Հաջորդ քայլերը ցուցադրվում են նաև լուսանկար 2-ում):-Ընտրեք անալոգային սնունդը առաջին If- ում, այնպես որ մուտքը կվերցվի այստեղից:

-Արդյո՞ք դուք ավելի մեծ եք ընտրում, քան դա, քանի որ ցանկանում եք ինչ -որ բան սկսել, երբ արժեքը գերազանցում է նման թիվը:

-Համեմատության արժեքը կարող եք մուտքագրել ձեր ցանկալի թիվը `ձգանը ակտիվացնելու համար: Այս դեպքում ես արել եմ 600 -ը:

-Արդուինոյի հետ դուք պետք է արձագանք ստանաք, երբ այն գերազանցի 600 -ը.

-Դրանից հետո կարող եք ընտրել ձեր երկրորդ Feed ստեղծված AlertTriggered- ը:

Վերջապես կտտացրեք ստեղծել:

Քայլ 5: Neopixel ելք

Neopixel ելք
Neopixel ելք

Վերջնական քայլը արդյունքի ստեղծումն է: Կատարված է Arduino- ի էսքիզում, որը դուք խմբագրել եք ՝ զանգահարելով AlertTriggered հոսքը (որը դուք ստեղծել եք նախորդ քայլին):

Որպեսզի կարողանաք արտադրել արտադրանք, նախ պետք է Neopixel- ի լուսադիոդային ժապավենը միացնել NodeMCU- ին:- Ձեր հանգույցի + 5v (ձախ) մետաղալարեր ձեր NodeMCU- GND (աջ) լարի 3v- ի վրա (G = GND))- LED- ի կենտրոնական մետաղալար DIN- ը D5- ում (կամ որևէ այլ D նավահանգստում)

CodeI- ն ներառել է այս էտապի այլընտրանքներով էսքիզը որպես ֆայլ (կարելի է գտնել այս քայլի ներքևում): Սա այն նույն ուրվագիծն է, որի հետ աշխատել եք վերջին մի քանի քայլերում, բայց այժմ վերջնական ուրվագիծը ներառված է այն քայլերով, որոնք դուք պետք է անեք, որպեսզի արդյունքը ստեղծվի: adafruitio_musclesensor_neopixel ֆայլը: Սա աշխատում է config.h- ի հետ, որը դուք նախկինում սահմանել եք ձեր տվյալների հետ: Բոլոր ծածկագրերը ներառված են մեկնաբանությունների մեջ, որպեսզի տեսնեք, թե ինչ է կատարվում:

Այս ծածկագրում ես ստեղծեցի մի ձգան, երբ AlertTriggered- ը (այն, ինչ մենք հայտարարեցինք նախորդ քայլում 600 -ից ավելի արժեքի դեպքում) գործարկվում է ավելի քան 5 անգամ: Սա նշանակում է, որ երբ այն գործարկվում է, Neopixel լուսադիոդային ժապավենը սպիտակից սահմանվում է կարմիր: Դա տեղի կունենա մեկ րոպեի ընթացքում, և կարմիր գույնը կվերանա և նորից կպչվի սպիտակ վիճակին:

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

// ցույց տալու համար անցնող վայրկյանները Սերիական մոնիտորում, երբ alartstate- ը Serial.println- ում է («Վայրկյաններն անցան»); Serial.println (վայրկյան անցած); } else {secondsPassed = 0; }

Ստուգեք, թե արդյոք դուք կատարել եք քայլերը կամ ստացել եք ուրվագիծը adafruitio_musclesensor_neopixel ֆայլը ձեր սեփական config.h- ով, կարող եք այն վերբեռնել ձեր NodeMCU- ում: Եթե դա արված է, ապա ձեր սերիական մոնիտորի ներքևում պետք է տեսնեք նման մի բան.

Միացում Adafruit IO- ին…

Adafruit IO- ն միացված է: Ուղարկում -> 23 Ուղարկում -> 78

Լուսանկար 1 -ը Սերիական մոնիտոր է, երբ այն գտնվում է Alertmode- ում:

Չի՞ աշխատում: Ստուգեք հետևյալ բաները. Ստուգեք ՝ արդյոք config.h- ն ճիշտ ձևով է ներառված: Արդյո՞ք ճիշտ եք տեղադրել Adafruit IO օգտվողի անունը և բանալին: Արդյո՞ք ճիշտ SSID- ում տեղադրել եք Wifi գաղտնաբառ: Մկանային ցուցիչ աջ և Neopixel Led Strip- ից

Կամ ստուգեք նախորդ քայլերը:

Քայլ 6: Արդյունքներ

Ուռա you're Վերջնական արտադրանքը գործողության մեջ ցուցադրելու և տեսնելու համար ես ներառել եմ տեսանյութ:

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