Paso 22: Digitalizar y convertir la forma de onda en una estructura de matriz C
En el eje de tiempo horizontal, líneas de cuadrícula principales en 0,200 segundos y las divisiones más pequeñas de rejilla son 0,040 segundos. En el eje vertical de la amplitud, las divisiones principales son 1,0 milivoltios y las divisiones verticales más pequeñas son 0,200 milivoltios. Después de que el último punto de datos de la onda T, la forma de onda de ECG es quieto hasta el siguiente método complejo. Ese período quieto (sosteniendo una muestra constante) puede ser modificado para variar la frecuencia cardíaca.
Frecuencia cardíaca normal para la mayoría es de 60 latidos por minuto o, en otras palabras, los picos de la onda R son un segundo aparte. Ahora es cierto que como el ritmo cardíaco se acelera realmente, la forma de onda QRS comprime un poco, pero simplificaremos el simulador de salida de la misma parte del QRS seguida de una parte variable de reposo.
Otra cosa a saber es que la amplitud del ECG según lo medido por electrodos conectados en la piel es sólo un par de milivoltios. El siguiente paso es digitalizar la onda con el tiempo dado y ejes amplitud utilizando el programa Open Source de digitalizador Engauge.
La primera figura muestra el programa de digitalizador de Enguage se utiliza para seleccionar puntos de datos de la forma de onda de ECG. Cada marca de verificación azul little es un ratón. Obviamente, los puntos más uno hace clic, mejor será la interpretación de la forma de onda será.
Cuando haya finalizado la digitalización, se creará un archivo de texto que muestra el (x, y) puntos de datos que se ingresaron a través de Enguage (véase la segunda figura).
Hay un par de problemas con este archivo de texto. En primer lugar, los puntos de datos no están uniformemente espaciados a intervalos de 1,0 milisegundos (nuestra tasa de muestra objetivo) y en segundo lugar, es posible que algunos puntos de datos fuera de secuencia (que accidentalmente hace clic en un punto de datos hacia la izquierda del punto de datos anterior).
Para solucionar estos problemas y a ampliar los puntos de forma de onda a un convertidor D/a de 12 bits (0.. 4095) y el intervalo de tiempo a 1.000 milisegundos, un programa Python fue escrito para hacer estas modificaciones (interpolación lineal, clasificación y un montón de formato) y finalmente masaje los datos en una estructura de matriz C const perfectamente legal con un inicializador (véase la tercera figura más abajo). Este archivo de texto puede ser cortado y pegado en el sketch de Arduino.
El programa de Python es demasiado complejo para un Instructable, pero puedes descargar el programa Python desde el repositorio del proyecto en GitHub. Detalles en este repositorio se dan al principio de este Instructable.
El lenguaje C estructura de matriz con un inicializador sólo almacena la parte del método de la forma de onda de ECG. No se almacena la parte quieta; más bien el convertidor retendrá (hold) un único valor durante el período de reposo. Modificar el número de muestras emitidas durante el período quieto efectivamente controla el ritmo cardíaco. La cuarta figura da detalles acerca de esta característica.