Skrivning med EMG med MyoWare: 8 steg
Skrivning med EMG med MyoWare: 8 steg
Anonim
Skriva med EMG med MyoWare
Skriva med EMG med MyoWare

Författare:

L. Elizabeth Crawford & Dylan T. Vavra

Introduktion:

I den här handledningen kommer vi att visa dig hur du skapar ett enkelt hem -elektromyografisystem (EMG) - till en kostnad av cirka $ 100 - som känner av muskelaktivering från hudytan och använder den för att skicka en knapptryckning till en dator, kringgå tangentbordet. Vi använde en klassisk MaKey MaKey och en MyoWare -sensor för att åstadkomma detta, tillsammans med lite kodning. Detta projekt kräver också en del lödning. Användbara tips för lödteknik och säkerhet hittar du här.

Först kommer vi att visa dig hur du uppnår detta med en MyoWare -sensor. Sedan visar vi dig hur du lägger till en till i systemet (för våra ändamål använde vi två).

Vår förhoppning är att andra ska kunna efterlikna denna DIY EMG -teknik, anpassa den till deras specifika behov och använda den för valfritt antal intressanta applikationer. Vi använde det i vårt experimentella psykologilabb vid University of Richmond för att replikera forskning som visar att människor efterliknar andras ansiktsuttryck.

Steg 1: Samla dina material

Samla dina material
Samla dina material

Material:

  • Dator
  • MaKey MaKey med medföljande USB -kabel (du borde kunna göra detta med en Arduino Leonardo också, men vi har inte provat det)
  • USB -strömisolator (om den inte körs från en batteridriven bärbar dator), till exempel Adafruit USB Isolator - 100mA Isolated Low/Full Speed USB (visas inte på bilden)
  • MyoWare -sensor (er)
  • Elektroder (x3 per MyoWare -sensor) - vi använde Covidien Kendall Engångsyta EMG/EKG/EKG -elektroder 1 "(24 mm)
  • Breakaway-rubriker (vi använde L-formade rubriker)
  • Ledningar med hankontakt i ena änden, hona i den andra
  • Löda
  • Eltejp

Verktyg:

  • Lödkolv
  • Avbitartång
  • Wire splitter

Programvara:

Arduino IDE med MaKey MaKey -tillägg

Steg 2: Förbered MyoWare -sensorn

Förbered MyoWare -sensorn
Förbered MyoWare -sensorn

1. Bryt av en uppsättning av tre utbrytningsrubriker för lödning till MyoWare.

2. Med MyoWare-sensorn placerad med biceps uppåt, sätt in den kortare änden av de tre rubrikerna underifrån i hålen som har ett "+" (plustecken ","-"(negativtecken) och" SIG " bredvid dem. (Se bilden ovan.)

3. Löd huvudet på plats.

Steg 3: Anslut MyoWare -sensorn till MaKey MaKey

1. Välj tre ledningar (helst i olika färger), hane i ena änden, hona i den andra. Längden på ledningarna du behöver beror på hur långt du vill att MyoWare ska vara från MaKey MaKey. För att ha MyoWare i ansiktet och MaKey MaKey vilande på ett bord behöver du cirka 18 tum.

2. Bestäm vilken funktion tråden i varje färg kommer att tjäna. En kommer att användas för strömförsörjning (anslutning till + -kontakten på MyoWare -sensorn), den ena kommer att användas för jordning (anslutning till - -kontakten på MyoWare -sensorn) och den tredje kommer att användas som signalkabel (anslutning till SIG -kontakt på MyoWare). På bilderna som visas i den här instruktionsboken använder vi grönt för kraft, brunt för mark och grått för signal.

Steg 4: Ladda upp Sketch till MaKey MaKey

Ladda upp Sketch till MaKey MaKey
Ladda upp Sketch till MaKey MaKey
Ladda upp Sketch till MaKey MaKey
Ladda upp Sketch till MaKey MaKey
Ladda upp Sketch till MaKey MaKey
Ladda upp Sketch till MaKey MaKey

1. Installera Arduino IDE på din dator (Handledning här).

2. Installera MaKey MaKey -tillägget för Arduino (självstudier här) genom att öppna dina Arduino -inställningar (Arkiv> Inställningar), gå till textrutan Extra Board Manager URLs och klistra in:

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

3. I Arduino IDE, klicka på filen, dra ner för att skapa en ny skiss. Kopiera och klistra in den här koden i textfönstret:

/*trösklar för att registrera en knapptryckning*/const int thresh1 = 1000;/*tilldelning av ingångar på MaKey MaKey*/const int sensor1Pin = A3;#inkludera "Keyboard.h" int LED (9); void setup () { pinMode (LED, OUTPUT); Serial.begin (9600);}/*Koden nedan samplar MyoWare var 50: e ms, skickar dess värde till serieporten, och om värdet är över tröskeln skickar ett knapptryck. Du kan prova oftare genom att minska fördröjningen. Detta kommer att göra värdena svårare att läsa i det seriella fönstret.*/Void loop () {int sensor1Val = analogRead (sensor1Pin); Serial.println (sensor1Val); if (sensor1Val> = thresh1) {Keyboard.begin ();/ /Skickar tangenttryckning av bokstaven "c" Keyboard.write ('c'); // vänta 50 ms innan provtagning igen fördröjning (50);} annars // vänta 50 ms innan provtagning igen fördröjning (50);}

4. Anslut MaKey MaKey till din dator. Dra ner verktygsmenyn och se till att det valda kortet är Arduino Leonardo eller MaKey MaKey. Dra ner verktygsmenyn till Port och se till att den valda porten har namnet på ditt valda kort. Ladda upp din skiss till tavlan genom att klicka på högerpilen högst upp på Arduino IDE.

Steg 5: Anslut alla dina komponenter tillsammans

1. Anslut kablar från MyoWare -sensorn till MaKey MaKey enligt följande:

  • "+" På MyoWare går till 5V -kortplatsen på MaKey MaKey.
  • "-" på MyoWare går till marken ("jorden") på MaKey MaKey.
  • "SIG" på MyoWare går till A3 -platsen på MaKey MaKey.

2. Fäst tre elektroder på MyoWare.

3. Anslut MaKey MaKey. Om du använder en dator som är ansluten till ett vägguttag ansluter du MaKey MaKey till en USB -isolator och ansluter den sedan till datorns USB -port. (Detta är en säkerhetsåtgärd så att om något går fel med strömförsörjningen i din dator, är bäraren inte direkt ansluten till elnätet. Det är osannolikt att ett sådant problem skulle uppstå, men vi föredrar att du är säker.) Om du använder en bärbar dator som tar slut på ett batteri (dvs INTE KOPPLADE I VÄGGEN) är du säker utan isolatorn.

4. Kontrollera att allt är påslagen. Den röda lysdioden MaKey MaKey och den gröna MyoWare lysdioden ska lysa.

5. Rengör huden där du vill fästa MyoWare med gnidningsalkohol för att ta bort smuts och oljor.

6. Skala av den självhäftande baksidan på elektroderna och fäst MyoWare på huden. Du vill att de två elektroderna på MyoWare ska ligga ovanpå muskeln som du vill spela in från. Elektroden fäst vid tråden fungerar som en jämförelse och bör placeras utanför muskeln i ett område som inte kommer att vara aktivt när målmuskeln dras ihop.

7. Kontrollera limmet på elektroderna så att du har en bra tätning mot huden. Du kan behöva pressa kanterna på de självhäftande ringarna i huden för att få en bra tätning.

Steg 6: Ställa in trösklar i Arduino IDE

Ställa in trösklar i Arduino IDE
Ställa in trösklar i Arduino IDE

1. Med allt anslutet och påslaget, öppnar du den seriella bildskärmen i Arduino IDE genom att klicka på förstoringsglasverktyget i det övre högra hörnet.

2. Seriell bildskärm ska nu visa signalvärdena från MyoWare. När du böjer och slappnar av muskeln bör du se värdena förändras i enlighet därmed. Du bör också se den röda lysdioden på MyoWare tändas när du drar ihop muskeln tillräckligt hårt.

3. Medan du tittar på seriemonitorn drar du ihop muskeln med olika intensitet, var noga med att slappna av mellan sammandragningarna för att komma tillbaka till baslinjen. Bestäm ett tröskelvärde över vilket du vill att sammandragningen ska ge en knapptryckning. Högre värden kräver en starkare sammandragning för att registrera tangenttrycket; lägre värden kommer att göra den mer känslig för små sammandragningar men också mer benägna att falska larm.

4. I Arduino -skissen ändrar du tröskelvärdet (const int thresh1) från 1000 till din valda tröskel.

5. Stäng seriell bildskärm, ladda upp skissen igen och börja skriva med EMG. Du kan behöva justera tröskeln för att få känsligheten där du vill ha den. Du kan också experimentera med fördröjningen så att den provar mer eller mindre ofta.

Steg 7: Njut av att använda ditt nya hemgjorda EMG-system

Njut av att använda ditt nya hemgjorda EMG-system!
Njut av att använda ditt nya hemgjorda EMG-system!

Du kan placera elektroderna på en mängd olika ställen på kroppen (till exempel i ansiktet, som vår laboratoriecyborg Kyle Lee visar ovan).

Experimentera med platser för att sätta elektroderna och med de många möjligheterna för vad du kan använda knapptryckningarna för att göra.

Fortsätt också läsa för att lära dig hur du lägger till en annan MyoWare -sensor till detta system.

Steg 8: Lägg till en andra sensor i ditt EMG -system

Lägg till en andra sensor i ditt EMG -system
Lägg till en andra sensor i ditt EMG -system

1. Upprepa steg 2 för en andra MyoWare -sensor.

2. För att ansluta flera sensorer till en MaKey MaKey behöver du ett sätt att få ström till var och en. Vi gjorde lite trådavdragning, lödning och tejpning för att skapa en Y-formad kontakt (se bilden ovan) och delade den ena utgången från MaKey MaKeys strömförsörjning till två ledningar som ansluts till "+" -ingången på varje av två MyoWares.

3. Anslut "SIG" -facken på MyoWare-sensorerna till olika A-fack på höger sida av MaKey MaKey (koden vi tillhandahåller nedan förutsätter att du använder A3 och A4).

4. Ladda upp skissen för två sensorer:

/* denna skiss läser två MyoWare -sensorsignaler och skickar ett knapptryck 'b' när den ena går över tröskeln och 'c' när den andra går över tröskeln. 1000;/*tilldelning av ingångar på 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 (); // Skicka knapptryckning cKeyboard.write ('c'); delay (50);} if (sensor2Val> = thresh2) {Keyboard.begin (); // Skicka knapptryckning bKeyboard.write ('b'); fördröjning (50);} annars // vänta 50 ms innan provtagning igen fördröjning (50);}

5. Nu ska båda muskelavläsningarna vara synliga i seriemonitorn. Ställ in varje tröskel separat i Arduino -skissen, precis som i steg 6, och ladda sedan om skissen.

Nu kommer ditt EMG -system att ha två separata ingångar

Om du känner dig lite vild kan du följa liknande procedurer för att lägga till fler MyoWare -sensorer i systemet. Om du känner dig riktigt vild kan du till och med lägga till en annan MaKey MaKey i systemet. Vi uppmuntrar dig att experimentera med denna design.

Rekommenderad: