Inhoudsopgave:

Typen met EMG met MyoWare: 8 stappen
Typen met EMG met MyoWare: 8 stappen

Video: Typen met EMG met MyoWare: 8 stappen

Video: Typen met EMG met MyoWare: 8 stappen
Video: DIY Electromyography using MyoWare EMG Muscle Sensor & Arduino 2024, November
Anonim
Typen met EMG met MyoWare
Typen met EMG met MyoWare

Auteurs:

L. Elizabeth Crawford & Dylan T. Vavra

Invoering:

In deze zelfstudie laten we u zien hoe u een eenvoudig thuiselektromyografie (EMG)-systeem maakt - voor ongeveer $ 100 - dat spieractivatie vanaf het huidoppervlak detecteert en het gebruikt om een toetsaanslag te sturen naar een computer, waarbij het toetsenbord wordt omzeild. We gebruikten een klassieke MaKey MaKey en een MyoWare-sensor om dit te bereiken, samen met een beetje codering. Dit project vereist ook wat solderen. Handige tips voor soldeertechniek en veiligheid vindt u hier.

Eerst laten we u zien hoe u dit kunt bereiken met één MyoWare-sensor. Vervolgens laten we u zien hoe u een tweede aan het systeem kunt toevoegen (voor onze doeleinden hebben we er twee gebruikt).

We hopen dat anderen deze doe-het-zelf-EMG-technologie kunnen nabootsen, aan hun specifieke behoeften kunnen aanpassen en voor allerlei interessante toepassingen kunnen gebruiken. We gebruikten het in ons laboratorium voor experimentele psychologie aan de Universiteit van Richmond om onderzoek te repliceren dat aantoont dat mensen de gezichtsuitdrukkingen van anderen nabootsen.

Stap 1: Verzamel uw materialen

Verzamel uw materialen
Verzamel uw materialen

Materialen:

  • Computer
  • MaKey MaKey met bijbehorende USB-kabel (dit zou je ook moeten kunnen met een Arduino Leonardo, maar we hebben het niet geprobeerd)
  • USB-stroomisolator (tenzij deze werkt op een laptop met batterijvoeding), zoals de Adafruit USB-isolator - 100mA geïsoleerde lage/volledige snelheid USB (niet afgebeeld)
  • MyoWare-sensor(en)
  • Elektroden (x3 per MyoWare-sensor) - we gebruikten Covidien Kendall wegwerpbare EMG-/ECG-/EKG-elektroden 1" (24 mm)
  • Breakaway headers (we gebruikten L-vormige headers)
  • Draden met mannelijke connector aan het ene uiteinde, vrouwelijk aan het andere uiteinde
  • Soldeer
  • Elektrische tape

Gereedschap:

  • Soldeerbout
  • Draadknipper
  • Draadsplitser

Software:

Arduino IDE met MaKey MaKey-add-on

Stap 2: Bereid de MyoWare-sensor voor

Bereid de MyoWare-sensor voor
Bereid de MyoWare-sensor voor

1. Breek een set van drie afbreekbare headers af om aan de MyoWare te solderen.

2. Plaats de MyoWare-sensor met de biceps naar boven gericht en steek het kortere uiteinde van de drie koppen van onderen in de gaten met een "+" (plusteken", een "-" (negatief teken) en "SIG" ernaast (zie afbeelding hierboven).

3. Soldeer de headers op hun plaats.

Stap 3: Sluit de MyoWare-sensor aan op de MaKey MaKey

1. Kies drie draden (idealiter van verschillende kleuren), mannelijk aan het ene uiteinde, vrouwelijk aan de andere. De lengte van de draden die u nodig hebt, hangt af van hoe ver u wilt dat de MyoWare van de MaKey MaKey verwijderd is. Om de MyoWare op het gezicht te hebben en de MaKey MaKey op een tafel te laten rusten, heb je ongeveer 18 inch nodig.

2. Bepaal welke functie de draad van elke kleur zal dienen. Eén wordt gebruikt voor stroom (aansluiten op de +-connector op de MyoWare-sensor), één wordt gebruikt voor aarde (aansluiten op de --connector op de MyoWare-sensor) en de derde wordt gebruikt als de signaaldraad (aansluiten op de MyoWare-sensor). SIG-connector op de MyoWare). In de afbeeldingen die in deze instructable worden getoond, gebruiken we groen voor stroom, bruin voor aarde en grijs voor signaal.

Stap 4: Upload Sketch naar de MaKey MaKey

Upload schets naar de MaKey MaKey
Upload schets naar de MaKey MaKey
Upload schets naar de MaKey MaKey
Upload schets naar de MaKey MaKey
Upload schets naar de MaKey MaKey
Upload schets naar de MaKey MaKey

1. Installeer Arduino IDE op uw computer (tutorial hier).

2. Installeer de MaKey MaKey-add-on voor Arduino (tutorial hier) door uw Arduino-voorkeuren te openen (Bestand > Voorkeuren), naar het tekstvak Extra Board Manager-URL's te gaan en in te plakken:

raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

3. Klik in de Arduino IDE op bestand, trek naar beneden om een nieuwe schets te maken. Kopieer en plak deze code in het tekstvenster:

/* drempels voor het registreren van een toetsaanslag*/const int thresh1 = 1000;/*toewijzing van ingangen op MaKey MaKey*/const int sensor1Pin = A3;#include "Keyboard.h"int LED (9);void setup(){ pinMode(LED, OUTPUT);Serial.begin(9600);}/*De onderstaande code bemonstert de MyoWare elke 50 ms, stuurt de waarde naar de seriële poort en als de waarde boven de drempel ligt, wordt er een toets ingedrukt. U kunt vaker samplen door de vertraging te verminderen. Dit maakt de waarden moeilijker leesbaar in het seriële venster.*/void loop(){ int sensor1Val = analogRead(sensor1Pin);Serial.println(sensor1Val);if(sensor1Val >= thresh1){Keyboard.begin();/ / Verstuurt de toetsaanslag van de letter "c"Keyboard.write('c');//wacht 50 ms voordat u opnieuw bemonstertdelay(50);}else//wacht 50 ms voordat u opnieuw bemonstertdelay(50);}

4. Sluit de MaKey MaKey aan op uw computer. Trek het menu Extra naar beneden en zorg ervoor dat het geselecteerde bord Arduino Leonardo of MaKey MaKey is. Trek het menu Extra naar Poort en zorg ervoor dat de geselecteerde poort de naam heeft van het door u geselecteerde bord. Upload je schets naar het bord door op de naar rechts wijzende pijl bovenaan de Arduino IDE te klikken.

Stap 5: Verbind al uw componenten met elkaar

1. Sluit de draden van de MyoWare-sensor als volgt aan op de MaKey MaKey:

  • De "+" op de MyoWare gaat naar het 5V-slot op de MaKey MaKey.
  • De "-" op de MyoWare gaat naar de grond ("aarde") op de MaKey MaKey.
  • De "SIG" op de MyoWare gaat naar de A3-sleuf op de MaKey MaKey.

2. Klik drie elektroden op de MyoWare.

3. Sluit de MaKey MaKey aan. Als u een computer gebruikt die is aangesloten op een stopcontact, sluit u de MaKey MaKey aan op een USB-stroomisolator en sluit u die vervolgens aan op de USB-poort van de computer. (Dit is een veiligheidsmaatregel, zodat als er iets misgaat met de stroomvoorziening van uw computer, de drager niet rechtstreeks is aangesloten op het elektriciteitsnet. Het is onwaarschijnlijk dat een dergelijk probleem zich voordoet, maar we hebben liever dat u veilig bent.) Als u een laptop gebruikt die op een batterij werkt (dwz NIET IN DE MUUR GESTOPT), bent u veilig zonder de isolator.

4. Controleer of alles is ingeschakeld. De MaKey MaKey rode LED en de MyoWare groene LED moeten beide branden.

5. Reinig de huid waar u de MyoWare wilt bevestigen met ontsmettingsalcohol om vuil en olie te verwijderen.

6. Verwijder de zelfklevende achterkant van de elektroden en bevestig de MyoWare op de huid. U wilt dat de twee elektroden op de MyoWare zich bovenop de spier bevinden waarvan u wilt opnemen. De elektrode die aan de draad is bevestigd, dient als vergelijking en moet buiten de spier worden geplaatst in een gebied dat niet actief is wanneer de doelspier wordt samengetrokken.

7. Controleer de lijm op de elektroden om er zeker van te zijn dat ze goed op de huid zijn afgedicht. Mogelijk moet u de randen van de plakringen in de huid drukken om een goede afdichting te krijgen.

Stap 6: Drempels instellen in Arduino IDE

Drempels instellen in Arduino IDE
Drempels instellen in Arduino IDE

1. Met alles aangesloten en ingeschakeld, opent u de seriële monitor in de Arduino IDE door op het vergrootglas in de rechterbovenhoek te klikken.

2. De seriële monitor zou nu de signaalwaarden van de MyoWare moeten weergeven. Terwijl u de spier buigt en ontspant, zou u de waarden overeenkomstig moeten zien veranderen. U zou ook de rode LED op de MyoWare moeten zien oplichten wanneer u de spier hard genoeg samentrekt.

3. Terwijl u naar de seriële monitor kijkt, trekt u de spier samen met verschillende intensiteiten, waarbij u ervoor zorgt dat u tussen de contracties door ontspant om terug te keren naar de basislijn. Bepaal een drempelwaarde waarboven u wilt dat de samentrekking een toetsaanslag produceert. Hogere waarden vereisen een sterkere samentrekking om de toetsaanslag te registreren; lagere waarden maken het gevoeliger voor kleine samentrekkingen, maar ook meer vatbaar voor valse alarmen.

4. Wijzig in de Arduino-schets de drempelwaarde (const int thresh1) van 1000 in de door u gekozen drempelwaarde.

5. Sluit de seriële monitor, upload de schets opnieuw en begin met typen met EMG. Het kan zijn dat u de drempel opnieuw moet aanpassen om de gevoeligheid te krijgen waar u die wilt hebben. U kunt ook experimenteren met de vertraging, zodat deze meer of minder vaak wordt gesampled.

Stap 7: Geniet van het gebruik van uw nieuwe zelfgemaakte EMG-systeem

Veel plezier met het gebruik van uw nieuwe zelfgemaakte EMG-systeem!
Veel plezier met het gebruik van uw nieuwe zelfgemaakte EMG-systeem!

U kunt de elektroden op een groot aantal plaatsen op het lichaam plaatsen (bijvoorbeeld op het gezicht, zoals onze lab-cyborg Kyle Lee hierboven beschrijft).

Experimenteer met locaties om de elektroden te plaatsen en met de vele mogelijkheden van wat je met de toetsaanslagen kunt doen.

Lees ook verder om te leren hoe u een andere MyoWare-sensor aan dit systeem kunt toevoegen.

Stap 8: voeg een tweede sensor toe aan uw EMG-systeem

Voeg een tweede sensor toe aan uw EMG-systeem
Voeg een tweede sensor toe aan uw EMG-systeem

1. Herhaal stap 2 voor een tweede MyoWare-sensor.

2. Om meerdere sensoren aan één MaKey MaKey te bevestigen, heb je een manier nodig om elke sensor van stroom te voorzien. We hebben de draad een beetje gestript, gesoldeerd en getaped om een Y-vormige connector te maken (zie afbeelding hierboven), waarbij we de enkele uitgang van de MaKey MaKey-voeding hebben gesplitst in twee draden die worden aangesloten op de "+" voedingsingang op elk van twee MyoWares.

3. Sluit de "SIG"-sleuven op de MyoWare-sensoren aan op verschillende A-sleuven aan de rechterkant van de MaKey MaKey (de code die we hieronder verstrekken, gaat ervan uit dat u A3 en A4) gebruikt.

4. Upload de schets voor twee sensoren:

/* deze schets leest twee MyoWare-sensorsignalen en stuurt een toetsdruk 'b' wanneer de ene boven de drempel komt en 'c' wanneer de andere boven de drempel komt.*//* set thresholds*/const int thresh1 = 1000;const int thresh2 = 1000;/*toewijzing van ingangen op MaKey MaKey*/const int sensor1Pin = A3;const int sensor2Pin= A4;#include "Keyboard.h"int LED (9);void setup(){pinMode(LED, OUTPUT);Serial.begin(9600);}void loop(){int sensor1Val = analogRead(sensor1Pin);int sensor2Val = analogRead(sensor2Pin);Serial.print(sensor1Val);Serial.print(", ");Serial.println(sensor2Val);if(sensor1Val >= thresh1){Keyboard.begin();// Verzend toetsdruk cKeyboard.write('c');delay(50);}if(sensor2Val >= thresh2){Keyboard.begin();// Verzend toetsdruk bKeyboard.write('b');delay(50);}else//wait 50 ms before sampling againdelay(50);}

5. Nu zouden beide spiermetingen zichtbaar moeten zijn in de seriële monitor. Stel elke drempel afzonderlijk in in de Arduino-schets, net als in stap 6, en laad de schets vervolgens opnieuw.

Nu heeft uw EMG-systeem twee afzonderlijke ingangen

Als u zich een beetje wild voelt, kunt u soortgelijke procedures volgen om meer MyoWare-sensoren aan het systeem toe te voegen. Als je je ECHT wild gaat voelen, kun je zelfs nog een MaKey MaKey aan het systeem toevoegen. We moedigen u aan om met dit ontwerp te experimenteren.

Aanbevolen: