INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53
Die doel is om 'n spiersensor met behulp van Arduino te installeer en die inkomende data met Adafruit IO te verwerk en die uitset met 'n sneller op te haal sodat die lig vir een minuut van wit na rooi word.
Wat is 'n spiersensor Die spiersensor meet die elektriese aktiwiteit van 'n spier en produseer 'n analoog uitsetsignaal wat maklik deur 'n mikrobeheerder gelees kan word. Elektromyografie (EMG) meet spierreaksie of elektriese aktiwiteit in reaksie op 'n senuwee se stimulasie van die spier. Die toets word gebruik om neuromuskulêre afwykings op te spoor. Tydens die toets word een of meer klein naalde (ook elektrodes genoem) deur die vel in die spier ingesteek.
Vir hierdie projek benodig u: -MyoWare spiersensor -EMG -elektrodes -NodeMCU (esp8266) -Silicone cover wire -USB micro cable -Neopixel led strip
U benodig biblioteke: -Adafruit io Arduino (ten minste weergawe 2.3.0) -Adafruit Neopixel (weergawe 1.2.5) -Adafruit MQTT-biblioteek (1.0.3) -Arduino HttpClients (0.4.0) As u nie biblioteke nog geïnstalleer. Gaan dan na Skets> sluit biblioteek in> Bestuur biblioteke … tik: [die biblioteeknaam wat u wil installeer] in die soekveld.
Stap 1: Koppel Myoware -spiersensor aan (veral vir diegene wat nog nooit daarmee gewerk het nie)
As u nog nooit met 'n Myoware -spiersensor gewerk het nie, is dit goed om eers te verstaan hoe hierdie sensor in die Serial -monitor in Arduino gekoppel en leesbaar is. Hierdie operasie is 'n standaardprosedure wat in baie handleidings reeds beskryf is. Die Adafruit -platform het in 'n paar stappe 'n duidelike beskrywing van hoe dit werk:
learn.adafruit.com/getting-started-with-my…
Kontroleer: As al hierdie stappe gedoen is, sal u op u seriële monitor sien dat die waardes verander as u u spiere verskerp. As u 'n vuis maak en u spier styf maak, moet die waardes styg en as u u spier verslap, moet hierdie waardes weer daal.
Belangrik Hierdie stap is slegs om die sensor op te stel. Die kode wat u gebruik het, is nie nodig vir die res van die handleiding nie. Net die manier waarop u die sensor self opstel, bly dieselfde vir die komende stappe.
Stap 2: Opstelling van Adafruit IO
Die eerste stap is om aan te meld of 'n rekening in Adafruit IO te skep, na Adafruit IO. Adafruit IO is 'n wolkplatform waarmee u via die internet kan skakel. Adafruit IO maak data nuttig met dataverbindings.
As u in u rekening is:
Skep die Analog FeedVolgende moet u 'n feed genaamd Analog skep. As u hulp nodig het om aan die gang te kom met die skep van feeds op Adafruit IO, raadpleeg die Adafruit IO Feed Basics -gids (Soos op foto 1 en 2).
As u die meterblok en die lyngrafiekblok byvoeg, skep 'n nuwe paneelbord en noem dit soos u dit wil hê (op foto's 3, 4 en 5 om 'n nuwe paneelbord te maak). Maak seker dat u die analoogvoer as die databron gekies het.
As u in die paneelbord is, voeg 'n nuwe Gauge -blok deur, klik op die blou plus in die regter boonste hoek. Noem die blok wat u wil (op foto's 6 en 7), en gee dit 'n maksimum waarde van 1024 en 'n minwaarde van 0 (waardes van die spiersensor).
Herhaal dieselfde met die lyngrafiekblok (foto 8) soos hierbo met die meterblok.
Kontroleer as u al hierbo gedoen het, moet u 'n soortgelyke skerm hê soos die vorige foto.
Stap 3: Arduino -invoer
In stap 1 het u die opstelling van die bedrading van die MyoWare Spiersensor korrek uitgevoer. In hierdie stap gaan ons in op die Arduino -kode wat by die verbinding met stap 2 van die Adafruit IO -dashboard kom. Aan die einde van hierdie stap sien u die invoerwaardes van die Myoware -spiersensor in die twee blokke wat u opgestel het.
Opstelling van Arduino
Maak seker dat u al die biblioteke geïnstalleer het wat hierbo in die inleiding genoem word.
Ons gaan met 'n voorbeeldskets werk. Maak File> Voorbeeld> Adafruit IO Arduino> adafruitio_08_analog_in (foto 1) oop. Waarom hierdie skets? omdat ons eers die insetgedeelte van hierdie handleiding opstel. Die MyoWare Spiersensor maak gebruik van analoog uitset. As u meer wil ingaan op die onderwerp oor analoog.
Arduino Network Config Om die netwerkinstellings op te stel, klik op die config.h -oortjie in die skets. U moet u Adafruit IO -gebruikersnaam in die IO_USERNAME definieer, en u Adafruit IO -sleutel in die IO_KEY definieer. U vind u gebruikersnaam en sleutel regs bo in die skerm in u Arduino IO (voorbeeld op foto 2)
#definieer IO_USERNAME "u_gebruikersnaam"
#definieer IO_KEY "jou_sleutel"
WiFi Config WiFi is standaard aangeskakel in config.h, dus as u een van die ondersteunde WiFi -borde gebruik, hoef u slegs die WIFI_SSID- en WIFI_PASS -opsies op die tab config.h te verander.
#definieer WIFI_SSID "jou_sid" #definieer WIFI_PASS "jou_pas"
Arduino -kode As u die instellings hierbo verander, kan ons verder gaan na die werklike kode, adafruit_08_analog_in. Die standaard pen in hierdie voorbeeld is statet op AO. Dit is die regte pen, aangesien u u spiersensor in stap 2 op die bord geplaas het.
Hierdie voorbeeld gebruik 'n fotosensor, omdat ons 'n spiersensor gebruik, sal ons hierdie naam verander. Dit maak nie saak of u dit doen nie, dit sal dit net semanties netjieser maak. Verander PHOTOCELL_PIN in MUSCLESENSOR_PIN, doen dit op twee plekke van die skets.
/************************ Voorbeeld begin hier *********************** **********/
// analoog pen 0 #definieer PHOTOCELL_PIN A0
In die laaste kodelyn word 'n vertraging opgelê. Hierdie vertraging is 1 sekonde, ons stel dit op 2 sekondes, dus 2000. Ons doen dit omdat daar 'n lisensie op Adafruit IO is met 'n datalimiet, onder twee sekondes oorskry hierdie skets die datagrens en dit gee 'n THROTTLE WAARSKUWING. Wat beteken dat daar geen waardes inkom nie. Om dit op twee sekondes te stel, verhoed dit.
// wag 'n sekonde (1000 millisekondes == 1 sekonde) vertraging (2000);
Dit was wat u in die skets moes verander om dit te laat werk. As u presies wil weet hoe die hele kode werk. U kan dit op die leer van Adafruit vind, met 'n uiteensetting van elke kodeblok.
Kontroleer Laai die skets op u bord op en maak die Arduino Serial Monitor oop. U bord moet nou aansluit by Adafruit IO.
u kan nou u arm styf trek, en u moet sien dat die veranderende waardes na Adafruit IO gestuur word (soos op foto 3). As u geen waardes in die seriële monitor sien nie, kyk of u die Baud -tempo in die seriële monitor op 115200 gestel het.
Adafruit IO Dashboard Kontroleer u dashboard op Adafruit IO, en u moet die meter en die lyngrafiek sien reageer op die veranderinge wat die MyoWare Spiersensor waardes het.
Stap 4: Opstelling van Adafruit IO Trigger
Tot dusver kon ons insette lewer van die MyoWare -spiersensor tot die werk van Adafruit IO. Nou gaan ons begin om hierdie inligting te lees. Sodat 'n aksie uitgevoer word deur die Neopixel geleide strook na 5 keer 'n waarde bo X van die spiersensor opgespoor word.
Hierdie afdeling was vir my waar ek moes ondersoek hoe ek die geskiedenis van Adafruit IO kan lees. Ek het al voorheen met Feeds en Dashboards gewerk, so ek het gedink dat die feed en dashboard wat geskep is, dit kan lees en 'n aksie hier in Arduino kan skep. Tot dusver het ek nie daarin geslaag nie. Na baie navorsing en Adafruit IO, het ek ontdek dat 'n aksie geaktiveer kan word met die Trigger -funksie in Adafruit IO. Kom meer te wete oor Triggers.
'N Ekstra voer Voordat ons 'n sneller kan maak, moet ons 'n ander voer skep, sodat ons dit in Arduino kan noem om die uitset te kry. Skep 'n voer met die naam AlertTriggered.
Skep 'n sneller Na die opskrifte Feed en Dashboard is Trigger, gaan hierheen. Skep 'n nuwe sneller. U sal gevra word of u 'n reaktiewe sneller of skedule -sneller wil skep, kies Reaktiewe sneller en klik op skep. Dit is omdat u slegs iets wil aktiveer as iets gebeur (foto 1).
'N aantal dinge moet ingestel word (die volgende stappe word ook op foto 2 getoon)
-As u groter kies as dit, omdat u iets wil aktiveer as die waarde so 'n getal oorskry.
-Vergelykingswaarde, u kan die gewenste nommer invoer om die sneller te aktiveer. Ek het 600 in hierdie geval gedoen.
-Met arduino moet u 'n terugvoer ontvang as dit meer as 600 is: so kies dan Publiseer 'n boodskap na:.
-Daarna kan u u tweede voer, geskep AlertTriggered, kies.
Klik uiteindelik op skep.
Stap 5: Neopixel -uitvoer
Die laaste stap is om die uitset te genereer. Gereed in die Arduino -skets wat u gewysig het deur die AlertTriggered -feed (wat u in die vorige stap geskep het) te bel.
Om uitset te kan lewer, moet u eers die Neopixel ledstrook aan die NodeMCU koppel.- + 5v (links) draad van u ledstrook op die 3v van u NodeMCU- GND (regs) draad op G van die Node (G = GND)- Middeldraad DIN van die LED op D5 (of enige ander D-poort)
CodeI het die hele skets met afwisselings in hierdie stap as 'n lêer ingesluit (kan onderaan hierdie stap gevind word). Dit is dieselfde skets waarmee u die laaste paar stappe gewerk het, maar nou is die finale skets by die stappe wat u moet doen om die uitset te kan lewer, ingesluit. adafruitio_musclesensor_neopixel lêer. Dit werk met die config.h wat u voorheen met u data gestel het. Al die kodeblokke is by opmerkings ingesluit, sodat u kan sien wat gebeur.
Watter uitsetdata is gekodeer In hierdie kode het ek 'n sneller geskep toe die AlertTriggered (wat ons in die vorige stap verklaar het oor 'n waarde groter as 600) meer as 5 keer geaktiveer word. Dit beteken dat die Neopixel led -strook, wanneer dit geaktiveer word, van wit na rooi is. Dit sal 'n minuut gebeur en dan sal die rooi toestand vervaag en weer na die wit toestand herhaal word.
Seriële monitor Om dit vir u as programmeerder duideliker te maak, is die laaste stel kode vir die Serial Monitor. Wat die waardes is en wanneer u die waarskuwingsvlak veroorsaak. Saam met die toevoeging van sekondes wanneer die waarskuwingstoestand aan is, totdat dit na 60 sekondes weer oorskakel na die waarskuwingstoestand. Hierdie deel is dus opsioneel.
// om die verbygaande sekondes in die Serial Monitor aan te toon wanneer die alartstaat op Serial.println is ("Seconds passed:"); Serial.println (secondsPassed); } anders {secondsPassed = 0; }
Kontroleer of u die skets adafruitio_musclesensor_neopixel -lêer met u eie config.h gekry het, of u kan dit na u NodeMCU oplaai. As dit klaar is, moet u iets soortgelyks sien soos hieronder in u seriële monitor:
Koppel tans aan Adafruit IO …
Adafruit IO verbind. Stuur -> 23 Stuur -> 78
Foto 1 is die Serial Monitor wanneer dit in Alertmode is.
Dit werk nie? Kontroleer die volgende dinge- Kontroleer of config.h op die regte manier ingesluit is- Het u die regte Adafruit IO-gebruikersnaam en -sleutel ingesit- Het u die regte SSID en 'n Wifi-wagwoord ingesit- Het u die bedrading van die MyoWare geplaas Spiersensor regs en van die Neopixel Led Strip
Of kyk na die vorige stappe.
Stap 6: Resultate
Hoera jy is klaar! Om die eindproduk in aksie te demonstreer en te sien, het ek 'n video ingesluit.
Aanbeveel:
Pendulums wat lukraak reageer: 4 stappe (met foto's)
Willekeurig reageer pendules: Die doel van hierdie projek is om 'n deurlopende swaai van 2 pendels te veroorsaak. Ek ontdek 'n goeie wisselwerking tussen 'n aktiewe en 'n passiewe slinger. Hulle beweeg in 'n wolk van permanente-magnetiese, elektromagnetiese en gravitasiekragvelde. Die gewig van die p
Reageer intermediêre tutoriaal: 3 stappe
Reageer Intermediêre Tutoriaal: Reageer Intermediêre Tutorial https://github.com/bluninja1234/todo_list_instruc…Kyk hier na die voltooide produk. Wat sal u leer? U maak 'n eenvoudige taaklys met React.js en leer meer oor die meer ingewikkelde dele van reageer. Voorvereistes (
Arduino -spelbeheerder met ligte wat reageer op u eenheidspeletjie :: 24 stappe
Arduino -spelbeheerder met ligte wat reageer op u eenheidspeletjie: Eerstens het ek hierdie ding in woord geskryf. Dit is die eerste keer dat ek instruksies gebruik, dus as ek sê: skryf kode uit, so weet dat ek na die prentjie bo -aan die stap verwys. In hierdie projek gebruik ek 2 arduino's om 2 aparte bit te laat loop
The Greenhouse Project (RAS): Monitor die elemente wat op ons plantasie sal reageer: 18 stappe (met foto's)
The Greenhouse Project (RAS): Monitor die elemente wat op ons plantasie moet reageer: Hierdie projek stel voor om die lugtemperatuur, helderheid en humiditeit, sowel as die temperatuur en humiditeit van die bos te monitor. Dit stel ook voor om hierdie maatreëls wat so leesbaar is op die webwerf Actoborad.com te netwerk, om dit te doen, verbind ons 4 sensors aan die N
Light Show -baadjie wat op musiek reageer: 7 stappe (met foto's)
Light Show -baadjie wat reageer op musiek: hierdie tutoriaal is opgestel as deel van my finalejaarsprojek vir my graad in musiektegnologie en toegepaste elektronika aan die Universiteit van York. Dit is gemik op musikante met 'n belangstelling in elektronika. Die finale produk sal 'n LED -matri