Satura rādītājs:

Neopixel LED sloksne, kas reaģē uz Myoware muskuļu sensoru: 6 soļi
Neopixel LED sloksne, kas reaģē uz Myoware muskuļu sensoru: 6 soļi

Video: Neopixel LED sloksne, kas reaģē uz Myoware muskuļu sensoru: 6 soļi

Video: Neopixel LED sloksne, kas reaģē uz Myoware muskuļu sensoru: 6 soļi
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Novembris
Anonim
Neopixel LED sloksne, kas reaģē uz Myoware muskuļu sensoru
Neopixel LED sloksne, kas reaģē uz Myoware muskuļu sensoru

Mērķis ir uzstādīt muskuļu sensoru ar Arduino palīdzību un apstrādāt ienākošos datus ar Adafruit IO un iegūt izvadi ar sprūdu tā, lai gaisma vienu minūti pārvērstos no baltas uz sarkanu.

Kas ir muskuļu sensors Muskuļu sensors mēra muskuļu elektrisko aktivitāti un rada analogo izejas signālu, ko mikrokontrolleris var viegli nolasīt. Elektromiogrāfija (EMG) mēra muskuļu reakciju vai elektrisko aktivitāti, reaģējot uz nervu stimulāciju muskuļos. Tests tiek izmantots, lai palīdzētu noteikt neiromuskulārās patoloģijas. Pārbaudes laikā caur ādu muskulī tiek ievietota viena vai vairākas mazas adatas (sauktas arī par elektrodiem).

Šim projektam jums nepieciešams: -MyoWare muskuļu sensors -EMG elektrodi -NodeMCU (esp8266) -Silikona vāka vads -USB mikro kabelis -Neopixel led sloksne

Jums vajadzīgās bibliotēkas: -Adafruit io Arduino (vismaz versija 2.3.0) -Adafruit Neopixel (versija 1.2.5) -Adafruit MQTT bibliotēka (1.0.3) -Arduino HttpClients (0.4.0) Ja jums nav bibliotēkas vēl nav instalētas. Pēc tam dodieties uz Skice> iekļaut bibliotēku> Pārvaldīt bibliotēkas … meklēšanas laukā ierakstiet: [bibliotēkas nosaukums, kuru vēlaties instalēt].

1. darbība. Myoware muskuļu sensora pievienošana (īpaši tiem, kas ar to nekad iepriekš nav strādājuši)

Ja jūs nekad neesat strādājis ar Myoware muskuļu sensoru, vispirms ir labi saprast, kā šis sensors ir savienots un nolasāms Arduino sērijas monitorā. Šī darbība ir standarta procedūra, kas ir aprakstīta daudzās rokasgrāmatās. Adafruit platformā ir skaidri aprakstīts, kā tas darbojas, veicot dažas darbības:

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

Ja tiek veiktas visas šīs darbības, sērijveida monitorā redzēsit, ka, sasprindzinot muskuļus, vērtības mainās. Kad jūs veicat dūri un pievelkat muskuļus, vērtībām vajadzētu pieaugt, un, atslābinot muskuļus, šīm vērtībām vajadzētu atkal samazināties.

Svarīgi! Šis solis ir paredzēts tikai sensora iestatīšanai. Jūsu izmantotais kods nav nepieciešams pārējā rokasgrāmatas daļā. Tikai veids, kā jūs ievietojat sensoru, nākamajās darbībās paliek nemainīgs.

2. darbība: Adafruit IO iestatīšana

Adafruit IO iestatīšana
Adafruit IO iestatīšana
Adafruit IO iestatīšana
Adafruit IO iestatīšana
Adafruit IO iestatīšana
Adafruit IO iestatīšana

Pirmais solis ir pieteikties vai izveidot kontu Adafruit IO, pārlūkojiet Adafruit IO. Adafruit IO ir mākoņa platforma, ar kuru varat izveidot savienojumu internetā. Adafruit IO padara datus noderīgus, izmantojot datu savienojumus.

Kad esat savā kontā:

Izveidojiet Analog FeedNext, jums būs jāizveido plūsma ar nosaukumu Analog. Ja jums nepieciešama palīdzība, lai sāktu plūsmu izveidi, izmantojot Adafruit IO, iepazīstieties ar Adafruit IO Feed Basics rokasgrāmatu (kā 1. un 2. fotoattēlā).

Pievienojot mērinstrumentu bloku un līniju diagrammas bloku Tālāk, izveidojiet jaunu informācijas paneli un nosauciet to tā, kā vēlaties, lai tas tiktu nosaukts (parādīts 3., 4. un 5. fotoattēlā, lai izveidotu jaunu informācijas paneli). Pārliecinieties, ka kā datu avots esat izvēlējies plūsmu Analog.

Kad atrodaties informācijas panelī, pievienojiet jaunu mērinstrumentu bloku, noklikšķiniet uz zilās pluszīmes augšējā labajā stūrī. Nosauciet bloku, kā vēlaties (parādīts 6. un 7. fotoattēlā), un piešķiriet tam maksimālo vērtību 1024 un minimālo vērtību 0 (muskuļu sensora vērtības).

Atkārtojiet to pašu ar līniju diagrammas bloku (8. fotoattēls), kā norādīts iepriekš ar mērinstrumentu bloku.

Ja esat veicis visu iepriekš, jums ir jābūt līdzīgam ekrānam, piemēram, pēdējam fotoattēlam.

3. darbība: Arduino ievade

Arduino ievade
Arduino ievade
Arduino ievade
Arduino ievade
Arduino ievade
Arduino ievade
Arduino ievade
Arduino ievade

Pirmajā solī esat pareizi iestatījis MyoWare muskuļu sensora vadu. Šajā solī mēs ienirsim Arduino kodā, kas pievienots savienojumam ar 2. soli Adafruit IO informācijas paneli. Šī soļa beigās jūs redzēsiet Myoware Muskuļu sensora ievades vērtības abos iestatītajos blokos.

Arduino iestatīšana

Pārliecinieties, vai jums ir instalētas visas bibliotēkas, kas norādītas iepriekš ievadā.

Mēs strādāsim ar skices piemēru. Tāpēc atveriet Fails> Piemērs> Adafruit IO Arduino> adafruitio_08_analog_in (1. fotoattēls). Kāpēc šī skice? jo mēs vispirms iestatām šīs rokasgrāmatas ievades daļu. MyoWare Muskuļu sensors izmanto analogo izeju. Ja vēlaties vairāk ienirt tēmā par analogo.

Arduino tīkla konfigurācija Lai konfigurētu tīkla iestatījumus, skicē noklikšķiniet uz cilnes config.h Definīcijā IO_USERNAME jums būs jāiestata Adafruit IO lietotājvārds, bet definīcijā IO_KEY - Adafruit IO atslēga. Lietotājvārdu un atslēgu varat atrast Arduino IO ekrāna augšējā labajā stūrī (piemērs 2. fotoattēlā)

#define IO_USERNAME "your_username"

#define IO_KEY "jūsu_atslēga"

WiFi Config WiFi pēc noklusējuma ir iespējots config.h, tādēļ, ja izmantojat kādu no atbalstītajiem WiFi dēļiem, jums būs jāmaina tikai WIFI_SSID un WIFI_PASS opcijas cilnē config.h.

#define WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"

Arduino kods Ja maināt iepriekšējos iestatījumus, mēs varam doties tālāk uz faktisko kodu, adafruit_08_analog_in. Šajā piemērā sakāves tapa ir statet uz AO. Šī ir pareizā tapa, jo 2. solī esat novietojis muskuļu sensoru uz tāfeles.

Šajā piemērā tiek izmantots fotoelementa sensors, jo mēs izmantojam muskuļu sensoru, tāpēc mēs mainīsim šo nosaukumu. Nav svarīgi, vai jūs to darīsit, tas padarīs to tikai semantiski sakoptāku. Mainiet PHOTOCELL_PIN uz MUSCLESENSOR_PIN, lai to izdarītu divās skices vietās.

/************************ Piemērs sākas šeit ********************** *********/

// analogā tapa 0 #define PHOTOCELL_PIN A0

Pēdējā kodollīnijā ir aizkave. Šī aizkave ir 1 sekunde, mēs to iestatīsim uz 2 sekundēm, tātad 2000. Mēs to darām, jo Adafruit IO ir licence ar datu ierobežojumu, mazāk nekā divu sekunžu laikā šī skice pārsniedz šo datu ierobežojumu, un tas sniegs DROŠU BRĪDINĀJUMU. Tas nozīmē, ka netiek ievadītas vērtības. Ja to iestatāt uz divām sekundēm, tas tiek novērsts.

// pagaidiet vienu sekundi (1000 milisekundes == 1 sekunde) kavēšanās (2000);

Tas bija tas, kas jums bija jāmaina skicē, lai tā darbotos. Ja vēlaties precīzi zināt, kā darbojas viss kods. To var atrast vietnē Adafruit ar skaidrojumu par katru koda bloku.

Pārbaudiet Lejupielādējiet skici uz tāfeles un atveriet Arduino sērijas monitoru. Jūsu dēlim tagad vajadzētu izveidot savienojumu ar Adafruit IO.

tagad jūs varat savilkt roku, un jums vajadzētu redzēt mainīgās vērtības, kas tiek nosūtītas uz Adafruit IO (kā 3. fotoattēlā). Ja sērijveida monitorā neredzat nekādas vērtības, pārbaudiet, vai sērijveida monitorā ir iestatīts Baud ātrums uz 115200.

Adafruit IO informācijas panelis

4. darbība: Adafruit IO trigera iestatīšana

Adafruit IO trigera iestatīšana
Adafruit IO trigera iestatīšana
Adafruit IO trigera iestatīšana
Adafruit IO trigera iestatīšana

Līdz šim mēs esam spējuši sniegt ieguldījumu no MyoWare muskuļu sensora, lai Adafruit IO darbotos. Tagad mēs sāksim lasīt šo informāciju. Lai pēc 5 reizēm, kas noteiktas virs muskuļu sensora vērtības X, tiktu veikta darbība ar Neopixel vadīto sloksni.

Šī sadaļa bija paredzēta man, kur man bija jāizpēta, kā es varu izlasīt Adafruit IO vēsturi. Es iepriekš strādāju ar plūsmām un informācijas paneļiem, tāpēc domāju, ka izveidotā plūsma un informācijas panelis varētu to izlasīt un izveidot darbību šeit, Arduino. Līdz šim man tas nav izdevies. Pēc daudziem pētījumiem un Adafruit IO es atklāju, ka darbību var aktivizēt, izmantojot Adafruit IO funkciju Trigger. Uzziniet vairāk par aktivizētājiem.

Pirms mēs varam izveidot aktivizētāju, mums ir jāizveido cita plūsma, lai mēs varētu to nosaukt Arduino, lai iegūtu izvadi. Izveidojiet plūsmu ar nosaukumu AlertTriggered.

Blakus galvenes plūsmai un informācijas panelim ir aktivizētājs, dodieties šeit. Izveidojiet jaunu aktivizētāju. Jums tiks jautāts, vai vēlaties izveidot reaktīvo aktivizētāju vai grafika aktivizētāju, izvēlieties reaktīvo aktivizētāju un noklikšķiniet uz izveidot. Tas ir tāpēc, ka vēlaties kaut ko iedarbināt tikai tad, kad kaut kas notiek (1. fotoattēls).

Ir jāiestata vairākas lietas (nākamās darbības ir parādītas arī 2. fotoattēlā).- Izvēlieties analogo padevi pirmajā If, tāpēc ievade tiks ņemta no šejienes.

-Vai jūs izvēlaties daudz vairāk nekā tāpēc, ka vēlaties kaut ko aktivizēt, ja vērtība pārsniedz šādu skaitli.

-Salīdzinājuma vērtība, jūs varat ievadīt vēlamo numuru, lai aktivizētu sprūdu. Šajā gadījumā es izdarīju 600.

-Ar arduino jums būs jāsaņem atgriezeniskā saite, ja tā pārsniedz 600: tāpēc plkst Pēc tam izvēlieties publicēt ziņu uz:.

-Pēc tam jūs varat izvēlēties savu otro plūsmu, kas izveidota AlertTriggered.

Beidzot noklikšķiniet uz izveidot.

5. solis: Neopikselu izvade

Neopikselu izvade
Neopikselu izvade

Pēdējais solis ir radīt rezultātu. Pabeigts rediģētajā Arduino skicē, izsaucot plūsmu AlertTriggered (kuru izveidojāt iepriekšējā solī).

Lai varētu ģenerēt izvadi, vispirms jāpievieno Neopixel vadītā sloksne pie NodeMCU.- + 5v (kreisais) vads jūsu sloksnei uz jūsu NodeMCU-GND (labais) vads uz mezgla G (G = GND))- D5 (vai jebkura cita D porta) gaismas diodes centrālais vads DIN

CodeI ir iekļāvis visu skici ar pārmaiņām šajā solī kā failu (atrodams šī soļa apakšā). Šī ir tā pati skice, ar kuru esat strādājis dažos pēdējos soļos, bet tagad galīgā skice ir iekļauta darbībās, kas jāveic, lai radītu izvadi. adafruitio_musclesensor_neopixel failu. Tas darbojas ar config.h, kuru iepriekš iestatījāt ar saviem datiem. Kodu bloki ir iekļauti komentāros, lai jūs varētu redzēt, kas notiek.

Šajā kodā esmu izveidojis aktivizētāju, kad AlertTriggered (tas, ko mēs deklarējām iepriekšējā solī par vērtību, kas lielāka par 600) tiek aktivizēts vairāk nekā 5 reizes. Tas nozīmē, ka, iedarbinot, Neopixel LED sloksne ir iestatīta no baltas uz sarkanu. Tas notiks uz minūti, un tad sarkanais stāvoklis izzudīs un atkal tiks pievienots baltajam stāvoklim.

Sērijas monitors Lai padarītu to skaidrāku jums kā programmētājam, pēdējais koda komplekts ir paredzēts seriālajam monitoram. Kādas vērtības ir un kad ir aktivizēts brīdinājuma līmenis. Kopā ar sekunžu pievienošanu, kad brīdinājuma stāvoklis ir ieslēgts, līdz pēc 60 sekundēm tas atkal pārslēdzas uz brīdinājuma stāvokli. Tāpēc šī daļa nav obligāta.

// lai parādītu garās sekundes sērijas monitorā, kad alartstate ir Serial.println ("Sekundes pagājis:"); Serial.println (sekundesPasniegts); } cits {secondsPassed = 0; }

Ja esat pabeidzis šīs darbības vai arī vēlaties iegūt skici adafruitio_musclesensor_neopixel ar savu konfigurāciju.h, varat to augšupielādēt savā NodeMCU. Ja tas ir izdarīts, seriālajā monitorā ir jāredz kaut kas līdzīgs zemāk redzamajam:

Notiek savienojuma izveide ar Adafruit IO…

Pievienots Adafruit IO. Sūta -> 23 Sūta -> 78

1. fotoattēls ir seriālais monitors, kad tas ir brīdinājuma režīmā.

Vai tas nedarbojas? Pārbaudiet šādas lietas- Pārbaudiet, vai config.h ir iekļauts pareizā veidā- Vai esat ievadījis pareizo Adafruit IO lietotājvārdu un atslēgu- Vai esat ievadījis pareizo SSID Wifi paroli- Vai esat ievietojis MyoWare vadu Muskuļu sensors pa labi un no Neopixel Led Strip

Vai arī pārbaudiet iepriekšējās darbības.

6. darbība. Rezultāti

Urā, esat pabeidzis! Lai demonstrētu un redzētu galaproduktu darbībā, esmu iekļāvis video.

Ieteicams: