Creación de un Monitor de Ritmo Cardíaco con Arduino y el Módulo AD8232: Una Guía Paso a Paso

Introducción

Este tutorial tiene como objetivo guiar al lector en la creación de su propio monitor de frecuencia cardíaca utilizando el módulo AD8232 y Arduino. El lector aprenderá a conectar el módulo de ECG AD8232 al Arduino y procesar los datos de ECG para extraer la frecuencia cardíaca. Los datos se visualizarán en tiempo real a través del Monitor Serial del Arduino IDE.

¿Qué es el AD8232?

El AD8232 es un módulo integrado de acondicionamiento de señal diseñado específicamente para el monitoreo de la actividad eléctrica del corazón, lo que se conoce como electrocardiografía (ECG).

El módulo AD8232 funciona amplificando y filtrando las señales débiles producidas por el corazón para que puedan ser procesadas y utilizadas para el análisis del ritmo cardíaco y otras aplicaciones de salud y bienestar.

Estas son algunas características destacadas del AD8232:

  • Tiene un amplificador de instrumentación de entrada diferencial (INA) que permite una alta precisión en la detección de pequeñas señales bioeléctricas específicas, como las del corazón, al mismo tiempo que rechaza las interferencias o ruidos externos.
  • Incluye un circuito de detección de electrodos desconectados (Lead-Off Detection) para indicar si los electrodos están haciendo un buen contacto con la piel del usuario.
  • Utiliza un filtro paso bajo para eliminar el ruido de la línea de alimentación (50 o 60Hz dependiendo del país) y un filtro paso alto para minimizar los efectos de los electrodos offset o el movimiento del cuerpo.
  • Funciona desde una fuente de alimentación de baja tensión (1.8V a 3.3V) y consume una corriente muy baja, lo que lo hace adecuado para aplicaciones móviles o portátiles.
  • Este módulo es una solución efectiva y asequible para los entusiastas de la electrónica y los desarrolladores que buscan integrar el monitoreo de ECG en sus proyectos o prototipos.

 

La electrocardiografía

La electrocardiografía (ECG) es una técnica de diagnóstico no invasiva que registra la actividad eléctrica del corazón a lo largo del tiempo. Esta actividad eléctrica, generada por los cambios de polaridad en las células del músculo cardíaco durante cada ciclo cardíaco, es detectada por electrodos colocados en la superficie de la piel.

Un ECG típico muestra varias ondas conocidas como ondas P, complejo QRS y onda T, cada una de las cuales corresponde a un evento específico en el ciclo cardíaco:

  • Onda P: Representa la despolarización (contracción) de las aurículas, que es el resultado de la propagación del impulso eléctrico desde el nodo sinoauricular (SA).
  • Complejo QRS: Representa la despolarización de los ventrículos, que es provocada por la propagación del impulso eléctrico desde el nodo auriculoventricular (AV) hasta el tejido ventricular a través del haz de His y las fibras de Purkinje.
  • Onda T: Representa la repolarización (relajación) de los ventrículos.

Mediante el análisis de estas ondas, los médicos pueden detectar una variedad de condiciones y trastornos del corazón, como arritmias, isquemia, infarto de miocardio, hipertrofia ventricular, entre otros.

Materiales necesarios

  • Arduino uno
  • Módulo AD8232
  • Cables para las conexiones

Conexión de Hardware

  1. VCC a 3.3V: Conecta el pin VCC en el módulo AD8232 a la salida de 3.3V en la placa Arduino.

  2. GND a GND: Conecta el pin de tierra (GND) en el módulo AD8232 al pin de tierra (GND) en la placa Arduino.

  3. OUTPUT a A0: Conecta el pin OUTPUT del módulo AD8232 al pin analógico A0 en la placa Arduino. Este pin OUTPUT será el que proporcionará las señales de ECG desde el módulo AD8232 a la placa Arduino para su procesamiento.

  4. LO- a Digital Pin (por ejemplo, D11): Conecta el pin LO- (Lead Off Detection) en el módulo al pin digital D11 en la placa Arduino. Este pin se utiliza para detectar si los electrodos están conectados correctamente.

  5. LO+ a Digital Pin (por ejemplo, D10): Conecta el pin LO+ en el módulo al pin digital D10 en la placa Arduino. Al igual que el pin LO-, este se utiliza para la detección de desconexión de los electrodos.

Colocación de los Electrodos del Sensor

Los electrodos deben ser colocados en la piel limpia y seca. En algunos casos, puede ser necesario afeitar o limpiar la piel para asegurar un buen contacto.

Cuanto más cerca del corazón estén los electrodos, mejor será la medición. Los cables, están codificados por colores para ayudar a identificar dónde deben colocarse en el cuerpo, siguiendo los principios del triángulo de Einthoven, que es un modelo geométrico utilizado para interpretar los datos de ECG.

Software y Programación

Una vez conectado el sensor al Arduino, copia en el Arduino IDE el siguiente código:

Este código para Arduino lee la señal del electrocardiograma (ECG) a través del pin analógico A0 y la envía al puerto serie. Además, verifica la correcta conexión de los electrodos utilizando los pines digitales 10 y 11. Si los electrodos están desconectados, se imprime un signo de exclamación en el puerto serie.

Asegúrate de seleccionar la placa correcta y el puerto COM. Cuando estés listo, pulsa el botón de cargar para subir el código a tu placa.

 Visualización y prueba

Para comenzar, debes abrir el Monitor Serial a una tasa de 9600 baudios. Así, podrás observar valores que oscilan generalmente entre 200 y 800.

Si accedes al "Plotter Serie" que se encuentra en el menú de herramientas, tendrás la oportunidad de visualizar gráficamente la señal del electrocardiograma. Para complementar este tutorial, hemos visualizado la señal de salida del sensor en un osciloscopio, proporcionándote una visión más clara de cómo es la señal real.

 

Calcular Frecuencia cardiaca

A continuación se proporciona un código muy básico que realiza la lectura y el procesamiento de la señal de un electrocardiograma (ECG) para calcular la frecuencia cardíaca. Utiliza un filtro de media móvil para suavizar la señal y detecta los picos en esta señal suavizada para contar los latidos del corazón.

Primero, se definen algunas constantes y variables. SAMPLES es el número de muestras que se utilizan para el filtro de media móvil y THRESHOLD es el valor que se usa para detectar un pico en la señal de ECG. MEASUREMENT_INTERVAL es el tiempo en milisegundos durante el cual se cuenta el número de latidos.

Si la media está por encima del umbral y ha pasado suficiente tiempo desde el último pico (para evitar contar el mismo pico más de una vez), se cuenta un nuevo latido y se actualiza el tiempo del último pico.

 

Abre el Monitor Serial a una tasa de 9600 baudios para poder visualizar las mediciones.

Limitaciones: El código actual presenta algunas limitaciones clave. En primer lugar, la detección de los picos en la señal de ECG se basa en un umbral estático, lo que puede ser inexacto si la amplitud de la señal de ECG varía. En segundo lugar, el filtrado de la señal se realiza mediante un simple filtro promedio, que puede no ser suficiente para eliminar ruidos de alta frecuencia o interferencias. Por último, el método de detección de latidos es bastante básico y puede no ser eficaz en caso de señales ruidosas o ritmos cardíacos irregulares.


Recomendaciones: Para mejorar la eficacia de este código, se podrían considerar las siguientes modificaciones. En primer lugar, la implementación de un umbral adaptativo que ajuste dinámicamente su valor en función de las condiciones de la señal de ECG. Segundo, el uso de técnicas de filtrado más avanzadas, como los filtros de banda de paso, ayudaría a limitar el ruido y las interferencias. Además, sería beneficioso utilizar métodos más robustos y sofisticados para la detección de los latidos. También es crucial validar los valores leídos desde el pin analógico para asegurar su correcta interpretación. Por último, realizar pruebas exhaustivas en diversas condiciones proporcionaría una mayor confianza en la fiabilidad del sistema.

 Conclusiones

En conclusión, este tutorial ofrece una valiosa introducción a la implementación de un monitor de frecuencia cardíaca utilizando el módulo AD8232 y Arduino. A lo largo de este, hemos dado un vistazo a los conceptos básicos de la electrocardiografía y cómo los datos del ECG pueden ser adquiridos y procesados para calcular la frecuencia cardíaca.

El código proporcionado, aunque básico, ilustra los fundamentos de la lectura de señales de ECG y la detección de picos para contar los latidos del corazón. Sin embargo, debe tenerse en cuenta que este es un ejemplo simplificado y puede que no sea adecuado para aplicaciones clínicas o diagnósticas sin las debidas modificaciones y validaciones.

Productos Relacionados

Ver artículo

ArduinoEcg

Deja un comentario