Përmbajtje:

Rrip i udhëhequr nga Neopixel që reagon ndaj sensorit të muskujve Myoware: 6 hapa
Rrip i udhëhequr nga Neopixel që reagon ndaj sensorit të muskujve Myoware: 6 hapa

Video: Rrip i udhëhequr nga Neopixel që reagon ndaj sensorit të muskujve Myoware: 6 hapa

Video: Rrip i udhëhequr nga Neopixel që reagon ndaj sensorit të muskujve Myoware: 6 hapa
Video: Знакомство с платой разработки Heltec LoRa CubeCell HTCC-AB01 2024, Nëntor
Anonim
Rrip i udhëhequr nga Neopixel që reagon ndaj sensorit të muskujve Myoware
Rrip i udhëhequr nga Neopixel që reagon ndaj sensorit të muskujve Myoware

Qëllimi është të instaloni një sensor të muskujve me ndihmën e Arduino dhe të përpunoni të dhënat në hyrje me Adafruit IO dhe të merrni daljen me një shkas në mënyrë që drita juaj të kthehet nga e bardha në të kuqe për një minutë.

Çfarë është një Sensor i Muskujve Sensori i Muskujve mat aktivitetin elektrik të një muskuli dhe prodhon një sinjal dalës analog që mund të lexohet lehtësisht nga një mikrokontrollues. Elektromiografia (EMG) mat përgjigjen e muskujve ose aktivitetin elektrik në përgjigje të stimulimit nervor të muskujve. Testi përdoret për të ndihmuar në zbulimin e anomalive neuromuskulare. Gjatë testit, një ose më shumë gjilpëra të vogla (të quajtura edhe elektroda) futen përmes lëkurës në muskul.

Për këtë projekt ju nevojiten: -Sensori i muskujve MyoWare -elektroda EMG -NodeMCU (esp8266) -Tel mbulues silikoni -mikro kabllo USB -Rrip shiriti neopixel

Bibliotekat që do t'ju nevojiten: -Adafruit io Arduino (të paktën versioni 2.3.0) -Adafruit Neopixel (versioni 1.2.5) -Biblioteka Adafruit MQTT (1.0.3) -Arduino HttpClients (0.4.0) Nëse nuk keni te bibliotekat janë instaluar ende. Pastaj shkoni te Sketch> përfshini Bibliotekën> Menaxhoni Bibliotekat … shkruani: [emri i bibliotekës që dëshironi të instaloni] në fushën e kërkimit.

Hapi 1: Lidhja e sensorit të muskujve Myoware (veçanërisht për ata që kurrë nuk kanë punuar me të më parë)

Nëse nuk keni punuar kurrë me një Sensor të Muskujve Myoware, është mirë që së pari të kuptoni se si ky sensor është i lidhur dhe i lexueshëm në monitorin Serial në Arduino. Ky operacion është një procedurë standarde që është në shumë doracakë të përshkruar tashmë. Platforma Adafruit ka një përshkrim të qartë se si funksionon kjo në disa hapa:

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

Nëse të gjitha këto hapa janë bërë, do të shihni në monitorin tuaj serik që vlerat ndryshojnë kur shtrëngoni muskujt tuaj. Kur bëni një grusht dhe shtrëngoni muskujt tuaj vlerat duhet të rriten dhe kur relaksoheni muskujt tuaj këto vlera duhet të zbresin përsëri.

E rëndësishmeKy hap është vetëm për të vendosur sensorin. Kodi që keni përdorur nuk është i nevojshëm për pjesën tjetër të manualit. Vetëm mënyra se si e vendosni vetë sensorin mbetet e njëjtë për hapat e ardhshëm.

Hapi 2: Konfigurimi i Adafruit IO

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

Hapi i parë është të identifikoheni ose të krijoni një llogari në Adafruit IO, të kërkoni në Adafruit IO. Adafruit IO është një platformë cloud, me të cilën mund të lidheni përmes internetit. Adafruit IO i bën të dhënat të dobishme me lidhjet e të dhënave.

Kur jeni në llogarinë tuaj:

Tjetra, do t'ju duhet të krijoni një burim të quajtur Analog. Nëse keni nevojë për ndihmë për të filluar me krijimin e burimeve në Adafruit IO, shikoni udhëzuesin e Bazave të Adafruit IO Feed (Si në foton 1 dhe 2).

Duke shtuar bllokun matës dhe tabelën e linjës BlockNext, krijoni një pult të ri dhe emërtojeni ashtu siç dëshironi ta emërtoni (treguar në fotot 3, 4 dhe 5 për të bërë një pult të ri). Sigurohuni që keni zgjedhur burimin Analog si burim të dhënash.

Kur jeni në pult, shtoni një bllok të ri Gauge duke klikuar në plus plus në këndin e sipërm të djathtë. Emërtoni bllokun çfarëdo që dëshironi (treguar në fotot 6 dhe 7), dhe jepini një vlerë maksimale 1024 dhe një vlerë min 0 (vlerat e sensorit të muskujve).

Përsëriteni të njëjtën gjë me bllokun e tabelës Line (foto 8) si më sipër me bllokun Gauge.

Nëse keni bërë të gjitha më lart, duhet të keni një ekran të ngjashëm si fotografia e fundit.

Hapi 3: Arduino Input

Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino
Input Arduino

Në hapin 1 ju keni bërë konfigurimin e instalimeve elektrike të sensorit të muskujve MyoWare. Këtë hap ne do të zhytemi në kodin Arduino që vjen me lidhjen me hapin 2 të pultit të Adafruit IO. Në fund të këtij hapi, do të shihni vlerat hyrëse të sensorit Myoware Muscle në dy Blloqet që keni vendosur.

Konfigurimi i Arduino

Sigurohuni që i keni të instaluara bibliotekat që janë shënuar më sipër në hyrje.

Ne do të punojmë me një skicë shembull. Pra, hapni Skedarin> Shembulli> Adafruit IO Arduino> adafruitio_08_analog_in (foto 1). Pse kjo skicë? sepse ne së pari po vendosim pjesën hyrëse të këtij manuali. Sensori i muskujve MyoWare përdor daljen analoge. Nëse doni të futeni më shumë në temën në lidhje me analogun.

Konfigurimi i Rrjetit Arduino Për të konfiguruar cilësimet e rrjetit, klikoni në skedën config.h në skicë. Ju do të keni nevojë të vendosni emrin e përdoruesit tuaj Adafruit IO në përcaktimin IO_USERNAME, dhe çelësin tuaj Adofruit IO në përcaktimin IO_KEY. Ju mund të gjeni emrin e përdoruesit dhe çelësin tuaj në të djathtën e sipërme të ekranit në Arduino IO tuaj (shembull në foton 2)

#përcakto IO_USERNAME "emrin tënd"

#përcakto IO_KEY "çelësin tuaj"

Konfigurimi i WiFi WiFi është aktivizuar si parazgjedhje në konfigurimin.h kështu që nëse përdorni një nga bordet WiFi të mbështetur, do t'ju duhet vetëm të modifikoni opsionet WIFI_SSID dhe WIFI_PASS në skedën config.h.

#përcakto WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"

Nëse keni ndryshime në cilësimet e mësipërme, ne mund të shkojmë më tej në kodin aktual, adafruit_08_analog_in. Pina mbrojtëse në këtë shembull është statet në AO. Kjo është kunja e duhur pasi keni vendosur sensorin tuaj të muskujve në tabelë në hapin 2.

Ky shembull përdor një sensor fotocelor, sepse ne përdorim një sensor të muskujve do ta ndryshojmë këtë emër. Nuk ka rëndësi nëse e bëni këtë, kjo vetëm do ta bëjë atë semantikisht më të pastër. Ndrysho PHOTOCELL_PIN në MUSCLESENSOR_PIN bëje këtë në dy vende të skicës.

/*********************** Shembulli Fillon Këtu ********************* *********/

// pin analoge 0 #përcakto PHOTOCELL_PIN A0

Në kodin e fundit vendoset një vonesë. Kjo vonesë është 1 sekondë, ne do të vendosim është në 2 sekonda, kështu që 2000. Ne e bëjmë këtë sepse ekziston një licencë në Adafruit IO me një kufi të dhënash, nën dy sekonda kjo skicë e tejkalon atë kufi të dhënash dhe do të japë një paralajmërim mbytjeje. Me Çfarë do të thotë se nuk po vijnë vlera. Vendosja e kësaj në dy sekonda e parandalon këtë.

// prisni një sekondë (1000 milisekonda == 1 sekondë) vonesë (2000);

Kjo ishte ajo që ju duhej të ndryshonit në skicë për ta bërë atë të funksionojë. Nëse doni të dini saktësisht se si funksionon i gjithë kodi. Mund ta gjeni në Learn Adafruit, me një shpjegim të çdo blloqe kodi.

Kontrolloni Ngarko skicën në tabelën tuaj dhe hapni Arduino Serial Monitor. Bordi juaj tani duhet të lidhet me Adafruit IO.

tani mund ta shtrëngoni krahun dhe duhet të shihni që vlerat në ndryshim të dërgohen në Adafruit IO (si në foton 3). Nëse nuk shihni ndonjë vlerë në monitorin Serial, kontrolloni nëse e keni vendosur normën Baud në monitorin Serial në 115200.

Paneli i Adofruit IO Kontrolloni pultin tuaj në Adafruit IO dhe duhet të shihni matësin dhe tabelën e linjës që i përgjigjet ndryshimeve të vlerave të MyoWare Muscle Sensor.

Hapi 4: Konfigurimi i Adafruit IO Trigger

Konfigurimi i Adafruit IO Trigger
Konfigurimi i Adafruit IO Trigger
Konfigurimi i Adafruit IO Trigger
Konfigurimi i Adafruit IO Trigger

Deri tani ne kemi qenë në gjendje të japim kontribut nga sensori i muskujve MyoWare në Adafruit IO duke punuar. Tani do të fillojmë të lexojmë këtë informacion. Kështu që pasi të zbulohet 5 herë një vlerë mbi X e sensorit të Muskujve, një veprim kryhet nga shiriti i udhëhequr nga Neopixel.

Ky seksion ishte për mua ku më duhej të hetoja se si mund të lexoj historinë e Adafruit IO. Unë kisha punuar me Feeds dhe Dashboards më parë, kështu që mendova se burimi dhe pulti që u krijuan mund ta lexonin këtë dhe të krijonin një veprim këtu në Arduino. Deri tani nuk kam pasur sukses. Pas shumë kërkimeve dhe Adafruit IO, zbulova se një veprim mund të shkaktohet me funksionin Trigger në Adafruit IO. Mësoni më shumë rreth Triggers.

Një Feed shtesë Para se të bëjmë një Trigger duhet të krijojmë një burim tjetër në mënyrë që ta emërtojmë atë në Arduino për të marrë daljen tuaj. Krijoni një burim me emrin AlertTriggered.

Pranë titujve Feed and Dashboard është Trigger, shkoni këtu. Krijoni një shkas të ri. Ju do të pyeteni nëse doni të krijoni një Shkaktues Reaktiv ose Programoni Shkaktues, zgjidhni Reaktiv Shkaktues dhe klikoni mbi krijimin. Kjo ndodh sepse ju doni të nxisni diçka kur ndodh diçka (foto 1).

Një numër i gjërave duhet të vendosen (Hapat e mëtejshëm tregohen gjithashtu në foton 2).- Zgjidhni burimin analog në If të parë, kështu që hyrja do të merret nga këtu.

-A përzgjidhni më shumë se, kjo sepse doni të aktivizoni diçka kur vlera tejkalon një numër të tillë.

-Vlera e krahasimit mund të futni numrin tuaj të dëshiruar për të aktivizuar shkasin. Unë bëra 600 në këtë rast.

-Me arduino do t'ju duhet të merrni një reagim kur tejkalon 600: kështu që në Pastaj zgjidhni publikoni një mesazh tek:.

-Pas kësaj ju mund të zgjidhni Prurjen tuaj të dytë të krijuar AlertTriggered.

Më në fund klikoni mbi krijimin.

Hapi 5: Dalja neopixel

Dalja neopixel
Dalja neopixel

Hapi i fundit është krijimi i prodhimit. Bërë në skicën Arduino që keni redaktuar, duke thirrur burimin AlertTriggered (që keni krijuar në hapin e mëparshëm).

Për të qenë në gjendje të gjeneroni dalje, së pari duhet të lidhni shiritin led të Neopixel me NodeMCU.- + 5v (tela e majtë) e shiritit tuaj led në 3v të telit tuaj NodeMCU-GND (djathtas) në G të Nyjes (G = GND)- Teli qendror DIN i LED në D5 (ose ndonjë port tjetër D)

CodeI kam përfshirë të gjithë skicën me alternime në këtë hap si një skedar (mund të gjendet në fund të këtij hapi). Kjo është e njëjta skicë me të cilën keni punuar në hapat e fundit, por tani Skica përfundimtare është përfshirë me hapat që duhet të bëni për të gjeneruar daljen. adafruitio_musclesensor_neopixel. Kjo funksionon me konfigurimin.h që keni vendosur më parë me të dhënat tuaja. Blloqet e kodit përfshihen me komente në mënyrë që të shihni se çfarë po ndodh.

Në këtë kod unë kam krijuar një shkas, kur AlertTriggered (ajo që kemi deklaruar në hapin e mëparshëm mbi një vlerë më të madhe se 600) aktivizohet më shumë se 5 herë. Kjo do të thotë kur ndizet, shiriti i udhëhequr nga Neopixel është vendosur nga e bardha në të kuqe. Kjo do të ndodhë për një minutë dhe më pas gjendja e kuqe do të zbehet dhe do të kthehet përsëri në gjendjen e bardhë.

Për ta bërë më të qartë për ju si programues, grupi i fundit i kodit është për Serial Monitor. Cilat janë vlerat dhe kur keni aktivizon nivelin e alarmit. Së bashku me shtimin e sekondave kur gjendja e Alert është e ndezur, derisa pas 60 sekondash ajo kalon përsëri në gjendjen e alarmit. Prandaj kjo pjesë është fakultative.

// për të treguar sekondat që kalojnë në Serial Monitor kur alartstate është në Serial.println ("Sekondat kaluan:"); Serial.println (sekondaKaluar); } tjetër {sekondaPasuar = 0; }

Nëse i keni bërë hapat ose keni marrë skicën skedarin adafruitio_musclesensor_neopixel me konfigurimin tuaj.h mund ta ngarkoni në NodeMCU tuaj. Nëse është bërë, duhet të shihni diçka të ngjashme si më poshtë në Monitorin tuaj Serial:

Lidhja me Adafruit IO…

Adafruit IO i lidhur. Dërgimi -> 23 Dërgimi -> 78

Foto 1 është Monitoruesi Serial kur është në Alertmode.

Nuk funksionon? Kontrolloni gjërat e mëposhtme- Kontrolloni nëse konfigurimi.h përfshihet në mënyrën e duhur- A keni futur Adafruit IO Emrin dhe Çelësin e duhur- A keni futur në SSID të duhur një fjalëkalim Wifi- A keni vendosur telat e MyoWare Sensori i muskujve djathtas dhe nga Neopixel Led Strip

Ose kontrolloni hapat e mëparshëm.

Hapi 6: Rezultatet

Urime mbarove! Për të demonstruar dhe parë produktin përfundimtar në veprim, kam përfshirë një video.

Recommended: