Construye un Sensor de Ritmo Cardíaco por Infrarrojos Fiable con Arduino: Guía Paso a Paso
Componentes y Suministros
| Arduino UNO | ×1 |
| Emisor IR (genérico) | ×1 |
| Receptor IR (genérico) | ×1 |
| Cable USB-A a Mini-USB | ×1 |
Aplicaciones y Servicios en Línea
- Arduino IDE
Sobre el Proyecto
Origen del Proyecto
El brote de coronavirus ha disparado la demanda de instrumentos médicos (ventiladores, etc.), creando escasez. Hay necesidad urgente de equipos más baratos. Este sensor de latidos DIY cuesta menos de 15 dólares y detecta latidos cardíacos trazándolos en tiempo real. Solo hay que colocar el dedo en el sensor.
Principio de Funcionamiento
El funcionamiento se basa en la opacidad diferencial de un objeto (el dedo) según el fluido en su interior (sangre). Cuando el corazón bombea, hay más sangre en vasos del dedo → más opaco. Cuando la sangre retrocede, menos sangre → menos opaco. Midiendo la opacidad del dedo trazamos su curva, que varía con la cantidad de sangre.
Para medir usamos emisor y receptor IR.
El emisor IR ilumina el dedo continuamente: parte se absorbe, parte refleja, parte transmite. Necesitamos trazar datos con la pequeña luz transmitida (la que atraviesa). El detector al otro lado detecta esta luz transmitida. Su intensidad varía con la sangre en el dedo, así que trazando valores del detector obtenemos el gráfico en tiempo real del latido.
El gráfico de salida se ve en el Serial Plotter de Arduino IDE.
Precisión: Filtrado de Valores Basura
Eliminamos error por radiación IR ambiental (emitida por muchos objetos, ¡incluso nosotros!). El Arduino calcula la lectura basura media previa y la resta para obtener valores precisos. Código:
// Calcular suma lecturas basura ambiental 5 veces para eliminarlas después
for(int i=0; i<5; i++) {
reading = reading + analogRead(A0);
}
reading_final = reading / 5; // Promedio lectura basura
delay(100);
Heart_rate = analogRead(A0) - reading_final; // Valor final preciso
Luego se traza la variable Heart_Rate.
Montaje Hardware del Sensor
El sensor consiste en emisor y receptor IR. Esquemático de cableado:
Montaje final:
Salida
Video demostración: Ver en Google Drive. Se ve el gráfico en tiempo real de mi latido.
Truco si no tienes los componentes:
Un mando IR de TV u otro dispositivo puede servir como emisor manteniendo un botón pulsado. Y una resistencia dependiente de luz (LDR) como receptor, ajustando su umbral para detectar IR consultando datasheets online.
Me encantaría saber de quienes probaron este proyecto. Sugerencias de mejora e ideas para nuevos proyectos son bienvenidas en comentarios.
Código
heart_Beat_sensor_101/code
Arduino
// code by YaSh
// Heart_Rate_Sensor code.
int reading = 0;
int reading_final;
int Heart_rate;
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
}
void loop() {
for(int i=0; i<5; i++) {
reading = reading + analogRead(A0);
}
reading_final = reading / 5;
delay(100);
Heart_rate = analogRead(A0) - reading_final;
Serial.println(Heart_rate);
}
Esquemáticos
Esquema para conectar receptor y emisor IR al Arduino.
Proceso de manufactura
- Corazón artificial: Tecnología, historia y perspectivas futuras
- Construya un Sensor de Movimiento Infrarrojo DIY para Raspberry Pi – Guía Paso a Paso
- Controle un LED con Sensor PIR de Movimiento en Raspberry Pi
- Transferir datos de temperatura y humedad entre dos Arduinos usando Firebase
- Construye una consola de control DIY para Photoshop con Arduino Nano RP2040
- Robot de Detección Humana con Arduino Uno: Integración de Sensores Paso a Paso
- Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
- Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
- Construye un tarro inteligente IoT con ESP8266, Arduino y sensor ultrasónico: Monitorización en tiempo real
- Construye una Torre de Sensores con Arduino Cloud: Temperatura, Movimiento y Gas
- Visualizador LED de Latidos en Tiempo Real con ECG