Kazalo:
- 1. korak: Priključitev mišičnega senzorja Myoware (še posebej za tiste, ki z njim še nikoli niste delali)
- Korak: Nastavitev Adafruit IO
- Korak: Arduino vnos
- 4. korak: Nastavitev sprožilca Adafruit IO
- 5. korak: Izhod Neopixel
- 6. korak: Rezultati
Video: LED -trak Neopixel, ki reagira na mišični senzor Myoware: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Cilj je namestiti mišični senzor s pomočjo Arduina in obdelati dohodne podatke z Adafruit IO ter pridobiti izhod s sprožilcem, tako da svetloba za eno minuto iz bele postane rdeča.
Kaj je mišični senzor Mišični senzor meri električno aktivnost mišice in proizvaja analogni izhodni signal, ki ga mikrokontroler zlahka prebere. Elektromiografija (EMG) meri odziv mišic ali električno aktivnost kot odziv na živčno stimulacijo mišic. Test se uporablja za odkrivanje živčno -mišičnih nepravilnosti. Med preskusom se skozi kožo v mišico vstavi ena ali več majhnih igel (imenovanih tudi elektrode).
Za ta projekt potrebujete: -MioWare mišični senzor -EMG elektrode -NodeMCU (esp8266) -Silikonska pokrovna žica -USB mikrokabel -Noopixel LED trak
Knjižnice, ki jih potrebujete: -Adafruit io Arduino (vsaj različica 2.3.0) -Adafruit Neopixel (različica 1.2.5) -Adafruit MQTT knjižnica (1.0.3) -Arduino HttpClients (0.4.0) Če nimate te knjižnice še nameščene. Nato pojdite na Sketch> include Library> Manage Libraries … v iskalno polje vnesite: [ime knjižnice, ki jo želite namestiti].
1. korak: Priključitev mišičnega senzorja Myoware (še posebej za tiste, ki z njim še nikoli niste delali)
Če še nikoli niste delali z mišičnim senzorjem Myoware, je dobro, da najprej razumete, kako je ta senzor povezan in berljiv v serijskem monitorju v Arduinu. Ta operacija je standardni postopek, ki je že opisan v številnih priročnikih. Platforma Adafruit ima jasen opis, kako to deluje v nekaj korakih:
learn.adafruit.com/getting-started-with-my…
Če ste izvedeli vse te korake, boste na serijskem monitorju videli, da se vrednosti spremenijo, ko zategnete mišice. Ko stisnete pest in zategnete mišice, bi se morale vrednosti dvigniti, ko pa mišico sprostite, bi se morale te vrednosti spet znižati.
PomembnoTa korak je le namestitev senzorja. Koda, ki ste jo uporabili, ni potrebna za preostanek priročnika. Samo način namestitve senzorja ostane enak za prihajajoče korake.
Korak: Nastavitev Adafruit IO
Prvi korak je prijava ali ustvarjanje računa v Adafruit IO, poiščite Adafruit IO. Adafruit IO je oblačna platforma, s katero se lahko povežete prek interneta. Adafruit IO naredi podatke uporabne pri podatkovnih povezavah.
Ko ste v svojem računu:
Ustvarite Analog FeedNext, morali boste ustvariti vir z imenom Analog. Če potrebujete pomoč pri začetku ustvarjanja virov na Adafruit IO, si oglejte vodnik Osnove krmiljenja Adafruit IO (Kot na fotografijah 1 in 2).
Če dodate blok merilnika in linijski grafikon BlockNext, ustvarite novo armaturno ploščo in jo poimenujte, kot želite, da jo poimenuje (prikazano na fotografijah 3, 4 in 5, da naredite novo armaturno ploščo). Poskrbite, da ste za vir podatkov izbrali analogni vir.
Ko ste na armaturni plošči, dodajte nov blok merilnika, s klikom na modri plus v zgornjem desnem kotu. Poimenujte blok, kar želite (prikazano na fotografijah 6 in 7), in mu dajte največjo vrednost 1024 in najmanjšo vrednost 0 (vrednosti mišičnega senzorja).
Enako ponovite z blokom Line chart (fotografija 8) kot zgoraj z blokom Gauge.
Če ste to storili zgoraj, morate imeti podoben zaslon kot zadnja fotografija.
Korak: Arduino vnos
V prvem koraku ste pravilno izvedli ožičenje mišičnega senzorja MyoWare. Ta korak se bomo poglobili v kodo Arduino, ki je povezana s povezovanjem na 2. korak z nadzorno ploščo Adafruit IO. Na koncu tega koraka boste v dveh blokih, ki ste jih nastavili, videli vhodne vrednosti senzorja Myoware Muscle.
Namestitev Arduina
Prepričajte se, da imate nameščene vse knjižnice, ki so navedene zgoraj v uvodu.
Delali bomo s primerno skico. Zato odprite Datoteka> Primer> Adafruit IO Arduino> adafruitio_08_analog_in (fotografija 1). Zakaj ta skica? ker najprej nastavljamo vhodni del tega priročnika. Senzor MyoWare Muscle uporablja analogni izhod. Če se želite poglobiti v temo o analognem.
Arduino Network Config Če želite konfigurirati omrežne nastavitve, kliknite zavihek config.h na skici. V definiciji IO_USERNAME morate nastaviti svoje uporabniško ime za Adafruit IO in ključ IO za Adafruit v definiciji IO_KEY. Uporabniško ime in ključ najdete v zgornjem desnem kotu zaslona v svojem Arduino IO (primer na fotografiji 2)
#define IO_USERNAME "your_username"
#define IO_KEY "your_key"
WiFi Config WiFi je privzeto omogočen v config.h, zato, če uporabljate eno od podprtih plošč WiFi, boste morali spremeniti samo možnosti WIFI_SSID in WIFI_PASS na zavihku config.h.
#define WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"
Arduino koda Če imate zgornje nastavitve, lahko nadaljujemo do dejanske kode, adafruit_08_analog_in. Okvara v tem primeru je stanje na AO. To je pravi zatič, saj ste v 2. koraku postavili mišični senzor na ploščo.
Ta primer uporablja senzor fotocelic, ker bomo s senzorjem mišic spremenili to ime. Ni važno, če to storite, le semantično bo urejeno. Če želite spremeniti PHOTOCELL_PIN v MUSCLESENSOR_PIN, naredite to na dveh mestih skice.
/************************ Primer se začne tukaj ********************** *********/
// analogni pin 0 #define PHOTOCELL_PIN A0
V zadnji kodni vrstici je zapisana zamuda. Ta zamuda je 1 sekunda, nastavili bomo na 2 sekundi, torej 2000. To počnemo, ker obstaja licenca za Adafruit IO z omejitvijo podatkov, v manj kot dveh sekundah ta skica presega to omejitev podatkov in bo dala OPOZORILO ZA DROG. To pomeni, da ne prihajajo nobene vrednosti. Če to nastavite na dve sekundi, to preprečite.
// počakajte eno sekundo (1000 milisekund == 1 sekunda) zakasnitev (2000);
To ste morali na skici spremeniti, da je delovala. Če želite natančno vedeti, kako deluje celotna koda. Najdete ga na Learn Adafruit z razlago vseh kodnih blokov.
Preverite Naložite skico na svojo ploščo in odprite Arduino Serial Monitor. Vaša plošča bi se morala povezati z Adafruit IO.
zdaj lahko zategnete roko in videli boste, da se spreminjajoče se vrednosti pošiljajo v Adafruit IO (kot na fotografiji 3). Če na serijskem monitorju ne vidite nobenih vrednosti, preverite, ali ste v serijskem monitorju nastavili hitrost prenosa na 115200.
Nadzorna plošča Adafruit IO Preverite svojo armaturno ploščo na Adafruit IO in videli boste, da se merilnik in črtni grafikon odzivata na spremembe vrednosti MyoWare mišičnega senzorja.
4. korak: Nastavitev sprožilca Adafruit IO
Doslej smo lahko iz mišičnega senzorja MyoWare vnesli podatke o delovanju Adafruit IO. Zdaj bomo začeli brati te podatke. Tako da po 5 -kratni zaznavi vrednosti nad X mišičnega senzorja izvede LED -trak Neopixel dejanje.
Ta razdelek je bil zame, kjer sem moral raziskati, kako lahko preberem zgodovino IO Adafruit. Že prej sem delal z viri in nadzornimi ploščami, zato sem mislil, da bi lahko ustvarjeni vir in nadzorna plošča to prebrali in ustvarili dejanje tukaj v Arduinu. Doslej mi ni uspelo. Po številnih raziskavah in IO Adafruit sem odkril, da se lahko s funkcijo Trigger v IO Adafruit sproži dejanje. Več o sprožilcih.
Dodatni vir Preden lahko naredimo sprožilec, moramo ustvariti drug vir, da ga lahko poimenujemo v Arduinu, da dobimo izhod. Ustvarite vir z imenom AlertTriggered.
Ustvarite sprožilec Poleg naslovov Vir in nadzorna plošča je Sprožilec, pojdite sem. Ustvarite nov sprožilec. Vprašani boste, ali želite ustvariti reaktivni sprožilec ali sprožilec sprožilca, izberite reaktivni sprožilec in kliknite na ustvarjanje. To je zato, ker želite nekaj sprožiti le, ko se nekaj zgodi (fotografija 1).
Nastaviti je treba kar nekaj stvari (naslednji koraki so prikazani tudi na fotografiji 2).-Izberite analogni vir pri prvem If, zato bo vnos od tukaj.
-Ali ste izbrali boljše od tega, ker želite sprožiti nekaj, ko vrednost preseže takšno število.
-Comperison vrednost lahko vnesete želeno številko za aktiviranje sprožilca. V tem primeru sem jih naredil 600.
-Z arduinom boste morali prejeti povratne informacije, ko presežejo 600: zato na Potem izberite objavi sporočilo na:.
-Po tem lahko izberete svoj drugi vir, ustvarjen AlertTriggered.
Na koncu kliknite na Ustvari.
5. korak: Izhod Neopixel
Zadnji korak je ustvarjanje rezultatov. Končano v skici Arduino, ki ste jo uredili, tako da pokličete vir AlertTriggered (ki ste ga ustvarili v prejšnjem koraku).
Če želite ustvariti izhod, morate najprej priklopiti LED-trak Neopixel na NodeMCU.- + 5v (leva) žica vašega LED traku na 3v vašega NodeMCU-GND (desnega) kabla na G vozlišča (G = GND)- Sredinska žica DIN LED na D5 (ali katerem koli drugem D vhodu)
CodeI sem vključil celotno skico s spremembami tega koraka kot datoteko (najdete jo na dnu tega koraka). To je ista skica, s katero ste delali v zadnjih nekaj korakih, zdaj pa je zadnja skica vključena v korake, ki jih morate narediti, da ustvarite izhod. adafruitio_musclesensor_neopixel datoteka. To deluje z datoteko config.h, ki ste jo predhodno nastavili s svojimi podatki. Tudi kodirani bloki so vključeni s komentarji, tako da lahko vidite, kaj se dogaja.
Kateri izhodni podatki so bili kodirani V tej kodi sem ustvaril sprožilec, ko se AlertTriggered (kar smo deklarirali v prejšnjem koraku nad vrednostjo večjo od 600) sproži več kot 5 -krat. To pomeni, da je pri sprožitvi LED -trak Neopixel nastavljen iz bele v rdečo. To se bo zgodilo za minuto, nato pa bo rdeče stanje zbledelo in se spet zvilo v belo stanje.
Serijski monitor Da bi vam kot programerju bilo bolj jasno, je zadnji niz kode namenjen serijskemu monitorju. Kakšne so vrednosti in kdaj sprožite raven opozorila. Skupaj z dodajanjem sekund, ko je stanje opozorila vklopljeno, dokler se po 60 sekundah ponovno ne izklopi v stanje opozorila. Ta del je torej neobvezen.
// za prikaz preteklih sekund v serijskem monitorju, ko je stanje alarma na Serial.println ("Sekunde so minile:"); Serial.println (secondsPassed); } else {secondsPassed = 0; }
Preverite Če ste naredili korake ali ste dobili datoteko skice adafruitio_musclesensor_neopixel z lastno konfiguracijo.h jo lahko naložite v svoj NodeMCU. Če je to storjeno, morate videti nekaj podobnega, kot je prikazano spodaj v vašem serijskem monitorju:
Vzpostavljanje povezave z Adafruit IO…
Adafruit IO povezan. Pošiljanje -> 23 Pošiljanje -> 78
Fotografija 1 je serijski monitor, ko je v načinu opozarjanja.
Ne deluje? Preverite naslednje- Preverite, ali je config.h vključen na pravi način- Ali ste vnesli pravilno uporabniško ime in ključ Adafruit IO- Ali ste v pravi SSID vnesli geslo za Wifi- Ali ste namestili ožičenje MyoWare Mišični senzor desno in z LED traku Neopixel
Ali pa preverite prejšnje korake.
6. korak: Rezultati
Ura, končali ste! Za prikaz in ogled končnega izdelka v akciji sem priložil video.
Priporočena:
DIY senzor dihanja z Arduinom (prevodni pleteni senzor raztezanja): 7 korakov (s slikami)
DIY senzor dihanja z Arduinom (prevodni pleteni senzor za raztezanje): Ta DIY senzor bo v obliki prevodnega pletenega senzorja raztezanja. Ovil se bo okrog prsnega koša/želodca in ko se bodo prsi/želodec razširili in skrčili, se bo senzor in posledično vhodni podatki, ki se vnesejo v Arduino. Torej
Vmesni senzor SPS-30, senzor trdnih delcev z Arduino Duemilanove v načinu I2C: 5 korakov
Vmesni senzor SPS-30, senzor trdnih delcev z Arduinom Duemilanovem v načinu I2C: Ko sem iskal vmesnike senzorjev SPS30, sem spoznal, da je večina virov za Raspberry Pi, ne pa toliko za Arduino. Nekaj časa sem porabil, da je senzor deloval z Arduinom, in odločil sem se, da bom svojo izkušnjo objavil tukaj, da bo lahko
7-stopenjski nizkotonski zvočnik RGB, ki reagira na nizke tone: 5 korakov
7-stopenjski nizkotonski zvočnik RGB, ki reagira na nizke tonove: Osnovna ideja: Vedno sem želel povezati žice do svojega nizkotonca, vendar sem bil okleval pri tem, ker ima veliko ljudi različna mnenja o tem, kako to narediti. Nekateri ga priklopijo neposredno na nizkotonec, drugi pa kupijo krmilnike, ki reagirajo na raven zvoka. A
Tipkanje z EMG z uporabo MyoWare: 8 korakov
Tipkanje z EMG z uporabo MyoWare: Avtorji: L. Elizabeth Crawford & Dylan T. Vavra Uvod: V tej vadnici vam bomo pokazali, kako ustvariti preprost sistem za elektromiografijo na domu (EMG) - za ceno približno 100 USD -, ki bo zaznaval aktivacijo mišic s površine
Bluetooth zvočnik z LED-matriko, ki reagira na glasbo: 12 korakov (s slikami)
Bluetooth zvočnik z LED-matriko, ki reagira na glasbo: Ta projekt je vključen v brezžično tekmovanje in tekmovanje LED-če vam je všeč, bi bil zelo hvaležen za vaš glas. Hvala! Zasnoval in izdelal sem DIY Bluetooth zvočnik z integrirano LED matrico. LED matrika vključuje številne različne