Sisällysluettelo:

Neopixel -LED -nauha, joka reagoi Myoware -lihasanturiin: 6 vaihetta
Neopixel -LED -nauha, joka reagoi Myoware -lihasanturiin: 6 vaihetta

Video: Neopixel -LED -nauha, joka reagoi Myoware -lihasanturiin: 6 vaihetta

Video: Neopixel -LED -nauha, joka reagoi Myoware -lihasanturiin: 6 vaihetta
Video: Kylo Ren vs Darth Vader - FORCE OF DARKNESS (A Star Wars Fan-Film) 2024, Marraskuu
Anonim
Neopixel -LED -nauha, joka reagoi Myoware -lihasanturiin
Neopixel -LED -nauha, joka reagoi Myoware -lihasanturiin

Tavoitteena on asentaa lihasanturi Arduinon avulla ja käsitellä saapuvat tiedot Adafruit IO: lla ja hakea lähtö liipaisimella niin, että valo muuttuu valkoisesta punaiseksi minuutin ajaksi.

Mikä on lihasanturi Lihasanturi mittaa lihaksen sähköistä aktiivisuutta ja tuottaa analogisen lähtösignaalin, jonka mikrokontrolleri voi helposti lukea. Elektromyografia (EMG) mittaa lihasten vasteen tai sähköisen aktiivisuuden vastauksena hermon lihaksen stimulaatioon. Testiä käytetään neuromuskulaaristen poikkeavuuksien havaitsemiseen. Testin aikana yksi tai useampi pieni neula (kutsutaan myös elektrodeiksi) työnnetään ihon läpi lihakseen.

Tätä projektia varten tarvitset: -MyoWare -lihasanturi -EMG -elektrodit -NodeMCU (esp8266) -Silikonikotelolanka -USB -mikrokaapeli -Neopixel -led -nauha

Kirjastot, joita tarvitset: -Adafruit io Arduino (vähintään versio 2.3.0) -Adafruit Neopixel (versio 1.2.5) -Adafruit MQTT -kirjasto (1.0.3) -Arduino HttpClients (0.4.0) Jos sinulla ei ole kirjastoja vielä asennettu. Siirry sitten Luonnos> sisälly kirjastoon> Hallitse kirjastoja… kirjoita: [asennettavan kirjaston nimi] hakukenttään.

Vaihe 1: Myoware -lihasanturin liittäminen (erityisesti niille, jotka eivät ole koskaan työskennelleet sen kanssa aiemmin)

Jos et ole koskaan työskennellyt Myoware -lihasanturin kanssa, on hyvä ensin ymmärtää, miten tämä anturi on kytketty ja luettavissa Arduinon sarjamonitorissa. Tämä toiminto on vakiomenettely, joka on kuvattu jo monissa käyttöoppaissa. Adafruit -alustalla on selkeä kuvaus siitä, miten tämä toimii muutamassa vaiheessa:

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

Jos kaikki nämä vaiheet on suoritettu, näet sarjamonitorissasi, että arvot muuttuvat, kun kiristät lihaksia. Kun teet nyrkin ja kiristät lihaksesi, arvojen pitäisi nousta ja kun rentoutat lihaksia, näiden arvojen pitäisi laskea uudelleen.

Tärkeää Tämä vaihe on vain anturin asentaminen. Käyttämäsi koodi ei ole välttämätön muissa käyttöohjeissa. Vain tapa, jolla itse anturi asennetaan, pysyy samana tulevissa vaiheissa.

Vaihe 2: Adafruit IO Setup

Adafruit IO Setup
Adafruit IO Setup
Adafruit IO Setup
Adafruit IO Setup
Adafruit IO Setup
Adafruit IO Setup

Ensimmäinen vaihe on kirjautua sisään tai luoda tili Adafruit IO: ssa, siirry Adafruit IO: hon. Adafruit IO on pilvialusta, johon voit muodostaa yhteyden Internetin kautta. Adafruit IO tekee tiedoista hyödyllisiä datayhteyksissä.

Kun olet tililläsi:

Luo Analog FeedNext, sinun on luotava syöte nimeltä Analog. Jos tarvitset apua Adafruit IO -syötteiden luomisen aloittamisessa, tutustu Adafruit IO Feed Basics -oppaaseen (kuten kuvissa 1 ja 2).

Lisää mittarilohko ja viivakaavion lohko Seuraavaksi luo uusi koontinäyttö ja nimeä se haluamallasi tavalla (näkyy kuvissa 3, 4 ja 5 uuden koontinäytön luomiseksi). Varmista, että olet valinnut tietolähteeksi analogisen syötteen.

Kun olet kojelaudassa, lisää uusi mittarilohko napsauttamalla sinistä pluspainiketta oikeassa yläkulmassa. Nimeä lohko mitä haluat (näkyy kuvissa 6 ja 7) ja anna sille maksimiarvo 1024 ja vähimmäisarvo 0 (lihasanturin arvot).

Toista sama viivakaavio -lohkon kanssa (kuva 8) kuten yllä mittarilohkon kanssa.

Tarkista Jos olet tehnyt kaikki yllä, sinulla on oltava samanlainen näyttö kuin viimeisessä valokuvassa.

Vaihe 3: Arduino -tulo

Arduino -tulo
Arduino -tulo
Arduino -tulo
Arduino -tulo
Arduino -tulo
Arduino -tulo
Arduino -tulo
Arduino -tulo

Vaiheessa 1 olet tehnyt MyoWare Muscle -anturin kytkennän oikein. Tässä vaiheessa sukellamme Arduino -koodiin, joka tulee yhdistettäessä vaiheeseen 2 Adafruit IO -hallintapaneeli. Tämän vaiheen lopussa näet Myoware -lihasanturin syöttöarvot kahdessa määrittämässäsi lohkossa.

Arduinon asennus

Varmista, että sinulla on asennettuna kaikki edellä johdannossa mainitut kirjastot.

Aiomme työskennellä esimerkkiluonnoksen kanssa. Avaa sitten Tiedosto> Esimerkki> Adafruit IO Arduino> adafruitio_08_analog_in (kuva 1). Miksi tämä luonnos? koska asennamme ensin tämän käyttöoppaan syöttöosan. MyoWare Muscle -anturi käyttää analogista lähtöä. Jos haluat perehtyä enemmän analogista koskevaan aiheeseen.

Arduino Network Config Voit määrittää verkkoasetukset napsauttamalla luonnoksen config.h -välilehteä. Sinun on asetettava Adafruit IO -käyttäjätunnuksesi IO_USERNAME -määrityksessä ja Adafruit IO -avaimesi IO_KEY -määritelmässä. Löydät käyttäjänimesi ja avaimesi Arduino IO: n näytön oikeasta yläkulmasta (esimerkki kuvassa 2)

#define IO_USERNAME "käyttäjänimesi"

#define IO_KEY "sinun_avaimesi"

WiFi Config WiFi on oletusarvoisesti käytössä config.h: ssa, joten jos käytät jotain tuetuista WiFi -levyistä, sinun tarvitsee vain muuttaa WIFI_SSID- ja WIFI_PASS -asetuksia config.h -välilehdellä.

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

Arduino -koodi Jos sinulla on muutoksia yllä oleviin asetuksiin, voimme siirtyä pidemmälle varsinaiseen koodiin, adafruit_08_analog_in. Tässä esimerkissä oleva tappi on statet AO: ssa. Tämä on oikea tappi, kun olet asettanut lihasanturin levylle vaiheessa 2.

Tässä esimerkissä käytetään valokennoanturia, koska käytämme lihasanturia, muutamme tämän nimen. Ei ole väliä, jos teet tämän, se tekee siitä vain semanttisesti siistimmän. Vaihda PHOTOCELL_PIN arvoksi MUSCLESENSOR_PIN ja tee tämä luonnoksen kahdessa paikassa.

/************************ Esimerkki alkaa tästä ********************** *********/

// analoginen nasta 0 #define PHOTOCELL_PIN A0

Viimeisessä koodilinjassa on viive. Tämä viive on 1 sekunti, asetamme 2 sekunniksi, joten 2000. Teemme tämän, koska Adafruit IO: lla on lisenssi, jolla on tietoraja, alle kaksi sekuntia tämä luonnos ylittää kyseisen tietorajan ja antaa THROTTLE WARNING. Tämä tarkoittaa sitä, että arvoja ei ole syötetty. Tämän asettaminen kahteen sekuntiin estää tämän.

// odota yksi sekunti (1000 millisekuntia == 1 sekunti) viive (2000);

Tätä sinun oli muutettava luonnoksessa, jotta se toimisi. Jos haluat tietää tarkalleen, miten koko koodi toimii. Löydät sen oppimisesta Adafruitista, jossa on selitys jokaisesta koodilohkosta.

TarkistaLataa luonnos taulullesi ja avaa Arduino Serial Monitor. Korttisi pitäisi nyt muodostaa yhteys Adafruit IO: hon.

voit nyt kiristää kättäsi, ja sinun pitäisi nähdä muuttuvat arvot, jotka lähetetään Adafruit IO: lle (kuten kuvassa 3). Jos et näe arvoja sarjamonitorissa, tarkista, oletko asettanut sarjamonitorin lähetysnopeudeksi 115200.

Adafruit IO Dashboard Tarkista Adafruit IO: n kojelauta, niin näet, että mittari ja viivakaavio vastaavat MyoWare -lihasanturin arvojen muutoksiin.

Vaihe 4: Adafruit IO Trigger Setup

Adafruit IO -laukaisimen asennus
Adafruit IO -laukaisimen asennus
Adafruit IO -laukaisimen asennus
Adafruit IO -laukaisimen asennus

Tähän asti olemme pystyneet antamaan panoksen MyoWare -lihasanturista Adafruit IO: n toimintaan. Nyt alamme lukea näitä tietoja. Joten kun lihaskennon X -arvo on yli viisi kertaa havaittu, Neopixel -led -nauha suorittaa toiminnon.

Tämä osio oli minulle, jossa minun piti tutkia, kuinka voin lukea Adafruit IO -historian. Olin työskennellyt syötteiden ja koontinäyttöjen kanssa aiemmin, joten ajattelin, että luotu syöte ja koontinäyttö voisi lukea tämän ja luoda toiminnon täällä Arduinossa. Toistaiseksi en ole onnistunut. Monien tutkimusten ja Adafruit IO: n jälkeen huomasin, että toiminto voidaan laukaista Adafruit IO: n liipaisintoiminnolla. Lisätietoja Triggereistä.

Ennen kuin voimme tehdä liipaisimen, meidän on luotava toinen syöte, jotta voimme nimetä sen Arduinossa saadaksesi tuloksen. Luo syöte nimeltä AlertTriggered.

Luo liipaisin Otsikkosyötteen ja hallintapaneelin vieressä on liipaisin, siirry tähän. Luo uusi liipaisin. Sinulta kysytään, haluatko luoda reaktiivisen laukaisimen vai ajastaa laukaisimen, valita reaktiivisen laukaisimen ja napsauttaa luo. Tämä johtuu siitä, että haluat laukaista jotain vain silloin, kun jotain tapahtuu (kuva 1).

On asetettava useita asioita (Seuraavat vaiheet näkyvät myös kuvassa 2).-Valitse analoginen syöttö ensimmäisestä If-toiminnosta, joten tulo otetaan täältä.

-Valitsetko suuremman kuin tämän, koska haluat laukaista jotain, kun arvo ylittää tällaisen luvun.

-Vertailuarvo, voit syöttää haluamasi numeron aktivoidaksesi liipaisimen. Tässä tapauksessa tein 600.

-Arduinon kanssa sinun on saatava palautetta, kun se ylittää 600: joten valitse sitten Julkaise viesti osoitteeseen:.

-Tämän jälkeen voit valita toisen syötteesi luoman AlertTriggered.

Napsauta lopuksi Luo.

Vaihe 5: Neopikselilähtö

Neopixel -lähtö
Neopixel -lähtö

Viimeinen vaihe on tuottaa lähtö. Valmis muokattavassa Arduino -luonnoksessa soittamalla AlertTriggered -syötteeseen (jonka loit edellisessä vaiheessa).

Lähdön tuottamiseksi sinun on ensin liitettävä Neopixel-led-nauha NodeMCU: han.- + 5v (vasen) johtimesi nauha NodeMCU-GND (oikea) -johdon 3v: n päällä solmun G (G = GND))- D5: n (tai minkä tahansa muun D-portin) LEDin keskijohto DIN

CodeI on sisällyttänyt koko luonnoksen ja vaihtoehdot tähän vaiheeseen tiedostona (löytyy tämän vaiheen alareunasta). Tämä on sama luonnos, jonka kanssa olet työskennellyt muutaman viimeisen vaiheen aikana, mutta nyt viimeinen luonnos on mukana vaiheissa, jotka sinun on tehtävä, jotta voit tuottaa tuloksen. adafruitio_musclesensor_neopixel -tiedosto. Tämä toimii config.h: n kanssa, jonka olet aiemmin määrittänyt tiedoillasi. Koodilohkot sisältyvät kommentteihin, jotta näet mitä tapahtuu.

Mitä lähtötietoja on koodattu Tässä koodissa olen luonut liipaisimen, kun AlertTriggered (mitä ilmoitimme edellisessä vaiheessa yli 600: n arvon) laukaistaan yli 5 kertaa. Tämä tarkoittaa, että kun Neopixel -led -nauha laukeaa, se muuttuu valkoisesta punaiseksi. Tämä tapahtuu minuutin ajan, ja sitten punainen tila häipyy ja palaa jälleen valkoiseen tilaan.

Sarjamonitori Jotta ohjelmoija olisi selkeämpi, viimeinen koodisarja on sarjamonitorille. Mitkä ovat arvot ja milloin hälytystaso aktivoituu. Yhdessä sekuntien lisäämisen kanssa, kun hälytystila on päällä, kunnes se siirtyy uudelleen 60 sekunnin kuluttua hälytystilaan. Tämä osa on siis valinnainen.

// näyttää kuluvat sekunnit sarjamonitorissa, kun alartstate on Serial.println ("Sekunnit kuluneet:"); Serial.println (secondsPassed); } else {secondsPassed = 0; }

Tarkista, jos olet suorittanut vaiheet tai sinulla on luonnos adafruitio_musclesensor_neopixel -tiedosto omalla kokoonpanollasi. Voit ladata sen NodeMCU -laitteeseesi. Jos se on tehty, sinun on nähtävä jotain samanlaista kuin alla Serial Monitorissa:

Yhdistetään Adafruit IO: hon…

Adafruit IO yhdistetty. Lähetetään -> 23 Lähetetään -> 78

Kuva 1 on sarjamittari, kun se on hälytystilassa.

Se ei toimi? Tarkista seuraavat asiat- Tarkista, onko config.h sisällytetty oikein- Oletko antanut oikean Adafruit IO -käyttäjätunnuksen ja -avaimen- Oletko syöttänyt oikean SSID-tunnuksen ja Wifi-salasanan- Oletko asettanut MyoWaren johdot Lihasanturi oikealta ja Neopixel Led Stripiltä

Tai tarkista edelliset vaiheet.

Vaihe 6: Tulokset

Hurraa olet valmis! Esittelemään ja näkemään lopputuotteen toiminnassa olen lisännyt videon.

Suositeltava: