Orodha ya maudhui:

Ukanda ulioongozwa wa Neopixel Ukiguswa na Sensor ya Misuli ya Myoware: Hatua 6
Ukanda ulioongozwa wa Neopixel Ukiguswa na Sensor ya Misuli ya Myoware: Hatua 6

Video: Ukanda ulioongozwa wa Neopixel Ukiguswa na Sensor ya Misuli ya Myoware: Hatua 6

Video: Ukanda ulioongozwa wa Neopixel Ukiguswa na Sensor ya Misuli ya Myoware: Hatua 6
Video: MIDI-барабаны Arduino с пьезо-дисковыми триггерами (со схемой и кодом) 2024, Novemba
Anonim
Ukanda wa Kuongoza wa Neopixel Akijibu kwa Sura ya misuli ya Myoware
Ukanda wa Kuongoza wa Neopixel Akijibu kwa Sura ya misuli ya Myoware

Lengo ni kusanikisha sensa ya misuli kwa msaada wa Arduino na kusindika data inayoingia na Adafruit IO na kupata pato na kichocheo ili taa iweze kugeuka kutoka nyeupe hadi nyekundu kwa dakika moja.

Sensor ya misuli ni nini Sensor ya misuli hupima shughuli za umeme za misuli na hutoa ishara ya pato ya analog ambayo inaweza kusomwa kwa urahisi na mdhibiti mdogo. Electromyography (EMG) hupima majibu ya misuli au shughuli za umeme kwa kujibu msisimko wa neva wa misuli. Jaribio hutumiwa kusaidia kugundua hali mbaya ya mishipa ya fahamu. Wakati wa jaribio, sindano moja au zaidi ndogo (pia huitwa elektrodi) huingizwa kupitia ngozi kwenye misuli.

Kwa mradi huu unahitaji: -Seva ya misuli ya MyoWare -Egrodes za EMG -NodeMCU (esp8266) -Wambo ya kifuniko cha Silicone -USB cable ndogo -Utepe wa kuongoza wa Neopixel

Maktaba utahitaji: -Adafruit io Arduino (angalau toleo 2.3.0) -Adafruit Neopixel (toleo 1.2.5) -Adafruit MQTT library (1.0.3) -Arduino HttpClients (0.4.0) Ikiwa huna te maktaba zimesakinishwa bado. Kisha nenda kwa Mchoro> ujumuishe Maktaba> Dhibiti Maktaba… andika: [jina la maktaba unayotaka kusakinisha] katika uwanja wa utaftaji.

Hatua ya 1: Kuunganisha Sura ya misuli ya Myoware (haswa kwa wale ambao hawajawahi kufanya kazi nayo hapo awali)

Ikiwa haujawahi kufanya kazi na Sura ya misuli ya Myoware, ni vizuri kwanza kuelewa jinsi sensor hii imeunganishwa na kusomeka katika mfuatiliaji wa Serial huko Arduino. Operesheni hii ni utaratibu wa kawaida ambao uko katika vitabu vingi tayari vimeelezewa. Jukwaa la Adafruit lina maelezo wazi ya jinsi hii inafanya kazi katika hatua chache:

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

Ikiwa hatua hizi zote zimefanywa, utaona katika mfuatiliaji wako wa serial kwamba maadili hubadilika wakati unakaza misuli yako. Unapofanya ngumi na kaza misuli yako maadili yanapaswa kuongezeka na wakati unapopumzika misuli yako maadili haya yanapaswa kupungua tena.

MuhimuHatua hii ni kuweka tu kihisi. Nambari uliyotumia sio lazima kwa mwongozo wote. Njia tu ya kuweka sensor yenyewe inabaki sawa kwa hatua zijazo.

Hatua ya 2: Usanidi wa Adafruit IO

Usanidi wa Adafruit IO
Usanidi wa Adafruit IO
Usanidi wa Adafruit IO
Usanidi wa Adafruit IO
Usanidi wa Adafruit IO
Usanidi wa Adafruit IO

Hatua ya kwanza ni kuingia au kuunda akaunti katika Adafruit IO, vinjari kwa Adafruit IO. Adafruit IO ni jukwaa la wingu, ambalo unaweza kuunganisha kwenye wavuti. Adafruit IO hufanya data kuwa muhimu na unganisho la data.

Unapokuwa kwenye akaunti yako:

Unda Analog FeedNext, utahitaji kuunda malisho inayoitwa Analog. Ikiwa unahitaji msaada kuanza na kuunda milisho kwa Adafruit IO, angalia mwongozo wa Misingi ya Kulisha ya Adafruit IO (Kama kwenye picha 1 na 2).

Kuongeza Kizuizi cha Kupima na Chati ya Mstari BlockNext, tengeneza dashibodi mpya na uipe jina kama unavyotaka itaje (imeonyeshwa kwenye picha 3, 4 na 5 kutengeneza dashibodi mpya). Hakikisha umechagua mpasho wa Analog kama chanzo cha data.

Unapokuwa kwenye dashibodi ongeza kijiko kipya cha kuzuia Gauge bonyeza kwenye bluu pamoja kwenye kona ya juu kulia. Taja kizuizi chochote unachotaka (kilichoonyeshwa kwenye picha 6 na 7), na mpe thamani ya juu ya 1024 na min min ya 0 (maadili ya sensa ya misuli).

Rudia sawa na kizuizi cha chati ya Line (picha 8) kama hapo juu na kizuizi cha Gauge.

Ikiwa umefanya hapo juu, lazima uwe na skrini sawa na picha ya mwisho.

Hatua ya 3: Ingizo la Arduino

Ingizo la Arduino
Ingizo la Arduino
Ingizo la Arduino
Ingizo la Arduino
Ingizo la Arduino
Ingizo la Arduino
Ingizo la Arduino
Ingizo la Arduino

Katika hatua ya 1 umefanya usanidi wa wiring sensor ya MyoWare Muscle kwa usahihi. Hatua hii tutatumbukiza kwenye nambari ya Arduino ambayo inakuja na kuunganisha kwa hatua ya 2 dashibodi ya Adafruit IO. Mwisho wa hatua hii, utaona maadili ya pembejeo ya sensa ya misuli ya Myoware katika Vitalu viwili ambavyo umeweka.

Usanidi wa Arduino

Hakikisha una maktaba yote yaliyowekwa ambayo yameainishwa hapo juu katika utangulizi.

Tutafanya kazi na mchoro wa mfano. Fungua faili> Mfano> Adafruit IO Arduino> adafruitio_08_analog_in (picha 1). Kwa nini mchoro huu? kwa sababu tunaanzisha kwanza sehemu ya uingizaji ya mwongozo huu. Sensorer ya misuli ya MyoWare hutumia pato la analog. Ikiwa unataka kupiga mbizi zaidi kwenye mada kuhusu analog.

Ili kusanidi mipangilio ya mtandao, bonyeza kichupo cha config.h kwenye mchoro. Utahitaji kuweka jina lako la mtumiaji la Adafruit IO katika ufafanuzi wa IO_USERNAME, na ufunguo wako wa Adafruit IO katika ufafanuzi wa IO_KEY. Unaweza kupata jina lako la mtumiaji na ufunguo juu kulia kwa skrini kwenye Arduino IO yako (mfano kwenye picha 2)

#fafanua IO_USERNAME "jina lako la mtumiaji"

#fafanua IO_KEY "funguo_yako"

WiFi Config WiFi imewezeshwa na default katika config.h kwa hivyo ikiwa unatumia moja ya bodi za WiFi zinazoungwa mkono, utahitaji tu kurekebisha chaguo za WIFI_SSID na WIFI_PASS kwenye kichupo cha config.h.

#fafanua WIFI_SSID "yako_ssid" #fafanua WIFI_PASS "njia yako"

Ikiwa una mabadiliko kwenye mipangilio hapo juu, tunaweza kwenda zaidi kwa nambari halisi, adafruit_08_analog_in. Pini ya kushindwa katika mfano huu ni sanamu kwenye AO. Hii ni pini sahihi kwani umeweka sensor yako ya misuli kwenye ubao katika hatua ya 2.

Mfano huu unatumia sensa ya picha, kwa sababu tunatumia sensa ya misuli tutabadilisha jina hili. Haijalishi ikiwa utafanya hivi, itaifanya tu iwe safi. Badilisha PHOTOCELL_PIN iwe MUSCLESENSOR_PIN fanya hivi katika sehemu mbili za mchoro.

/ ************************ Mfano Unaanzia Hapa ********************** ********* /

// pini ya analog 0 #fafanua PHOTOCELL_PIN A0

Katika msimbo wa mwisho kuna kucheleweshwa. Ucheleweshaji huu ni sekunde 1, tutaweka ni kwa sekunde 2 hivyo 2000. Tunafanya hivyo kwa sababu kuna leseni kwenye Adafruit IO iliyo na kikomo cha data, chini ya sekunde mbili mchoro huu unazidi kikomo cha data na itatoa ONYO KALI. Nini inamaanisha kuwa hakukuwa na maadili yoyote. Kuweka hii kwa sekunde mbili kunazuia hii.

// subiri sekunde moja (milliseconds 1000 == sekunde 1) kuchelewa (2000);

Hivi ndivyo ilibidi ubadilishe kwenye mchoro ili kuifanya ifanye kazi. Ikiwa unataka kujua jinsi nambari yote inavyofanya kazi. Unaweza kuipata kwa kujifunza Adafruit, na maelezo ya kila kitalu.

CheckUpakia mchoro kwenye bodi yako, na ufungue Arduino Serial Monitor. Bodi yako inapaswa sasa kuungana na Adafruit IO.

sasa unaweza kukaza mkono wako, na unapaswa kuona maadili yanayobadilika yakitumwa kwa Adafruit IO (kama kwenye picha 3). Ikiwa hautaona maadili yoyote katika mfuatiliaji wa serial, angalia ikiwa umeweka kiwango cha Baud kwenye mfuatiliaji wa serial hadi 115200.

Angalia dashibodi yako kwenye Adafruit IO, na unapaswa kuona kupima na chati ya mstari kujibu mabadiliko ya maadili ya Sensorer ya MyoWare Muscle.

Hatua ya 4: Usanidi wa Kuchochea Adafruit IO

Usanidi wa Kuchochea Adafruit IO
Usanidi wa Kuchochea Adafruit IO
Usanidi wa Kuchochea Adafruit IO
Usanidi wa Kuchochea Adafruit IO

Hadi sasa tumeweza kutoa maoni kutoka kwa sensorer ya MyoWare Muscle kwa Adafruit IO inayofanya kazi. Sasa tutaanza kusoma habari hii. Ili kwamba baada ya mara 5 thamani iliyo juu ya X ya sensa ya Misuli imegunduliwa, hatua hufanywa na ukanda ulioongozwa wa Neopixel.

Sehemu hii ilikuwa kwangu ambapo ilibidi nichunguze jinsi ninavyoweza kusoma historia ya Adafruit IO. Nilikuwa nimefanya kazi na Feeds na Dashibodi hapo awali, kwa hivyo nilifikiri kwamba malisho na dashibodi ambayo iliundwa inaweza kusoma hii na kuunda hatua hapa Arduino. Kufikia sasa sijafaulu. Baada ya utafiti mwingi na Adafruit IO, niligundua kuwa hatua inaweza kusababishwa na kazi ya Trigger katika Adafruit IO. Jifunze zaidi kuhusu Vichochezi.

Kabla ya tunaweza kutengeneza Trigger lazima tuunde lishe nyingine ili tuweze kuipatia jina katika Arduino kupata pato. Unda malisho kwa jina AlertTriggered.

Ifuatayo kwa vichwa vya Kulisha na Dashibodi ni Kuchochea, nenda hapa. Unda kichocheo kipya. Utaulizwa ikiwa unataka kuunda Kichocheo kinachofanya kazi au Kichocheo cha Ratiba, chagua Kichocheo kinachofanya kazi na ubonyeze kuunda. Hii ni kwa sababu unataka tu kusababisha kitu wakati kitu kinatokea (picha 1).

Vitu kadhaa vinapaswa kuwekwa (Hatua zinazofuata pia zinaonyeshwa kwenye picha 2).- Chagua malisho ya analog mwanzoni Ikiwa, kwa hivyo pembejeo itachukuliwa kutoka hapa.

- Je! Unachagua bora kuliko, hii kwa sababu unataka kuchochea kitu wakati thamani inazidi idadi kama hiyo.

Thamani ya kulinganisha unaweza kuingiza nambari yako unayotaka kuamsha kichocheo. Nilifanya 600 katika kesi hii.

-Una arduino itabidi upokee maoni wakati unazidi 600: kwa hivyo kwenye Kisha chagua kuchapisha ujumbe kwa:.

-Baada ya hapo unaweza kuchagua Malisho yako ya pili yaliyoundwa AlertTriggered.

Mwishowe bonyeza kuunda.

Hatua ya 5: Pato la Neopikseli

Pato la Neopikseli
Pato la Neopikseli

Hatua ya mwisho ni kutoa pato. Imefanywa katika mchoro wa Arduino ambao umehariri, kwa kupiga simu ya AlertTriggered feed (ambayo uliunda katika hatua ya awali).

Ili uweze kutoa pato lazima kwanza uunganishe mkanda ulioongozwa na Neopixel kwa NodeMCU.- + 5v (kushoto) waya wa ukanda wako ulioongozwa kwenye 3v ya waya wako wa NodeMCU- GND (kulia) kwenye G ya Node (G = GND - Kituo cha waya DIN cha LED kwenye D5 (au bandari nyingine yoyote ya D)

CodeI nimejumuisha mchoro mzima na ubadilishaji katika hatua hii kama faili (inaweza kupatikana chini ya hatua hii). Huu ni mchoro sawa ambao umefanya kazi nao katika hatua chache zilizopita lakini sasa Mchoro wa mwisho umejumuishwa na hatua ambazo lazima ufanye ili uweze kutoa pato. faili ya adafruitio_musclesensor_neopixel. Hii inafanya kazi na usanidi.h uliyoweka hapo awali na data yako. Vitalu vya kificho vimejumuishwa na maoni ili uweze kuona kinachotokea.

Katika data hii nimeunda kichocheo, wakati AlertTriggered (kile tulichotangaza katika hatua ya awali juu ya thamani kubwa kuliko 600) imesababishwa zaidi ya mara 5. Hii inamaanisha inaposababishwa, ukanda ulioongozwa wa Neopixel umewekwa kutoka nyeupe hadi nyekundu. Hii itatokea kwa dakika moja na kuliko hali nyekundu itakavyofifia na imefungwa kwa hali nyeupe tena.

Ili kuiweka wazi kwako kama programu, seti ya mwisho ya nambari ni ya Monitor Serial. Je! Ni maadili gani na wakati unasababisha kiwango cha tahadhari. Pamoja na kuongeza sekunde wakati hali ya Tahadhari imewashwa, hadi baada ya sekunde 60 inabadilisha hali ya Alert imezimwa tena. Sehemu hii kwa hivyo ni ya hiari.

// kuonyesha sekunde zinazopita kwenye Serial Monitor wakati alartstate iko kwenye Serial.println ("Seconds passed:"); Serial.println (sekundePassed); } mwingine {sekundePassed = 0; }

Angalia Ikiwa umefanya hatua au umepata mchoro adafruitio_musclesensor_neopixel faili na usanidi wako mwenyewe.h unaweza kuipakia kwa NodeMCU yako. Ikiwa imekamilika lazima uone kitu kama hicho chini chini katika Serial Monitor yako:

Inaunganisha na Adafruit IO…

Adafruit IO imeunganishwa. Kutuma -> 23 Kutuma -> 78

Picha 1 ni Serial Monitor wakati iko katika Alertmode.

Haifanyi kazi? Angalia vitu vifuatavyo- Angalia ikiwa config.h imejumuishwa kwa njia sahihi- Je! Umeweka jina la mtumiaji la Adafruit IO na ufunguo- Je! Umeweka SSID sahihi nywila ya Wifi- Je! Umeweka wiring ya MyoWare Sensor ya misuli kulia na kutoka Ukanda wa Kuongoza wa Neopixel

Au angalia hatua zilizopita.

Hatua ya 6: Matokeo

Hooray umemaliza! Kuonyesha na kuona bidhaa ya mwisho kwa vitendo nimejumuisha video.

Ilipendekeza: