Visualizar gráfica cardíaca en smartphone con cheapduino y sensor de pulsos

En este proyecto vamos hace un dispositivo, en el cual visualizaremos las pulsaciones cardíacas, en nuestro smartphone, para ello vamos a utilizar un módulo bluetooth hc-05 o el hc-06, un cheapduino(se puede reemplazar por un arduino uno, mega, nano, etc), un buzzer y el sensor de pulsos cardíacos amper .

Se ha diseñado una aplicación en app inventor para visializar, las pulsaciones cardíacas como se puede apreciar en la siguiente imagen

Veamos el hardware que vamos a necesitar para realizar este proyecto con todas sus características

Que es CheapDuino

CheapDuino es el procesador compatible con Arduino muy económico. Su objetivo es proporcionar un procesador de bajo costo para los estudiantes y los aficionados al desarrollo profesional. El precio de cada controlador es casi de 1/5 del precio del Arduino UNO. Por lo tanto, también es adecuado para el proyecto personalizado de bricolaje, taller, regalos para amigos, E-Textiles y uso educativo.

Especificaciones

  • Voltaje de funcionamiento: 3 ~ 5 voltios
  • Fuente de alimentación recomendada: 5v
  • Microctonroller: Atmel AVR ATmega8
  • gestor de arranque (opción de placa en Arduino IDE): Arduino NG / w ATmega8
  • 3 pines digitales, 3 pines analógicos con almohadillas hexagonales fáciles de soldar
  • Integra 3 pines pwm, interfaz I2C e interfaz UART
  • Adecuado para talleres, uso educativo y proyectos personalizados de bricolaje
  • Controlador compatible con Arduino de bajo costo
  • Diseñado para los estudiantes y DIYers
  • Dimensiones: 2cm x 2cm x 0.2cm

Diagrama de Pinout

CheapDuino1.png

Diagrama de conexión

Nota:

  • Cuando conecte el cable de programación fpc al programador DFRobot FPC y al dispositivo CheapDuino, por favor, el lado azul hacia arriba.

CheapDuino se puede comprar CheapDuino en la página de DFRobot haciendo click en la siguiente imagen

Pueden comprar cheapduino en la página de DFRobot

Módulo bluetooth hc-06

Imágenes integradas 1

Características:

  • Especificación bluetooth v2.0 + EDR (Enhanced Data Rate)
  • Modo esclavo (Solo puede operar en este modo)
  • Puede configurarse mediante comandos AT (Deben escribirse en mayúscula)
  • Chip de radio: CSR BC417143
  • Frecuencia: 2.4 GHz, banda ISM
  • Modulación: GFSK (Gaussian Frequency Shift Keying)
  • Antena de PCB incorporada
  • Potencia de emisión: ≤ 6 dBm, Clase 2
  • Alcance 5 m a 10 m
  • Sensibilidad: ≤ -80 dBm a 0.1% BER
  • Velocidad: Asincrónica: 2 Mbps (max.)/160 kbps, sincrónica: 1 Mbps/1 Mbps
  • Seguridad: Autenticación y encriptación (Password por defecto: 1234)
  • Perfiles: Puerto serial Bluetooth
  • Módulo montado en tarjeta con regulador de voltaje y 4 pines suministrando acceso a VCC, GND, TXD, y RXD
  • Consumo de corriente: 30 mA a 40 mA
  • Voltaje de operación: 3.6 V a 6 V
  • Dimensiones totales: 1.7 cm x 4 cm aprox.
  • Temperatura de operación: -25 ºC a +75 ºC

 

Aplicaciones:

  • Comunicación inalámbrica entre microcontroladores
  • Comunicación inalámbrica entre computadoras y microcontroladores
  • Comunicación inalámbrica entre teléfonos móviles o tabletas y microcontroladores
Advertencias: La comunicación Bluetooth entre dos módulos debe realizarse entre un módulo configurado como maestro y otro como esclavo. Para la comunicación Bluetooth con computador, teléfono, PDA, tableta, etc., el módulo debe ser esclavo.
No conecte este dispositivo directamente a un puerto serial de computador, para hacer esto requerirá un conversor de serial TTL a RS232. También puede conectarse por USB utilizando un conversor USB a serial TTL.
Para conexión via inalámbrica con una computadora, la interface o adaptador Bluetooth de esta debe soportar el perfil de puerto serie sobre bluetooth. También se puede conectar uno de estos módulos via cable a la computadora y que se comunique con un segundo módulo, siempre que uno de ellos sea esclavo y el otro maestro.
Configuración:
El módulo suele venir configurado con velocidad de transmisión serial de 9600 bps, 1 bit de parada, y sin bit de paridad, nombre: linvor, password: 1234
Para su configuración se puede conectar a el viejo puerto serial RS232 de la computadora a través de un convertidor TTL a RS232, o mejor empleando un conversor USB a serial TTL y utilizando el Hyperterminal de Windows u otro programa con funciones de terminal serial para enviar los comandos AT (Por ej. el SSCOM32, PuTTY, etc.). (A partir de Win Vista el hyperterminal ya no está incluido en el SO)
Con Arduino también se puede hacer fácilmente y sin ningún convertidor con un pequeño sketch que utiliza el monitor serial del IDE de Arduino para escribir los comandos AT y observar la respuesta del módulo. Como este monitor emplea la comunicación serial que el Arduino utiliza para comunicarse con la computadora en los pines 0 y 1 digitales, se crea un puerto serial por software para pasar los datos al módulo Bluetooth empleando los pines digitales 10 y 11.
También se podría hacer con un sketch mas sencillo, directamente conectando el módulo al puerto serie de la placa Arduino (Pines digitales 0 y 1), pero se tendría que remover el microcontrolador del Arduino primero.
Por supuesto también se pueden enviar los comandos AT desde cualquier microcontrolador sin ayuda de computadoras.

Sensor de pulso cardíaco

El sensor de pulso es esencialmente un fotopletismógrafo, que es un dispositivo médico conocido que se usa para controlar la frecuencia cardíaca de forma no invasiva. A veces, los fotopletismógrafos miden los niveles de oxígeno en la sangre (SpO2), a veces no. La señal de pulso cardíaco que sale de un fotopletismograma es una fluctuación analógica de voltaje, y tiene una forma de onda predecible, como se muestra en la figura 1. La representación de la onda de pulso se denomina fotopletismograma o PPG. El Sensor de pulso Amped, amplifica la señal bruta del Sensor de pulso anterior y normaliza la onda de pulso alrededor de V / 2 (punto medio en voltaje). El sensor de pulso Amped responde a los cambios relativos en la intensidad de la luz. Si la cantidad de luz incidente en el sensor permanece constante, el valor de la señal permanecerá en (o cerca de) 512 (punto medio del rango de ADC). Más luz y la señal aumenta. Menos luz, todo lo contrario. La luz del LED verde que se refleja de nuevo en el sensor cambia durante cada impulso.

Figura 1

El objetivo es encontrar momentos sucesivos de latido instantáneo del corazón y medir el tiempo transcurrido entre ellos, llamado intervalo Inter Beat (IBI). Al seguir la forma y el patrón predecibles de la onda PPG, podemos hacer exactamente eso.

Cuando el corazón bombea sangre por el cuerpo, con cada latido hay una onda de pulso (una especie de onda de choque) que viaja a lo largo de todas las arterias hasta las mismas extremidades del tejido capilar donde está conectado el sensor de pulso. La sangre real circula en el cuerpo mucho más lentamente de lo que viaja la onda de pulso. Sigamos los eventos a medida que progresan desde el punto ‘T’ en el PPG a continuación. Se produce un aumento rápido en el valor de la señal a medida que la onda de pulso pasa por debajo del sensor, luego la señal vuelve a descender hacia el punto normal. A veces, la muesca dicroica (pico descendente) es más pronunciada que otras, pero, en general, la señal se establece en el ruido de fondo antes de que la siguiente onda de pulso se filtre. Como la onda se repite y es predecible, podríamos elegir casi cualquier característica reconocible como punto de referencia, por ejemplo, el pico, y medir la frecuencia cardíaca haciendo cálculos matemáticos sobre el tiempo entre cada pico. Sin embargo, esto puede dar lugar a lecturas falsas desde la muesca dicroica, si está presente, y puede también ser susceptible a la imprecisión con respecto al ruido de línea base. Existen otras buenas razones para no basar el algoritmo de detección de latidos en fenómenos de onda arbitrarios. Idealmente, queremos encontrar el momento instantáneo del latido del corazón. Esto es importante para el cálculo preciso de BPM, la variabilidad del ritmo cardíaco ( y mida la frecuencia cardíaca haciendo cálculos en el tiempo entre cada pico. Sin embargo, esto puede dar lugar a lecturas falsas desde la muesca dicroica, si está presente, y puede también ser susceptible a la imprecisión con respecto al ruido de línea base. Existen otras buenas razones para no basar el algoritmo de detección de latidos en fenómenos de onda arbitrarios. Idealmente, queremos encontrar el momento instantáneo del latido del corazón. Esto es importante para el cálculo preciso de BPM, la variabilidad del ritmo cardíaco ( y mida la frecuencia cardíaca haciendo cálculos en el tiempo entre cada pico. Sin embargo, esto puede dar lugar a lecturas falsas desde la muesca dicroica, si está presente, y puede también ser susceptible a la imprecisión con respecto al ruido de línea base. Existen otras buenas razones para no basar el algoritmo de detección de latidos en fenómenos de onda arbitrarios. Idealmente, queremos encontrar el momento instantáneo del latido del corazón. Esto es importante para el cálculo preciso de BPM, la variabilidad del ritmo cardíaco (HRV ), y la medición del tiempo de tránsito de pulsos (PTT).

Algunos investigadores del corazón dicen que es cuando la señal alcanza el 25% de la amplitud, algunos dicen que es el 50% de la amplitud, y algunos dicen que es el momento en que la pendiente es más pronunciada durante el evento ascendente.

También vamos a necesitar un buzzer

Código Fuente


Circuito

Aplicación

Una vez abierta la aplicación vamos a conectarnos al hc-06 o el hc-05, hacemos click en Elegir dispositivo BT

Y nos va aparecer una lista con los dispositivos bluetooth, elegimos el nuestro

Luego click en conectar

Listo ya estamos recibiendo datos en nuestro celular

Descargar la aplicación

PulsosCardiacos


Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 muchos videos con código fuentes completos y diagramas


SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS MÁS DESTACADAS, SÓLO INGRESANDO TU CORREO ELECTRÓNICO


[wysija_form id=”1″]



VIDEO RECOMENDADO

3 comentarios en “Visualizar gráfica cardíaca en smartphone con cheapduino y sensor de pulsos

Deja una respuesta