Sommario:

Digitare con EMG utilizzando MyoWare: 8 passaggi
Digitare con EMG utilizzando MyoWare: 8 passaggi

Video: Digitare con EMG utilizzando MyoWare: 8 passaggi

Video: Digitare con EMG utilizzando MyoWare: 8 passaggi
Video: Arduino IDE 2.0 - Testing Release Candidate 3 2024, Novembre
Anonim
Digitazione con EMG utilizzando MyoWare
Digitazione con EMG utilizzando MyoWare

Autori:

L. Elizabeth Crawford e Dylan T. Vavra

Introduzione:

In questo tutorial, ti mostreremo come creare un semplice sistema di elettromiografia (EMG) a casa - al costo di circa $ 100 - che rileverà l'attivazione muscolare dalla superficie della pelle e lo utilizzerà per inviare una pressione di un tasto a un computer, bypassando la tastiera. Abbiamo usato un classico MaKey MaKey e un sensore MyoWare per farlo, insieme a un po' di codice. Questo progetto richiede anche alcune saldature. Suggerimenti utili per la tecnica di saldatura e la sicurezza sono disponibili qui.

Innanzitutto, ti mostreremo come farlo utilizzando un sensore MyoWare. Quindi, ti mostreremo come aggiungerne un secondo al sistema (per i nostri scopi, ne abbiamo usati due).

La nostra speranza è che altri siano in grado di imitare questa tecnologia EMG fai da te, adattarla alle loro esigenze specifiche e utilizzarla per un numero qualsiasi di applicazioni interessanti. L'abbiamo usato nel nostro laboratorio di psicologia sperimentale presso l'Università di Richmond per replicare la ricerca che mostra che le persone imitano le espressioni facciali degli altri.

Passaggio 1: raccogli i tuoi materiali

Raccogli i tuoi materiali
Raccogli i tuoi materiali

Materiali:

  • Computer
  • MaKey MaKey con cavo USB in dotazione (dovresti essere in grado di farlo anche con un Arduino Leonardo, ma non l'abbiamo provato)
  • Isolatore di alimentazione USB (a meno che non si tratti di un laptop alimentato a batteria), come l'isolatore USB Adafruit - USB isolato a bassa/massima velocità da 100 mA (non illustrato)
  • Sensore/i MyoWare
  • Elettrodi (x3 per sensore MyoWare) - abbiamo utilizzato elettrodi EMG/ECG/ECG di superficie monouso Covidien Kendall da 1" (24 mm)
  • Intestazioni staccabili (abbiamo usato intestazioni a forma di L)
  • Cavi con connettore maschio da un lato, femmina dall'altro
  • Saldare
  • Nastro elettrico

Utensili:

  • Saldatore
  • Tronchese
  • Separatore di fili

Software:

Arduino IDE con l'addon MaKey MaKey

Passaggio 2: preparare il sensore MyoWare

Preparare il sensore MyoWare
Preparare il sensore MyoWare

1. Rompere una serie di tre intestazioni staccabili per la saldatura al MyoWare.

2. Con il sensore MyoWare posizionato con il bicipite rivolto verso l'alto, inserire l'estremità più corta delle tre intestazioni dal basso nei fori che hanno un "+" (segno più", un "-" (segno negativo) e "SIG" accanto a loro (vedi foto sopra).

3. Saldare le intestazioni in posizione.

Passaggio 3: collegare il sensore MyoWare a MaKey MaKey

1. Scegli tre fili (idealmente di colori diversi), maschio da un lato, femmina dall'altro. La lunghezza dei cavi di cui hai bisogno dipende da quanto lontano vuoi che il MyoWare sia dal MaKey MaKey. Per avere MyoWare sul viso e MaKey MaKey appoggiato su un tavolo, avrai bisogno di circa 18 pollici.

2. Decidi quale funzione svolgerà il filo di ciascun colore. Uno sarà utilizzato per l'alimentazione (collegamento al connettore + sul sensore MyoWare), uno sarà utilizzato per la messa a terra (collegamento al connettore - sul sensore MyoWare) e il terzo sarà utilizzato come cavo di segnale (collegamento al connettore SIG sul MyoWare). Nelle immagini mostrate in questa istruzione, stiamo usando il verde per l'alimentazione, il marrone per la terra e il grigio per il segnale.

Passaggio 4: carica lo schizzo su MaKey MaKey

Carica lo schizzo su MaKey MaKey
Carica lo schizzo su MaKey MaKey
Carica lo schizzo su MaKey MaKey
Carica lo schizzo su MaKey MaKey
Carica lo schizzo su MaKey MaKey
Carica lo schizzo su MaKey MaKey

1. Installa Arduino IDE sul tuo computer (tutorial qui).

2. Installa l'addon MaKey MaKey per Arduino (tutorial qui) aprendo le tue preferenze Arduino (File > Preferenze), andando nella casella di testo URL di Gestione schede aggiuntive e incollando:

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

3. Nell'IDE di Arduino, fare clic su file, tirare verso il basso per creare un nuovo schizzo. Copia e incolla questo codice nella finestra di testo:

/* soglie per la registrazione della pressione di un tasto*/const int thresh1 = 1000;/*assegnazione degli ingressi su MaKey MaKey*/const int sensor1Pin = A3;#include "Keyboard.h"int LED (9);void setup(){ pinMode(LED, OUTPUT);Serial.begin(9600);}/*Il codice seguente campiona il MyoWare ogni 50 ms, invia il suo valore alla porta seriale e, se il valore è superiore alla soglia, invia una pressione di un tasto. È possibile campionare più frequentemente riducendo il ritardo. Ciò renderà più difficile la lettura dei valori nella finestra seriale.*/void loop(){ int sensor1Val = analogRead(sensor1Pin);Serial.println(sensor1Val);if(sensor1Val >= thresh1){Keyboard.begin();/ / Invia la pressione del tasto della lettera "c"Keyboard.write('c');//aspetta 50 ms prima di campionare di nuovodelay(50);}else//aspetta 50 ms prima di campionare di nuovodelay(50);}

4. Collega MaKey MaKey al tuo computer. Apri il menu degli strumenti e assicurati che la scheda selezionata sia Arduino Leonardo o MaKey MaKey. Apri il menu degli strumenti su Porta e assicurati che la porta selezionata abbia il nome della scheda selezionata. Carica il tuo schizzo sulla scheda facendo clic sulla freccia rivolta verso destra nella parte superiore dell'IDE di Arduino.

Passaggio 5: collega tutti i componenti insieme

1. Collegare i cavi dal sensore MyoWare a MaKey MaKey come segue:

  • Il "+" sul MyoWare va allo slot 5V sul MaKey MaKey.
  • Il "-" sul MyoWare va a terra ("terra") sul MaKey MaKey.
  • Il "SIG" sul MyoWare va nello slot A3 sul MaKey MaKey.

2. Aggancia tre elettrodi al MyoWare.

3. Collegare MaKey MaKey. Se si utilizza un computer collegato a una presa di corrente, collegare MaKey MaKey a un isolatore di alimentazione USB, quindi collegarlo alla porta USB del computer. (Questa è una precauzione di sicurezza in modo che se qualcosa va storto con l'alimentazione del computer, chi lo indossa non è collegato direttamente alla rete elettrica. È improbabile che si verifichi un problema del genere, ma preferiamo che tu sia al sicuro.) Se usi un laptop che scarica la batteria (cioè NON COLLEGATO A MURO) sei al sicuro senza l'isolatore.

4. Verificare che tutto sia acceso. Il LED rosso di MaKey MaKey e il LED verde di MyoWare dovrebbero essere entrambi accesi.

5. Detergere la pelle nel punto in cui si desidera applicare MyoWare con alcol denaturato per rimuovere sporco e oli.

6. Staccare il retro adesivo sugli elettrodi e attaccare MyoWare alla pelle. Vuoi che i due elettrodi che si trovano sul MyoWare siano sopra il muscolo da cui vuoi registrare. L'elettrodo attaccato al filo serve come confronto e dovrebbe essere posizionato fuori dal muscolo in un'area che non sarà attiva quando il muscolo bersaglio è contratto.

7. Controllare l'adesivo sugli elettrodi per assicurarsi di avere una buona tenuta sulla pelle. Potrebbe essere necessario premere i bordi degli anelli adesivi nella pelle per ottenere una buona tenuta.

Passaggio 6: impostazione delle soglie nell'IDE Arduino

Impostazione delle soglie nell'IDE di Arduino
Impostazione delle soglie nell'IDE di Arduino

1. Con tutto collegato e acceso, apri il monitor seriale nell'IDE di Arduino facendo clic sullo strumento lente di ingrandimento nell'angolo in alto a destra.

2. Il monitor seriale dovrebbe ora mostrare i valori del segnale dal MyoWare. Mentre fletti e rilassi il muscolo, dovresti vedere i valori cambiare di conseguenza. Dovresti anche vedere il LED rosso sul MyoWare accendersi quando contrai il muscolo abbastanza forte.

3. Mentre guardi il monitor seriale, contrai il muscolo con intensità diverse, assicurandoti di rilassarti tra le contrazioni per tornare alla linea di base. Determinare un valore di soglia al di sopra del quale si desidera che la contrazione produca la pressione di un tasto. Valori più alti richiederanno una contrazione più forte per registrare la pressione del tasto; valori più bassi lo renderanno più sensibile a piccole contrazioni ma anche più soggetto a falsi allarmi.

4. Nello schizzo Arduino, cambia il valore di soglia (const int thresh1) da 1000 alla soglia scelta.

5. Chiudere il monitor seriale, ricaricare lo schizzo e iniziare a digitare con EMG. Potrebbe essere necessario regolare nuovamente la soglia per ottenere la sensibilità dove la si desidera. Puoi anche sperimentare con il ritardo in modo che campioni più o meno frequentemente.

Passaggio 7: divertiti a utilizzare il tuo nuovo sistema EMG fatto in casa

Divertiti a usare il tuo nuovo sistema EMG fatto in casa!
Divertiti a usare il tuo nuovo sistema EMG fatto in casa!

Puoi posizionare gli elettrodi in una moltitudine di punti del corpo (ad esempio, sul viso, come illustrato sopra il nostro cyborg da laboratorio Kyle Lee).

Sperimenta con le posizioni per mettere gli elettrodi e con le molte possibilità di cosa potresti usare per fare la pressione dei tasti.

Inoltre, continua a leggere per sapere come aggiungere un altro sensore MyoWare a questo sistema.

Passaggio 8: aggiungere un secondo sensore al sistema EMG

Aggiungi un secondo sensore al tuo sistema EMG
Aggiungi un secondo sensore al tuo sistema EMG

1. Ripetere il passaggio 2 per un secondo sensore MyoWare.

2. Per collegare più sensori a un MaKey MaKey, avrai bisogno di un modo per alimentare ciascuno di essi. Abbiamo eseguito un po' di spellatura, saldatura e nastratura dei cavi per creare un connettore a forma di Y (vedi immagine sopra), dividendo l'uscita singola dall'alimentatore del MaKey MaKey in due fili che si collegano all'ingresso di alimentazione "+" su ciascuno di due MyoWare.

3. Collega gli slot "SIG" sui sensori MyoWare a diversi A-slot sul lato destro di MaKey MaKey (il codice che forniamo di seguito presuppone che tu stia usando A3 e A4).

4. Carica lo schizzo per due sensori:

/* questo sketch legge i segnali di due sensori MyoWare e invia la pressione di un tasto 'b' quando uno supera la soglia e 'c' quando l'altro supera la soglia.*//* imposta le soglie*/const int thresh1 = 1000;const int thresh2 = 1000;/*assegnazione ingressi su MaKey MaKey*/const int sensore1Pin = A3;const int sensore2Pin= 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();// Send keypress cKeyboard.write('c');delay(50);}if(sensor2Val >= thresh2){Keyboard.begin();// Invia la pressione del tasto bKeyboard.write('b');delay(50);}else // attendi 50 ms prima di campionare di nuovodelay(50);}

5. Ora entrambe le letture muscolari dovrebbero essere visibili nel monitor seriale. Imposta ciascuna soglia separatamente nello schizzo Arduino, proprio come nel passaggio 6, quindi ricarica lo schizzo.

Ora il tuo sistema EMG avrà due ingressi separati

Se ti senti un po' selvaggio, puoi seguire procedure simili per aggiungere più sensori MyoWare al sistema. Se ti senti DAVVERO selvaggio, potresti persino aggiungere un altro MaKey MaKey al sistema. Ti invitiamo a sperimentare con questo design.

Consigliato: