Sisukord:

Neopixeli LED -riba, mis reageerib Myoware'i lihasandurile: 6 sammu
Neopixeli LED -riba, mis reageerib Myoware'i lihasandurile: 6 sammu

Video: Neopixeli LED -riba, mis reageerib Myoware'i lihasandurile: 6 sammu

Video: Neopixeli LED -riba, mis reageerib Myoware'i lihasandurile: 6 sammu
Video: WS2812B DIY LED Earring Project #Shorts 2024, November
Anonim
Neopixeli LED -riba, mis reageerib Myoware lihasesensorile
Neopixeli LED -riba, mis reageerib Myoware lihasesensorile

Eesmärk on paigaldada Arduino abil lihasandur ja töödelda sissetulevad andmed Adafruit IO -ga ning otsida väljund päästikuga nii, et valgus muutub üheks minutiks valgest punaseks.

Mis on lihasandur Lihasandur mõõdab lihase elektrilist aktiivsust ja toodab analoogväljundsignaali, mida mikrokontroller saab hõlpsasti lugeda. Elektromüograafia (EMG) mõõdab lihaste reaktsiooni või elektrilist aktiivsust vastuseks närvi stimuleerimisele. Testi kasutatakse neuromuskulaarsete kõrvalekallete avastamiseks. Katse ajal sisestatakse läbi naha lihasesse üks või mitu väikest nõela (nimetatakse ka elektroodideks).

Selle projekti jaoks vajate: -MyoWare lihasesensorit -EMG elektroode -NodeMCU (esp8266) -Silikoonkattega traati -USB mikrokaablit -Neopixel led riba

Raamatukogud, mida vajate: -Adafruit io Arduino (vähemalt versioon 2.3.0) -Adafruit Neopixel (versioon 1.2.5) -Adafruit MQTT raamatukogu (1.0.3) -Arduino HttpClients (0.4.0) raamatukogud on veel installitud. Seejärel minge visandile> kaasake raamatukogu> Halda raamatukogusid… tippige otsinguväljale [installitava teegi nimi].

Samm: ühendage Myoware lihasesensor (eriti neile, kes pole sellega varem töötanud)

Kui te pole kunagi Myoware lihasesensoriga töötanud, on hea kõigepealt mõista, kuidas see andur on ühendatud ja loetav Arduino seeriamonitoris. See toiming on tavaline protseduur, mida on kirjeldatud paljudes käsiraamatutes. Adafruit platvormil on selle toimimise selge kirjeldus mõne sammuga:

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

Kui kõik need toimingud on tehtud, näete oma seeriamonitoris, et lihaste pingutamisel muutuvad väärtused. Kui teete rusika ja pinguldate lihaseid, peaksid väärtused tõusma ja lihaseid lõdvestades peaksid need väärtused uuesti langema.

See samm on mõeldud ainult anduri seadistamiseks. Teie kasutatud kood pole ülejäänud juhendi jaoks vajalik. Ainult see, kuidas andur ise üles pannakse, jääb eelseisvate sammude jaoks samaks.

2. samm: Adafruit IO seadistamine

Adafruit IO seadistamine
Adafruit IO seadistamine
Adafruit IO seadistamine
Adafruit IO seadistamine
Adafruit IO seadistamine
Adafruit IO seadistamine

Esimene samm on sisse logida või luua konto Adafruit IO -s, sirvige Adafruit IO -le. Adafruit IO on pilveplatvorm, millega saate Interneti kaudu ühenduse luua. Adafruit IO muudab andmed andmeühenduste jaoks kasulikuks.

Kui olete oma kontol:

Looge analoog FeedNext, peate looma voo nimega Analog. Kui vajate abi Adafruit IO kanalite loomise alustamisel, vaadake Adafruit IO Feed Basics juhendit (nagu fotodel 1 ja 2).

Mõõteploki ja joondiagrammi ploki lisamine Järgmisena looge uus armatuurlaud ja pange sellele nimi, nagu soovite seda nimetada (näidatud fotodel 3, 4 ja 5 uue armatuurlaua loomiseks). Veenduge, et oleksite andmeallikaks valinud analoogvoo.

Kui olete armatuurlaual, lisage uus gabariidiplokk, klõpsake paremas ülanurgas asuvat sinist plussmärki. Pange plokile nimi, mida soovite (näidatud fotodel 6 ja 7), ja andke sellele maksimaalne väärtus 1024 ja minimaalne väärtus 0 (lihasanduri väärtused).

Korrake sama joondiagrammi plokiga (foto 8), nagu eespool mõõtühikuga.

Kontrollige, kui olete ülalpool teinud, peab teil olema sarnane ekraan nagu viimasel fotol.

Samm: Arduino sisend

Arduino sisend
Arduino sisend
Arduino sisend
Arduino sisend
Arduino sisend
Arduino sisend
Arduino sisend
Arduino sisend

Esimeses etapis olete MyoWare Muscle anduri juhtmestiku õigesti seadistanud. Selles etapis sukeldume Arduino koodi, mis kaasneb Adafruit IO armatuurlaua 2. sammuga ühendamisega. Selle sammu lõpus näete Myoware Muscle anduri sisendväärtusi kahes teie seadistatud plokis.

Arduino seadistamine

Veenduge, et teil on installitud kõik sissejuhatuses märgitud teegid.

Töötame näitejoonisega. Nii avage Fail> Näide> Adafruit IO Arduino> adafruitio_08_analog_in (foto 1). Miks see visand? sest seadistame esmalt selle juhendi sisendosa. MyoWare Muscle sensor kasutab analoogväljundit. Kui soovite rohkem süveneda analoogi teemasse.

Arduino võrgukonfiguratsioon Võrguseadete konfigureerimiseks klõpsake visandil vahekaarti config.h Määratluses IO_USERNAME peate määrama oma Adafruit IO kasutajanime ja määratluses IO_KEY oma Adafruit IO võtme. Oma kasutajanime ja võtme leiate oma Arduino IO ekraani paremas ülanurgas (näide fotol 2)

#define IO_USERNAME "teie_kasutajanimi"

#define IO_KEY "sinu_võti"

WiFi Config WiFi on vaikimisi konfiguratsioonis h lubatud, nii et kui kasutate mõnda toetatud WiFi -tahvlit, peate vahekaardil config.h muutma ainult suvandeid WIFI_SSID ja WIFI_PASS.

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

Arduino kood Kui ülaltoodud seadeid muudate, võime minna kaugemale tegeliku koodi juurde, adafruit_08_analog_in. Selle näite vigane tihvt on AO -l. See on õige tihvt, kuna olete oma lihasanduri lauale asetanud 2. etapis.

See näide kasutab fotoelemendi andurit, kuna kasutame lihasandurit, muudame selle nime. Pole tähtis, kas te seda teete, see muudab selle ainult semantiliselt korrastatumaks. Muutke PHOTOCELL_PIN väärtuseks MUSCLESENSOR_PIN, tehke seda visandi kahes kohas.

/************************ Näide algab siit ********************** *********/

// analoogpinge 0 #define PHOTOCELL_PIN A0

Viimases koodireas on viivitus. See viivitus on 1 sekund, me seame 2 sekundiks, nii et 2000. Teeme seda, kuna Adafruit IO -l on andmepiiranguga litsents, alla kahe sekundi ületab see visand seda andmepiirangut ja annab THROTTLE HOIATUS. See tähendab, et väärtusi ei sisestata. Selle kahe sekundi määramine takistab seda.

// oota üks sekund (1000 millisekundit == 1 sekund) viivitus (2000);

Seda pidid visandis muutma, et see toimiks. Kui soovite täpselt teada, kuidas kogu kood töötab. Selle leiate aadressilt Learn Adafruit koos iga koodiploki selgitusega.

Laadige visand oma tahvlile ja avage Arduino jadamonitor. Teie plaat peaks nüüd ühenduma Adafruit IO -ga.

nüüd saate oma käe pingutada ja peaksite nägema muutuvaid väärtusi, mis saadetakse Adafruit IO -le (nagu fotol 3). Kui te ei näe seeriamonitoris ühtegi väärtust, kontrollige, kas olete seadistanud jadamonitori baudkiiruseks 115200.

Kontrollige Adafruit IO armatuurlauda ja näete, et gabariit ja joonediagramm reageerivad MyoWare lihasesensori väärtuste muutustele.

Samm 4: Adafruit IO päästiku seadistamine

Adafruit IO päästiku seadistus
Adafruit IO päästiku seadistus
Adafruit IO päästiku seadistus
Adafruit IO päästiku seadistus

Siiani oleme saanud anda sisendit MyoWare Muscle sensorilt Adafruit IO tööle. Nüüd hakkame seda teavet lugema. Nii et pärast 5 -kordset väärtust, mis ületab lihasanduri X, tehakse Neopixeli juhitud riba abil toiming.

See jaotis oli minu jaoks, kus pidin uurima, kuidas saan lugeda Adafruit IO ajalugu. Olin varem voogude ja armatuurlaudadega koostööd teinud, nii et arvasin, et loodud voog ja armatuurlaud saavad seda lugeda ja luua toimingu siin Arduinos. Siiani pole mul õnnestunud. Pärast paljusid uuringuid ja Adafruit IO -d avastasin, et toimingu saab käivitada Adafruit IO käivitusfunktsiooniga. Lisateave päästikute kohta.

Enne käivitaja loomist peame looma teise voo, et saaksime selle väljundi saamiseks nimetada Arduinos. Looge voog nimega AlertTriggered.

Päiste voo ja juhtpaneeli kõrval on käivitaja, looge siin. Looge uus päästik. Teilt küsitakse, kas soovite luua reaktiivset käivitajat või ajastada käivitamist, valige reaktiivne käivitaja ja klõpsake nuppu Loo. Seda seetõttu, et soovite midagi käivitada ainult siis, kui midagi juhtub (foto 1).

Seadistada tuleb mitmeid asju (järgmised sammud on näidatud ka fotol 2).- Valige analoogvoog esimesena If, nii et sisend võetakse siit.

-Kas valite suuremat kui see, sest soovite midagi käivitada, kui väärtus ületab sellise arvu.

-Võrdlusväärtus, mille abil saate päästiku aktiveerimiseks sisestada soovitud numbri. Tegin sel juhul 600.

-Arduino puhul peate saama tagasisidet, kui see ületab 600: nii klõpsake siis nuppu Avalda sõnum aadressile:.

-Pärast seda saate valida oma teise voo loodud AlertTriggered.

Lõpuks klõpsake nuppu Loo.

5. samm: Neopixeli väljund

Neopikseli väljund
Neopikseli väljund

Viimane samm on väljundi loomine. Valmis muudetud Arduino visandis, helistades voole AlertTriggered (mille lõite eelmises etapis).

Väljundi genereerimiseks peate esmalt ühendama Neopixeli LED-riba NodeMCU-ga.- + 5v (vasakpoolne) oma LED-riba traat NodeMCU-GND (paremal) juhtmel sõlme G (G = GND))- D5 (või mis tahes muu D-pordi) LED-i keskjuhe DIN

CodeI on sellesse sammu failina lisanud kogu visandi koos vaheldustega (selle sammu allosas). See on sama visand, millega olete viimastel sammudel töötanud, kuid nüüd on lõplik eskiis kaasas toimingutega, mida peate väljundi loomiseks tegema. adafruitio_musclesensor_neopixel fail. See töötab koos konfiguratsiooniga h, mille olete varem oma andmetega määranud. Kõik koodiplokid on kommentaaridega kaasas, et saaksite näha, mis toimub.

Selles koodis olen loonud päästiku, kui AlertTriggered (mida me eelmises etapis deklareerisime üle väärtuse 600) käivitatakse rohkem kui 5 korda. See tähendab, et kui see käivitatakse, on Neopixeli LED -riba seatud valgest punaseks. See juhtub minutiks ja punane olek hakkab tuhmuma ning lülitatakse uuesti valgeks.

Seeriamonitor Teie jaoks programmeerijana selgemaks tegemiseks on viimane koodikomplekt jadamonitori jaoks. Millised on väärtused ja millal olete vallandanud hoiatustaseme. Koos sekundite lisamisega, kui hoiatusolek on sisse lülitatud, kuni 60 sekundi pärast lülitub see uuesti hoiatusolekusse. Seetõttu on see osa vabatahtlik.

// et näidata jadamonitoris mööduvaid sekundeid, kui alartstate on Serial.println ("Sekundid möödunud:"); Serial.println (secondsPassed); } else {secondsPassed = 0; }

Kontrollige, kui olete kõik toimingud teinud või visandi adafruitio_musclesensor_neopixel faili oma konfiguratsiooniga.h saate selle oma NodeMCU -sse üles laadida. Kui see on tehtud, peate oma jadamonitoris nägema midagi sarnast, nagu allpool:

Ühendamine Adafruit IO -ga…

Adafruit IO ühendatud. Saatmine -> 23 Saatmine -> 78

Foto 1 on jadamonitor, kui see on häirerežiimis.

Kas see ei tööta? Kontrollige järgmisi asju- Kontrollige, kas config.h on õigesti lisatud- Kas olete sisestanud õige Adafruit IO kasutajanime ja võtme- Kas olete sisestanud õige SSID-i Wifi parooli- Kas olete MyoWare juhtmestiku paigutanud Lihasandur paremal ja Neopixeli LED -ribalt

Või kontrollige eelnevaid samme.

6. samm: tulemused

Hurraa, sa oled valmis! Lõpptoote toimimise demonstreerimiseks ja nägemiseks lisasin video.

Soovitan: