Taper avec EMG à l'aide de MyoWare : 8 étapes
Taper avec EMG à l'aide de MyoWare : 8 étapes
Anonim
Saisie avec EMG à l'aide de MyoWare
Saisie avec EMG à l'aide de MyoWare

Auteurs:

L. Elizabeth Crawford & Dylan T. Vavra

Introduction:

Dans ce didacticiel, nous allons vous montrer comment créer un système d'électromyographie (EMG) à domicile simple - au coût d'environ 100 $ - qui détectera l'activation musculaire à la surface de la peau et l'utilisera pour envoyer une touche à un ordinateur, en contournant le clavier. Pour ce faire, nous avons utilisé un MaKey MaKey classique et un capteur MyoWare, ainsi qu'un peu de codage. Ce projet nécessite également quelques soudures. Vous trouverez ici des conseils utiles pour la technique de soudage et la sécurité.

Tout d'abord, nous allons vous montrer comment y parvenir en utilisant un seul capteur MyoWare. Ensuite, nous vous montrerons comment en ajouter un deuxième au système (pour nos besoins, nous en avons utilisé deux).

Nous espérons que d'autres pourront imiter cette technologie DIY EMG, l'adapter à leurs besoins spécifiques et l'utiliser pour un certain nombre d'applications intéressantes. Nous l'avons utilisé dans notre laboratoire de psychologie expérimentale à l'Université de Richmond pour reproduire des recherches montrant que les gens imitent les expressions faciales des autres.

Étape 1: Rassemblez vos documents

Rassemblez vos matériaux
Rassemblez vos matériaux

Matériaux:

  • Ordinateur
  • MaKey MaKey avec le câble USB fourni (vous devriez également pouvoir le faire avec un Arduino Leonardo, mais nous ne l'avons pas essayé)
  • Isolateur d'alimentation USB (à moins qu'il ne fonctionne à partir d'un ordinateur portable alimenté par batterie), tel que l'isolateur USB Adafruit - USB 100mA isolé basse/pleine vitesse (non illustré)
  • Capteur(s) MyoWare
  • Électrodes (x3 par capteur MyoWare) - nous avons utilisé des électrodes EMG/ECG/EKG de surface jetables Covidien Kendall 1" (24 mm)
  • En-têtes de rupture (nous avons utilisé des en-têtes en forme de L)
  • Fils avec connecteur mâle à une extrémité, femelle à l'autre
  • Souder
  • Ruban électrique

Outils:

  • Fer à souder
  • Coupe-fil
  • Séparateur de fil

Logiciel:

IDE Arduino avec module complémentaire MaKey MaKey

Étape 2: préparez le capteur MyoWare

Préparez le capteur MyoWare
Préparez le capteur MyoWare

1. Séparez un ensemble de trois connecteurs détachables pour les souder au MyoWare.

2. Avec le capteur MyoWare positionné avec le biceps vers le haut, insérez l'extrémité la plus courte des trois en-têtes par le bas dans les trous qui ont un "+" (signe plus", un "-" (signe négatif) et "SIG" à côté d'eux. (Voir l'image ci-dessus.)

3. Soudez les en-têtes en place.

Étape 3: Connectez le capteur MyoWare au MaKey MaKey

1. Choisissez trois fils (idéalement de couleurs différentes), mâle à une extrémité, femelle à l'autre. La longueur des fils dont vous avez besoin dépend de la distance à laquelle vous voulez que MyoWare se trouve du MaKey MaKey. Pour avoir le MyoWare sur le visage et le MaKey MaKey posé sur une table, vous aurez besoin d'environ 18 pouces.

2. Décidez à quelle fonction le fil de chaque couleur servira. L'un sera utilisé pour l'alimentation (se branchant sur le connecteur + du capteur MyoWare), l'autre sera utilisé pour la terre (se branchant sur le connecteur - du capteur MyoWare), et le troisième sera utilisé comme fil de signal (se branchant sur le connecteur SIG sur le MyoWare). Dans les images présentées dans cette instructable, nous utilisons le vert pour l'alimentation, le marron pour le sol et le gris pour le signal.

Étape 4: Téléchargez le croquis sur le MaKey MaKey

Téléchargez Sketch sur MaKey MaKey
Téléchargez Sketch sur MaKey MaKey
Téléchargez Sketch sur MaKey MaKey
Téléchargez Sketch sur MaKey MaKey
Téléchargez Sketch sur MaKey MaKey
Téléchargez Sketch sur MaKey MaKey

1. Installez Arduino IDE sur votre ordinateur (Tutoriel ici).

2. Installez l'addon MaKey MaKey pour Arduino (Tutoriel ici) en ouvrant vos préférences Arduino (Fichier > Préférences), en allant dans la zone de texte URL supplémentaires de Board Manager et en collant:

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

3. Dans l'IDE Arduino, cliquez sur le fichier, déroulez pour créer une nouvelle esquisse. Copiez et collez ce code dans la fenêtre de texte:

/* seuils d'enregistrement d'une pression de touche*/const int thresh1 = 1000;/*affectation des entrées sur MaKey MaKey*/const int sensor1Pin = A3;#include "Keyboard.h"int LED (9);void setup(){ pinMode(LED, OUTPUT);Serial.begin(96000);}/*Le code ci-dessous échantillonne le MyoWare toutes les 50 ms, envoie sa valeur au port série, et si la valeur est supérieure au seuil, envoie une pression de touche. Vous pouvez échantillonner plus fréquemment en réduisant le délai. Cela rendra les valeurs plus difficiles à lire dans la fenêtre série.*/void loop(){ int sensor1Val = analogRead(sensor1Pin);Serial.println(sensor1Val);if(sensor1Val >= thresh1){Keyboard.begin();/ / Envoie la touche de la lettre "c"Keyboard.write('c'); // attendre 50 ms avant d'échantillonner à nouveaudelay(50);}else//attendre 50 ms avant d'échantillonner à nouveaudelay(50);}

4. Connectez le MaKey MaKey à votre ordinateur. Déroulez le menu des outils et assurez-vous que la carte sélectionnée est Arduino Leonardo ou MaKey MaKey. Déroulez le menu Outils jusqu'à Port et assurez-vous que le port sélectionné porte le nom de votre carte sélectionnée. Téléchargez votre croquis sur le tableau en cliquant sur la flèche orientée vers la droite en haut de l'IDE Arduino.

Étape 5: connectez tous vos composants ensemble

1. Connectez les fils du capteur MyoWare au MaKey MaKey comme suit:

  • Le "+" sur le MyoWare va à la fente 5V sur le MaKey MaKey.
  • Le "-" sur le MyoWare va au sol ("terre") sur le MaKey MaKey.
  • Le "SIG" sur le MyoWare va à la fente A3 sur le MaKey MaKey.

2. Fixez trois électrodes au MyoWare.

3. Branchez le MaKey MaKey. Si vous utilisez un ordinateur connecté à une prise de courant, branchez le MaKey MaKey sur un isolateur d'alimentation USB, puis branchez-le sur le port USB de l'ordinateur. (Il s'agit d'une mesure de sécurité afin que si quelque chose ne va pas avec l'alimentation de votre ordinateur, l'utilisateur n'est pas directement connecté au réseau électrique. Il est peu probable qu'un tel problème se produise, mais nous préférons que vous soyez en sécurité.) Si vous utilisez un ordinateur portable fonctionnant sur batterie (c'est-à-dire NON BRANCHÉ DANS LE MUR), vous êtes en sécurité sans l'isolateur.

4. Vérifiez que tout est sous tension. La LED rouge MaKey MaKey et la LED verte MyoWare doivent toutes les deux être allumées.

5. Nettoyez la peau à l'endroit où vous souhaitez fixer le MyoWare avec de l'alcool à friction pour éliminer la saleté et les huiles.

6. Retirez le support adhésif des électrodes et fixez le MyoWare sur la peau. Vous voulez que les deux électrodes qui se trouvent sur le MyoWare soient au-dessus du muscle à partir duquel vous souhaitez enregistrer. L'électrode attachée au fil sert de comparaison et doit être placée hors du muscle dans une zone qui ne sera pas active lorsque le muscle cible est contracté.

7. Vérifiez l'adhésif sur les électrodes pour vous assurer que vous avez une bonne étanchéité à la peau. Vous devrez peut-être appuyer sur les bords des anneaux adhésifs dans la peau pour obtenir une bonne étanchéité.

Étape 6: Définition des seuils dans Arduino IDE

Définition de seuils dans Arduino IDE
Définition de seuils dans Arduino IDE

1. Avec tout connecté et sous tension, ouvrez le moniteur série dans l'IDE Arduino en cliquant sur l'outil loupe dans le coin supérieur droit.

2. Le moniteur série devrait maintenant afficher les valeurs de signal du MyoWare. Au fur et à mesure que vous fléchissez et détendez le muscle, vous devriez voir les valeurs changer en conséquence. Vous devriez également voir la LED rouge sur le MyoWare s'allumer lorsque vous contractez le muscle assez fort.

3. Tout en regardant le moniteur en série, contractez le muscle avec différentes intensités, en vous assurant de vous détendre entre les contractions afin de revenir à la ligne de base. Déterminez une valeur seuil au-dessus de laquelle vous souhaitez que la contraction produise une pression de touche. Des valeurs plus élevées nécessiteront une contraction plus forte pour enregistrer la pression de touche; des valeurs plus faibles le rendront plus sensible aux petites contractions mais aussi plus sujet aux fausses alarmes.

4. Dans l'esquisse Arduino, modifiez la valeur de seuil (const int thresh1) de 1000 à votre seuil choisi.

5. Fermez le moniteur série, téléchargez à nouveau le croquis et commencez à taper avec EMG. Vous devrez peut-être réajuster le seuil pour obtenir la sensibilité là où vous le souhaitez. Vous pouvez également expérimenter avec le délai pour qu'il échantillonne plus ou moins fréquemment.

Étape 7: Profitez de l'utilisation de votre nouveau système EMG fait maison

Profitez de l'utilisation de votre nouveau système EMG fait maison !
Profitez de l'utilisation de votre nouveau système EMG fait maison !

Vous pouvez placer les électrodes à une multitude d'endroits sur le corps (par exemple, sur le visage, comme le décrit notre cyborg de laboratoire Kyle Lee ci-dessus).

Expérimentez avec les emplacements pour placer les électrodes et avec les nombreuses possibilités de ce que vous pouvez faire avec les touches.

Continuez également à lire pour savoir comment ajouter un autre capteur MyoWare à ce système.

Étape 8: ajoutez un deuxième capteur à votre système EMG

Ajoutez un deuxième capteur à votre système EMG
Ajoutez un deuxième capteur à votre système EMG

1. Répétez l'étape 2 pour un deuxième capteur MyoWare.

2. Pour connecter plusieurs capteurs à un MaKey MaKey, vous aurez besoin d'un moyen d'alimenter chacun d'eux. Nous avons fait un peu de dénudage, de soudure et de ruban adhésif pour créer un connecteur en forme de Y (voir l'image ci-dessus), en divisant la sortie unique de l'alimentation de MaKey MaKey en deux fils qui se connectent à l'entrée d'alimentation "+" sur chacun de deux MyoWares.

3. Connectez les emplacements "SIG" des capteurs MyoWare aux différents emplacements A sur le côté droit de la MaKey MaKey (le code que nous fournissons ci-dessous suppose que vous utilisez A3 et A4).

4. Téléchargez le croquis de deux capteurs:

/* ce croquis lit deux signaux de capteurs MyoWare et envoie une touche 'b' quand l'un dépasse le seuil et 'c' quand l'autre dépasse le seuil.*//* définir les seuils*/const int thresh1 = 1000;const int thresh2 = 1000;/*affectation des entrées sur MaKey MaKey*/const int sensor1Pin = A3;const int sensor2Pin= A4;#include "Keyboard.h"int LED (9);void setup(){pinMode(LED, OUTPUT);Série.begin(9600);}boucle vide(){ int sensor1Val = analogRead(sensor1Pin);int sensor2Val = analogRead(sensor2Pin);Serial.print(sensor1Val);Serial.print(", ");Serial.println(sensor2Val);if(sensor1Val >= thresh1){Keyboard.begin();// Envoi de la touche cKeyboard.write('c');delay(50);}if(sensor2Val >= thresh2){Keyboard.begin();// Envoi de touche bKeyboard.write('b');delay(50);}else//attendre 50 ms avant d'échantillonner à nouveaudelay(50);}

5. Maintenant, les deux lectures musculaires doivent être visibles sur le moniteur série. Définissez chaque seuil séparément dans l'esquisse Arduino, comme à l'étape 6, puis rechargez l'esquisse.

Maintenant, votre système EMG aura deux entrées séparées

Si vous vous sentez un peu sauvage, vous pouvez suivre des procédures similaires pour ajouter plus de capteurs MyoWare au système. Si vous vous sentez VRAIMENT sauvage, vous pouvez même ajouter une autre MaKey MaKey au système. Nous vous encourageons à expérimenter avec cette conception.

Conseillé: