Introduction

Bonjour!

L'équipe ECG Wireless est heureuse de vous présenter sa documentation. Grâce à celle-ci, vous serez capable de construire vous même votre propre électrocardiographe (ou ECG) portatif et pratique, pour un budget de moins de 30 euros.

L'ECG Wireless se compose d'une paire de bretelles intégrant 3 électrodes à usage unique reliées à un système Arduino/Heart-Rate Monitor AD8232/module wifi HUZZAH feather ESP8266. Les données reçues sur l'Arduino sont envoyées par wifi à votre ordinateur ou 2 programmes python vous permetteront de visualiser votre électrocardiagramme en direct, puis de le revoir pour mieux l'analyser.

Le but de cette documentation est de vous aider pas à pas à construire un électrocardiographe intégré à des bretelles, fonctionant en wifi et envoyant les données à l'ordinateur.

capture-du-2016-11-24-16-14-42

L'ECG Wireless a été conçu dans le cadre de l'UE Ingénierie de la 2ème année de la Licence Frontières du Vivant

NB: il s'agit pour l'instant d'un prototype. La documentation sera mise à jour au fur et à mesure des améliorations apportées.

ATTENTION: cet électrocardiographe est un prototype. Il ne peut remplacer un examen médical fait par un professionnel de la santé.

Qu'est ce qu'un ECG? Une courte explication médicale

L’électrocardiogramme est un examen très usuel, non invasif, et dont le coût est très faible. Il permet d’identifier la quasi-totalité des pathologies cardiaques.

Lorsque le coeur expulse le sang hors des cavités vers les membres, il se produit un phénomène de dépolarisation des cellules cardiaques de proche en proche qui sont normalement au repos.

Ainsi, nos électrodes vont permettre de mesurer cette différence de potentiel en fonction du temps. On va ainsi avoir un tracé de la différence de potentiel en fonction du temps, avec des pics correspondant à des périodes de dépolarisation/repolarisation de différentes régions du coeur.

capture-du-2016-11-24-19-51-53

Cependant, ce tracé diffère selon l’emplacement des électrodes. En effet, le coeur est un organe tri-dimensionnel, de ce fait un vecteur (2 électrodes) nous permet d’avoir un seul vecteur qui enregistre l’activité du coeur. On appelle cela une dérivation. Ainsi, pour avoir toutes les dérivations sous un plan frontal, on utilise le triangle d’einthoven.

capture-du-2016-11-24-23-10-35

Matériels

  • 1 arduino Leonardo
  • 1 module wifi HUZZAH feather ESP8266
  • 1 Heart Rate Monitor AD8232
  • 3 électrodes à usage unique
  • Un cable conducteur adapté (avec 3 entrés pour brancher les électrodes et une prise jack en sortie)
  • 5 fils de raccordement male/femelle
  • 4 fils de raccordements femelle/femelle
  • Des bretelles et matériel de couture (voir étape Conception des bretelles)
  • Le logiciel Arduino version 1.6.8 avec l’extension pour HUZZAH feather.
  • Les programmes disponibles ici: https://github.com/NMguerin/Ecg-Wireless---ECG-portatif

L’Arduino Leonardo est un type de carte Arduino qui transmet à l’ordinateur les données obtenues par la carte Heart Monitor AD8232 grâce à un programme simple qui lit les données du port série et les imprime dans le moniteur série.

Les informations sur cette carte sont disponiblee sur le site Arduino: https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/overview

arduino_leonardo_board_cropped

La carte Heart Monitor AD8232 est une carte qui nous permet de transformer le signal analogique en signal digital. Elle est branchée à la fois aux 3 électrodes placées sur le corps duquel elle reçoit des différences de potentiels électriques et à la carte Arduino à laquelle elle transmet les données collectées par les électrodes.

Les informations sur cette carte sont disponibles sur le site sparkfun.com:

https://cdn.sparkfun.com/datasheets/Sensors/Biometric/AD8232.pdf

Le pack complet Kit ECG Module AD8232 en vente contient en plus de cette carte un paquet de 3 électrodes et un câble conducteur adapté.

Nous recommandons donc de préférences l’achat de ce kit dans un premier temps. Pour obtenir plus d’électrodes, des électrodes réutilisables médicales sont disponibles pour un prix abordable sur internet ou auprès de professionnels.

20161120_161019

Le module wifi HUZZAH feather ESP8266 est un type de carte qui transmet par wifi à l’ordinateur les données lues sur le port série de l’Arduino. Il fonctionne avec un programme en langage arduino qui le connecte à une borne wifi (par exemple un téléphone en partage de connexion). En connectant un ordinateur à la même borne wifi, le module wifi peut transmettre les données reçues par le port série à l’ordinateur. Un programme en python simple permet de récupérer sur l’ordinateur les données reçues.

Les informations sur cette carte sont disponibles sur le site Adaffruit.com: https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/overview

adafruit_products_2821_back_orig

Ce matériel est trouvable dans la plupart des magasins d’électroniques de France, ou il est possible de le commander sur internet.

Préparation de l'Arduino et du module wi-fi

Les codes utilisés sont disponibles sur github: https://github.com/NMguerin/Ecg-Wireless---ECG-portatif

Ouvrez le logiciel Arduino (si vous ne l’avez pas, télécharger le ici: https://www.arduino.cc/en/Main/Software. NB: il faut télécharger la version la plus récente).

Branchez la carte Arduino Leonardo à un de vos port USB de votre ordinateur avec un câble compatible (USB/micro-USB) et changez les configurations. Pour cela sélectionnez la carte dans “Outils → Type de carte → Arduino Leonardo”  et dans “Outils → Port”, sélectionnez le port série utilisé. Vous pouvez ouvrir ce code avec le logiciel “Fichier → Ouvrir” et téléverser sur l’Arduino Leonardo le code ECG-Arduino.ino . Ce programme permet simplement de lire les données reçu par l’Arduino sur son port série.

Une fois cela fait, vous pouvez vous occuper du module wifi. Branchez le module wifi HUZZAH feather ESP8266 à un des ports USB de votre ordinateur. Pour que le logiciel Arduino détecte le module wifi, vous avez besoin de télécharger une extension sur le site adafruit.com. Suivez les instructions données sur ce site (en anglais): https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/using-arduino-ide#install-the-arduino-ide-1-dot-6-8-or-greater Une fois cela fait  vérifiez que la carte et le port sont bien configurés. Pour cela sélectionnez la bonne carte dans “Outils → Type de carte → Adafruit HUZZAH ESP8266”  et dans “Outils → Port”, sélectionnez le port série utilisé.

Une fois cela fait, téléversez sur le module le programme ECG-HUZZAH-feather.ino. Ce programme permet de connecter le module wifi à un routeur wifi tel que votre téléphone portable en partage de connexion. Pour que cela fonctionne, il faut que vous ajoutiez dans le code le nom et le mot de passe du routeur auquel vous vous connectez, ainsi que l’adresse IP de l’ordinateur avec lequel vous allez faire l’acquisition des données.

adresseip wifi

Branchements

Voici le montage que l’on doit obtenir:

15208036_453995168104337_1267857184_n

On peut le récapituler par le schéma suivant:

20161124_222514

Nous devons à la fois brancher l’arduino à l’AD8232 mais aussi à l’huzzah feather au niveau des pin 3,3V.

On utilise une bread board pour pouvoir connecter tous les pins 3.3V de chaque carte et ainsi leur permettre d'être alimentés simultanément.

20161124_151553

On peut récapituler les autres branchements avec le tableau ci-dessus:

tableau

Il faut ensuite brancher le fil reliant l’AD8232 aux électrodes. Le fil se décompose en 3 fils secondaires reliés chacun à une électrode. Une indication “R” pour right,  “L” pour left et “F” pour floor indique quel fil doit relier quelle partie du corps selon la figure 1.

Cependant, le dispositif ne reçoit pas encore d'énergie. Il faut donc brancher à l'arduino et au module wifi une batterie externe en USB.

 

Conception des bretelles

Étape 3: coudre les bretelles et placer les électrodes

Matériel : -machine à coudre

               -  fil polyester

               - 1 aiguille

               - 2 bouton pressions

               - Câble ECG 3 dérivations + prise Jack de 70 à 80 cm

electrodecable_3leadsnapconnector_audiojack

               - 1 sacoche plate à fermeture éclair de 16 cm sur 12cm

               - 6 bandes de tissus élastique pour : - Les 2 bretelles (1m sur 6.5 cm) dénommées ci-après par Ag et Ad pour bretelle gauche et droite respectivement

                                                                         - la ceinture (97 cm sur 6.5cm) dénommée C

                                                                         - La doublure de la ceinture (44 cm sur 6.5 cm) dénommée D                                                                          - Les 2 doublures des bretelles (57 cm sur 6.5cm) dénommées Bg et Bd pour doublure gauche et droite respectivement.

Chaque bande possède deux faces, l’une étant externe (dirigé vers l’extérieur) et l’autre interne (dirigée vers le corps du patient). Chaque bande a aussi 2 extrémités dénommées sur les schémas ci-dessous.

12


  1. Coudre les 4 boutons à la future ceinture C : Coudre les 2 parties femelles à 5 cm de l’extrémité j  et sur la même face (face externe), et les 2 parties mâles à 2 cm de l’extrémité i, sur la face opposée (face interne), comme le schéma qui suit.

3


       2. Apposer la face externe de l’extrémité a de Bg à la face interne de D, à 5 cm de l’extrémité i de D, comme sur le schéma suivant. Faites pareil pour Bd , mais à 19 cm de l’extrémité j de D. Coudre les parties indiquées. On obtient ici l’ensemble des éléments de doublure qui cacheront les câbles.

5

 


 

        3. Apposer la face interne de l’extrémité a de Ag à la face externe de C, à 8 cm de son extrémité i, comme sur le schéma suivant. Faites pareil pour Ad, 7cm plus à gauche que Ag. Coudre les parties indiquées.4


 

      4. En prenant bien soin qu’il n’y ait aucune torsion, apposer la face interne de l’extrémité p de Ag à la face externe de C, à 22 cm de son extrémité j, comme sur le schéma suivant. Faites pareil pour Ad 6 cm plus à droite que Ag. Coudre les parties indiquées. On obtient, en incluant l’étape 3., les parties de la ceinture et des bretelles qui seront en contact direct avec le corps du patient.

6


      5.  Placement de la doublure : apposer la face interne de l’ensemble D+Bg+Bd sur la face externe de C de sorte à faire coïncider les extrémités a de Bg avec l’extrémité a de Ag, et l’extrémité a de Bd avec celle de Ad. Ainsi, l’extrémité i de D devrait se retrouver à 3 cm de celle de C. Coudre d’abord le bord inférieur de la jonction de D à C, puis l’extrémité j de D à C, puis les bords droits des jointures Ag+Bg, et gauches des jointures Ad+Bd. Coudre aussi les extrémités p des bandes B à leurs bandes A respectives. Dans le schéma, la partie postérieur de C (son extrémité j) ainsi que les extrémité p des bandes A sont exclues pour plus de clarté.

7


      6.  Placement de la sacoche contenant les éléments arduinos : apposer la sacoche sur le face externe de C entre les parties femelles des boutons et l’extrémité p de Ag. Coudre seulement une seule des faces, de sorte à toujours pouvoir ouvrir la sacoche.

8


       7.  Placement du câble ecg : Faites dépasser la prise jack de 18 centimètre de l’extrémité i de D, et fourrer le reste entre D et C. Faites remonter la dérivation left entre Ag et Bg de 38 cm, la dérivation Floor entre Ad et Bd de 13 cm, et la dérivation Right entre Ad et Bd de 38 cm. Pour chacune, percer un petit trou aux ciseaux (dans Ag pour Left, et 2 dans Ad pour Floor et Right), et faire passer les ‘électrodes’ pressions dans les trous. Laisser un peu de mou. Une fois cela fait, placer les câbles au fond des coutures déjà faites et fixer les avec du scotch de sorte à ce qu’ils ne dérangent pas vos dernières coutures.

9

      8.   Coudre les dernières parties ouvertes : le bord supérieur de D et C (pas au niveau des intersections avec les bretelles), et les jonctions axiales des A et B. (cf schéma précédent).

 

Bravo, vos bretelles sont faites !

Acquisition des données avec python3

Les codes utilisés sont disponibles sur github: https://github.com/NMguerin/Ecg-Wireless---ECG-portatif

Pour collecter les données, il faut utiliser le code python ECG-live.py

Ce code permet de capter les données envoyées par le module wifi et de les enregistrer dans un document nommé data.csv. De plus, ce programme permet de tracer en direct un électrocardiogramme approximatif. Pour commencer la mesure, exécuter le code avec python 3. Le programme n’est pas parfait, il ne s’arrête donc pas tout seul. Il  faut donc interrompre le programme pour arrêter la mesure.

Pendant l’acquisition, une fenêtre matplotlib s’ouvre et un électrocardiogramme se trace en direct en se basant sur les données recueillies par le port série de la carte Arduino que le module wifi transmet à votre ordinateur. Après avoir arrêté le programme, la fenêtre de matplotlib se ferme mais les données recueillies ont été enregistrées dans le fichier data.csv.

Grâce à ce fichier contenant les valeurs prises par le port série pendant la durée de la mesure, vous pouvez tracer un électrocardiogramme plus précis que celui tracé en direct et que vous pouvez enregistrer et analyser grâce au fonction de matplotlib. Cet électrocardiogramme peut servir pour faire des analyses simples du cycle cardiaque. Pour obtenir le tracé, utilisez le programme ECG-graph.py.

Remerciements et liens supplémentaires

Félicitations! Vous avez fini. Vous pouvez maintenant vous amusez avec votre ECG Wireless.

Nous espérons que vous avez pris plaisir à construire notre prototype. N'hésitez pas à nous laisser vos feedbacks, remarques et conseils.

Nous aimerions remercier toutes les personnes qui nous ont aidé à réaliser ce prototype, et sans qui ce projet n'aurait jamais abouti: Kevin Lhoste, toute l'équipe de l'OpenLab du CRI, les membres du club Fabelier, Juliette Lenouvel, les membres du Living Lab, Juliette Duboin, la promotion Bore de la Licence Frontières du Vivant.

Vous trouverez ci-dessus quelques liens qui nous ont permis de mettre au point ce prototype, et qui pourront vous aider à aller plus loin sur ce projet.

À bientôt.

L'équipe ECG Wireless.

Nina Guérin, Julien Pichon, Simon Fradet.


La documentation: http://www.lopendoc.org/lopenlab/projets/wireless-ecg-ecg-portatif/

Le dossier Github avec les codes: https://github.com/NMguerin/Ecg-Wireless---ECG-portatif.git

Notre diapositive de soutenance de projet: https://docs.google.com/presentation/d/1JA0UwGygOpfahYB5UpZOYGuT8HVQ_JJR4zgcV6vodm8/edit?usp=sharing

Guide d’utilisation pour le Heart Rate Monitor: https://learn.sparkfun.com/tutorials/ad8232-heart-rate-monitor-hookup-guide

Guide d’utilisation pour le HUZZAH feather: https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/overview

Un autre électrocardiogramme DIY (en anglais): http://www.instructables.com/id/Electrocardiograph-Heart-Rate-Monitor/


Dernière mise à jour: 24 novembre 2016.