Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

¿Eres un entusiasta del fitness o simplemente te preocupa tu salud? Si es así, en este artículo te enseñaremos cómo monitorizar tu frecuencia cardíaca de forma sencilla y económica utilizando un sensor de pulso y Arduino. Descubre cómo esta tecnología puede ayudarte a estar más en sintonía con tu cuerpo y mejorar tu bienestar en general. ¡Sigue leyendo para saber más!

El sensor de pulso es un sensor de frecuencia cardíaca plug-and-play, de bajo consumo y bien diseñado para Arduino. Cualquiera que quiera integrar datos de frecuencia cardíaca en tiempo real en su trabajo (estudiantes, artistas, atletas, creadores y desarrolladores de juegos y dispositivos móviles) puede beneficiarse.

La mejor parte es que este sensor se puede conectar directamente a Arduino y acoplarlo fácilmente a la yema del dedo o al lóbulo de la oreja. También es súper pequeño (en forma de botón) y tiene agujeros para coser en la tela.

¿Sabías?

Pulse Sensor es un dispositivo de código abierto desarrollado por PulseSensor.com. Comenzaron como un proyecto Kickstarter en 2011. En 2013, 491 patrocinadores habían prometido 18.418 dólares para hacer realidad este proyecto.

Descripción general del hardware

Coloque su dedo en la parte frontal del sensor con el logo del corazón. También notarás una pequeña abertura circular a través de la cual brilla el LED verde ubicado en la parte posterior del Kingbright.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Justo debajo de la abertura circular hay un pequeño fotosensor de luz ambiental. APDS-9008 de Avago. Este sensor es similar a los que se utilizan en teléfonos móviles, tabletas y portátiles para ajustar el brillo de la pantalla en función de las condiciones de iluminación ambiental.

En la parte posterior del módulo hay un amplificador operacional Microchip MCP6001 y algunas resistencias y condensadores que forman la red de filtros R/C. También hay un diodo de protección de polaridad inversa para evitar daños si las líneas eléctricas se invierten accidentalmente.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

El módulo requiere una fuente de alimentación de CC en el rango de 3,3 a 5 V y consume menos de 4 mA de corriente.

Especificaciones técnicas

Aquí están las especificaciones técnicas:

Máximos ratings VCC 3,0 – 5,5 V
IMax (consumo máximo de corriente) <4mA
VOut (rango de voltaje de salida) 0,3 V a Vcc
longitud de onda salida LED 565 nanómetro
Entrada de sensor 525 nanómetro
Dimensiones L x An (placa de circuito) 15,8 mm (0,625 pulgadas)
Longitud de la línea 20 cm (7,8 pulgadas)

¿Cómo funciona un sensor de pulso?

La teoría detrás de los sensores ópticos de frecuencia cardíaca es muy simple. Si alguna vez ha iluminado sus dedos con una linterna y ha observado los latidos de su corazón, el concepto de sensores ópticos de frecuencia cardíaca es fácil de entender.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Un sensor de pulso funciona como cualquier otro sensor óptico de frecuencia cardíaca al iluminar el dedo con una luz verde (~550 nm) y medir la cantidad de luz reflejada con un fotosensor.

Esta técnica de detección de pulso óptico se conoce como Fotopletismograma.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

La hemoglobina oxigenada de la sangre arterial tiene la propiedad de absorber la luz verde. Cuanto más roja es la sangre (cuanto mayor es el nivel de hemoglobina), más luz verde se absorbe. Con cada latido del corazón, la sangre se bombea a través del dedo, cambiando la cantidad de luz reflejada, lo que a su vez crea una forma de onda en la salida del fotosensor.

Si continúa iluminando y tomando medidas del fotosensor, obtendrá rápidamente una lectura de los latidos del corazón.

Esta señal del fotosensor suele ser pequeña y ruidosa; Por lo tanto, se pasa a través de una red de filtros R/C y luego se amplifica con un amplificador operacional para producir una señal significativamente más grande, más limpia y más fácil de detectar.

Asignación de pines del sensor de pulso

El sensor viene con un cable plano de 24 pulgadas con tres conectores de clavijas. La distribución de pines se muestra en la siguiente figura.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

S (señal) es la salida de señal. Se conecta a la entrada analógica de un Arduino.

+ (CCV) es el pin VCC. Conexión a 3,3 o 5 V.

– (TIERRA) es el pin de tierra.

Advertencia:

A menudo, el cable no está codificado por colores. Por lo tanto, verifique las marcas en la parte posterior del módulo para asegurarse de haber identificado correctamente los tres cables.

Cableado de un sensor de pulso a un Arduino

Conectar el sensor de pulso a un Arduino es muy sencillo. Sólo necesitas conectar tres cables: dos para alimentación y uno para leer el valor del sensor.

El módulo se puede suministrar con 3,3 V o 5 V. El voltaje positivo está conectado a “+” mientras que tierra está conectada a “-”. El tercer cable «S» es la salida de señal analógica del sensor, que está conectada a la entrada analógica A0 del Arduino.

El siguiente es el diagrama de cableado para los experimentos del sensor de pulso:

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Instalación de biblioteca

Para ejecutar los siguientes bocetos, primero debe instalar la biblioteca PulseSensor Playground.

Para instalar la biblioteca, navegue hasta Bosquejo > incluir biblioteca > Administrar bibliotecas… Espere a que el administrador de la biblioteca descargue el índice de la biblioteca y actualice la lista de bibliotecas instaladas.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Filtra tu búsqueda escribiendo 'sensor de pulso'.Solo debe haber una entrada. Haga clic en él y luego seleccione «Instalar».

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Bocetos de ejemplo de PulseSensor

La biblioteca PulseSensor contiene varios bocetos de ejemplo. Cubriremos algunos de ellos aquí, pero también puedes experimentar con los demás.

Para acceder a los bocetos de muestra, navegue hasta archivo > Ejemplos > Parque infantil PulseSensor.

Verá una selección de bocetos de muestra. Puede seleccionar uno de ellos para cargar el boceto en su IDE. Empecemos con esto EmpezandoProyecto.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Descargar el EmpezandoProyecto Dibuje a partir de los bocetos de ejemplo en su IDE de Arduino. Este es un boceto básico de Arduino. Cargue el código en su Arduino y conecte el sensor al lóbulo de su oreja o a la punta de su dedo. ¡Deberías ver el LED incorporado del Arduino parpadeando al ritmo de los latidos de tu corazón!

int const PULSE_SENSOR_PIN = 0;   // 'S' Signal pin connected to A0

int Signal;                // Store incoming ADC data. Value can range from 0-1024
int Threshold = 550;       // Determine which Signal to "count as a beat" and which to ignore.

void setup() {
	pinMode(LED_BUILTIN,OUTPUT);  // Built-in LED will blink to your heartbeat
	Serial.begin(9600);           // Set comm speed for serial plotter window
}

void loop() {

	Signal = analogRead(PULSE_SENSOR_PIN); // Read the sensor value

	Serial.println(Signal);                // Send the signal value to serial plotter

	if(Signal > Threshold){                // If the signal is above threshold, turn on the LED
		digitalWrite(LED_BUILTIN,HIGH);
	} else {
		digitalWrite(LED_BUILTIN,LOW);     // Else turn off the LED
	}
	delay(10);
}

Explicación del código

El boceto es extremadamente simple. Comienza definiendo el pin que se utilizará para conectar el sensor de pulso. Además, se definen dos variables; El Signal La variable contiene los datos ADC entrantes y el Threshold La variable determina qué señal «cuenta como un latido» y qué señal se ignora.

int const PULSE_SENSOR_PIN = 0;

int Signal;
int Threshold = 550;

En la configuración configuramos el pin LED integrado (pin 13) como salida y configuramos el monitor serie.

void setup() {
	pinMode(LED_BUILTIN,OUTPUT);
	Serial.begin(9600);
}

En el bucle leemos la señal analógica del sensor de pulso y activamos el LED integrado cuando la señal supera un umbral.

void loop() {
	Signal = analogRead(PULSE_SENSOR_PIN); // Read the sensor value

	if(Signal > Threshold){                // If the signal is above threshold, turn on the LED
		digitalWrite(LED_BUILTIN,HIGH);
	} else {
		digitalWrite(LED_BUILTIN,LOW);     // Else turn off the LED
	}
	delay(10);
}

¿Tiene problemas para ver los latidos del corazón?

Esto es lo que puede hacer si tiene problemas para detectar los latidos del corazón.

  1. Si sujetas el sensor con demasiada fuerza, exprimirás toda la sangre de tus dedos y ¡no habrá ninguna señal! Si lo mantiene demasiado ligero, se producirá ruido debido al movimiento y la luz ambiental. La presión del punto de soldadura (ni demasiado fuerte ni demasiado suave) en el sensor de pulso produce una señal buena y clara.
  2. Las fluctuaciones de presión pueden afectar el flujo sanguíneo al dedo y provocar lecturas inexactas del sensor. Intente mantener la presión constante fijando el sensor a su dedo con una banda elástica u otro dispositivo tensor.
  3. Pruebe el sensor en diferentes partes de su cuerpo que tengan tejido capilar (por ejemplo, el lóbulo de la oreja o el labio inferior).
  4. Intente ajustar el umbral. Puede elegir libremente un valor para el umbral entre 0 y 1023, pero se recomienda ajustarlo en incrementos de 5 o 10. Bajar el umbral hace que el sensor sea más sensible y viceversa. Intente experimentar con diferentes umbrales hasta que encuentre uno que funcione mejor.

Ejemplo 2 de Arduino: representación del latido del corazón

El anterior EmpezandoProyecto Sketch está diseñado para usarse con Arduino Serial Plotter, una herramienta útil incluida en Arduino IDE para visualizar señales analógicas en tiempo real.

Navegue hasta mientras se ejecuta el boceto y su placa Arduino está conectada a su computadora a través de USB trazador > Trazador de serie

Es posible que la señal tarde un poco en estabilizarse, pero una vez que lo haga deberías ver algo similar.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Siente el pulso de tu muñeca y observa cómo imita los impulsos.

Ejemplo 3 de Arduino: medición de la frecuencia cardíaca (BPM)

En nuestro tercer ejemplo, intentaremos medir la frecuencia cardíaca (Latidos por minuto o BPM). Descargar el Cómo_obtener_BPM_para_monitorizar Ejemplo del menú de muestra PulseSensor Playground en su IDE de Arduino.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Este boceto calcula el tiempo entre pulsos para determinar la frecuencia cardíaca y envía el resultado al monitor en serie.

Advertencia:

Dado que este boceto detecta la frecuencia cardíaca visualmente, pueden producirse resultados incorrectos. NO LO USE PARA DIAGNÓSTICO MÉDICO REAL.

#define USE_ARDUINO_INTERRUPTS true    // Set-up low-level interrupts for most acurate BPM math
#include <PulseSensorPlayground.h>     // Includes the PulseSensorPlayground Library

const int PulseWire = 0;       // 'S' Signal pin connected to A0
const int LED13 = 13;          // The on-board Arduino LED
int Threshold = 550;           // Determine which Signal to "count as a beat" and which to ignore
                               
PulseSensorPlayground pulseSensor;  // Creates an object

void setup() {
	Serial.begin(9600);

	// Configure the PulseSensor object, by assigning our variables to it
	pulseSensor.analogInput(PulseWire);   
	pulseSensor.blinkOnPulse(LED13);       // Blink on-board LED with heartbeat
	pulseSensor.setThreshold(Threshold);   

	// Double-check the "pulseSensor" object was created and began seeing a signal
	if (pulseSensor.begin()) {
		Serial.println("PulseSensor object created!");
	}
}

void loop() {
	int myBPM = pulseSensor.getBeatsPerMinute();      // Calculates BPM

	if (pulseSensor.sawStartOfBeat()) {               // Constantly test to see if a beat happened
		Serial.println("♥  A HeartBeat Happened ! "); // If true, print a message
		Serial.print("BPM: ");
		Serial.println(myBPM);                        // Print the BPM value
		}

	delay(20);
}

Las medidas no tienen sentido inmediatamente después de cargar el boceto. Por lo tanto, trate de mantener el dedo lo más quieto posible mientras espera. Verás algo como esto.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Visualizador de procesamiento

Los desarrolladores del sensor de pulso han desarrollado un software para visualizar los datos del sensor de pulso en su computadora. Está en el Lenguaje de programación de procesos. Este software muestra todos los datos que el Arduino recibe del sensor de pulso. Registra la frecuencia cardíaca del usuario en tiempo real. También muestra los BPM (latidos por minuto) y registra el IBI (intervalo entre latidos) a lo largo del tiempo.

¡Este boceto de procesamiento no realiza ningún cálculo! Todos ellos se crean en la placa Arduino. Entonces, para usar el visualizador necesitas un Arduino ejecutando el visualizador. Sensor de pulso_BPM bosquejo. Este software simplemente lee el puerto serie y visualiza los datos.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Subir boceto

Buscar Sensor de pulso_BPM en el archivo > Ejemplos > Parque infantil PulseSensor Menú de muestra y cárguelo en su IDE de Arduino.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Antes de ejecutar el boceto PulseSensor_BPM, debe cambiar una variable llamada outputType en el código Arduino para que su placa Arduino pueda comunicarse con el visualizador. Está puesto SERIAL_PLOTTER Por defecto. Necesita ser cambiado PROCESSING_VISUALIZER.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Ahora sube el boceto de Arduino. ¡Su tablero debería estar listo para enviar datos en el formato que prefiera el Visualizador de procesamiento!

instalación

Descargue el código de procesamiento de GitHub. Descomprime la descarga y colócala. PulseSensorAmpd_Processing_Visualizer Carpeta en su carpeta Documentos/Procesamiento.

Luego inicie Processing para acceder al código desde su carpeta Sketch. Haga clic en archivo > Bloc de dibujo…entonces escoge PulseSensorAmped_Processing_Visualizador

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Configuración

Una vez que comience el boceto, se le pedirá que seleccione el puerto USB al que está conectada su placa Arduino. Si tu Arduino no aparece, úsalo Actualizar puertos serie Haga clic en el botón para actualizar la lista de puertos.

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

Una vez que seleccione el puerto correcto, se mostrarán los datos de los latidos.

Características

Mientras se ejecuta el boceto, puedes hacer algunas cosas:

  1. Presione la tecla «s» para tomar una captura de pantalla de la ventana del programa. La imagen se guardará como .jpg en la carpeta de bocetos.
  2. Presione la tecla «r» para restablecer las ventanas de datos a cero.
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino

El Sensor de Pulso es un sensor de frecuencia cardíaca de bajo consumo y plug-and-play diseñado para el Arduino. Cualquier persona que quiera incorporar datos de frecuencia cardíaca en tiempo real en su trabajo—estudiantes, artistas, atletas, creadores y desarrolladores de juegos y aplicaciones móviles—puede beneficiarse de este sensor.

¿Qué es el Sensor de Pulso?

El mejor parte es que este sensor se conecta directamente al Arduino y se coloca fácilmente en la punta de un dedo o lóbulo de la oreja. También es muy pequeño (en forma de botón) y tiene agujeros para coserlo en tela.

¿Sabías que el Pulse Sensor es un dispositivo de código abierto desarrollado por PulseSensor.com? Comenzaron en 2011 como un proyecto de Kickstarter. En 2013, 491 patrocinadores aportaron $18,418 para ayudar a que este proyecto se hiciera realidad.

Información Técnica

El Sensor de Pulso requiere un suministro de energía de CC de 3.3 a 5V y consume menos de 4 mA de corriente. Además, tiene un LED verde y un sensor de luz ambiente para una detección precisa de la frecuencia cardíaca.

Funcionamiento

El sensor de pulso funciona emitiendo luz verde sobre el dedo y midiendo la cantidad de luz reflejada con un fotosensor. Este esquema de detección óptica se conoce como fotopletismograma.

La hemoglobina oxigenada en la sangre arterial tiene la propiedad de absorber la luz verde. Con cada latido, la sangre es bombeada a través del dedo, causando un cambio en la cantidad de luz reflejada, lo que produce una forma de onda en la salida del fotosensor.

Conexión a Arduino

Conectar el Sensor de Pulso a un Arduino es sencillo. Solo necesitas conectar tres cables: dos para la alimentación y uno para leer el valor del sensor. El pinout del sensor viene con tres alambres macho que se conectan al Arduino.

  1. Señal (Signal): Conecta al pin de entrada analógica del Arduino.
  2. Positivo (VCC): Conecta a 3,3 o 5V.
  3. Negativo (GND): Conecta a tierra.

Para más información técnica detallada, puedes consultar el sitio web oficial del Pulse Sensor.

Ejemplos de Proyectos

El Sensor de Pulso viene con varios ejemplos de proyectos que puedes probar con tu Arduino. Desde medir tu ritmo cardíaco hasta visualizar tu frecuencia cardíaca en tiempo real, las posibilidades son infinitas.

Recuerda siempre seguir las indicaciones de seguridad al utilizar este sensor. Si experimentas dificultades para ver tu ritmo cardíaco, siempre puedes ajustar la presión o probar en diferentes partes del cuerpo.

Con el Sensor de Pulso y Arduino, ¡nunca había sido tan fácil monitorizar tu frecuencia cardíaca en tiempo real!

1 comentario en «Monitoriza tu frecuencia cardíaca con sensor de pulso y Arduino»

Deja un comentario