Table des matières:
- Étape 1: Rassemblez vos documents
- Étape 2: préparez le capteur MyoWare
- Étape 3: Connectez le capteur MyoWare au MaKey MaKey
- Étape 4: Téléchargez le croquis sur le MaKey MaKey
- Étape 5: connectez tous vos composants ensemble
- Étape 6: Définition des seuils dans Arduino IDE
- Étape 7: Profitez de l'utilisation de votre nouveau système EMG fait maison
- Étape 8: ajoutez un deuxième capteur à votre système EMG
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:46
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
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
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
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
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
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
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é:
Taper la langue avec une souris buccale : 11 étapes (avec photos)
Taper la langue avec une souris buccale : La carte Makey Makey a sans aucun doute ouvert de nombreuses possibilités d'interaction avec un PC ou un ordinateur portable. Alors que jouer du piano avec des bananes et des déclencheurs en feuille d'argent est amusant et éducatif, je voulais trouver une application différente et, espérons-le, co
Interface homme-machine : Fonctionnez une pince (fabriquée par Kirigami) par mouvement du poignet à l'aide d'EMG. : 7 étapes
Interface homme-ordinateur : Fonctionnez une pince (fabriquée par Kirigami) par mouvement du poignet à l'aide d'EMG. : C'était donc mon premier essai avec une interface homme-ordinateur. J'ai capturé les signaux d'activation musculaire de mon mouvement du poignet à l'aide d'un capteur EMG, je l'ai traité via python et arduino et actionné une pince à base d'origami
Neopixel Ws2812 Rainbow LED Glow avec M5stick-C - Exécution de Rainbow sur Neopixel Ws2812 à l'aide de M5stack M5stick C à l'aide d'Arduino IDE : 5 étapes
Neopixel Ws2812 Rainbow LED Glow avec M5stick-C | Exécution de Rainbow sur Neopixel Ws2812 en utilisant M5stack M5stick C en utilisant Arduino IDE un motif arc-en-ciel avec
Taper d'écran super rapide ! : 3 étapes
Super Speedy Screen Taper ! : Il s'agit d'une instruction super rapide, facile et simple qui vous montre comment créer un appareil capable d'appuyer rapidement sur la plupart des écrans tactiles. Le SSST (Super Speedy Screen Tapper) enregistre un écran environ dix fois par seconde et ne prend qu'une dizaine de minutes à faire. N
Ne jamais taper à nouveau un instructable à l'aide de Jott : 4 étapes
Ne jamais taper à nouveau un instructable à l'aide de Jott : Vous en avez marre de taper vos instructables ? Et si vous pouviez simplement les dire à la place ? Avec Jott, c'est possible. Jott est un service gratuit qui transcrit votre voix en texte. Vous pouvez ensuite prendre ce texte et le copier dans des instructables sans jamais