Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100

Componentes y materiales

Arduino UNO × 1
Sensor de oximetría de pulso y frecuencia cardíaca MAX30100 (ProtoCentral) × 1
Cable USB-A a Micro-USB × 1
Cables jumper (genéricos) × 1

Aplicaciones y servicios en línea

Arduino IDE
Node.js
Amazon Web Services (AWS) EC2

Sobre el proyecto

En este proyecto vamos a crear un Sistema de Detección y Monitorización de Latidos Cardíacos usando Arduino que detectará el pulso mediante el sensor de pulso y mostrará las lecturas en LPM (Latidos Por Minuto). Hace unos días nos sentimos aburridos, vimos algo sobre Node.js y pensamos en implementar algo con ello... y finalmente resultó en el desarrollo de este prototipo que muestra la frecuencia cardíaca en latidos por minuto usando un sensor de pulso IR.

Para este proyecto puedes usar tu PC, Mac o tu Raspberry Pi.

Los pasos para hacerlo se detallan a continuación.

1) Preparación de Arduino

Sube el sketch proporcionado a Arduino y asegúrate de recibir datos en el Monitor Serial:

Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100

2) Instalar Node.js

Instala Node.js en tu PC / Mac / Linux / Raspberry Pi:

Para Mac:

brew install nodejs

Para Linux / Raspberry Pi:

sudo apt-get install nodejs

3) Instalar paquetes requeridos para Node.js

Ejecuta los siguientes comandos en tu terminal para instalar los paquetes:

npm install -g socket.io
npm install -g serialport
npm install -g johnny-five
npm install -g express

4) Ejecutar los scripts

node run.js

Para visualizarlos a través de internet necesitas configurar Amazon Web Services (AWS).

5) Configurar Amazon Web Services (AWS)

Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100

El vídeo

¡El final!

Código

IR_Pulsr.ino Arduino

Este es el código que debe subirse al Arduino.

int UpperThreshold = 518;
int LowerThreshold = 490;
int reading = 0;
float BPM = 0.0;
bool IgnoreReading = false;
bool FirstPulseDetected = false;
unsigned long FirstPulseTime = 0;
unsigned long SecondPulseTime = 0;
unsigned long PulseInterval = 0;

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

void loop() {
  reading = analogRead(0);
  if(reading > UpperThreshold && IgnoreReading == false) {
    if(FirstPulseDetected == false) {
      FirstPulseTime = millis();
      FirstPulseDetected = true;
    } else {
      SecondPulseTime = millis();
      PulseInterval = SecondPulseTime - FirstPulseTime;
      FirstPulseTime = SecondPulseTime;
    }
    IgnoreReading = true;
  }
  if(reading < LowerThreshold) {
    IgnoreReading = false;
  }
  BPM = (1.0 / PulseInterval) * 60.0 * 1000;
  // Descomenta estas líneas si quieres ver los valores en la consola
  /*
  Serial.print(reading);
  Serial.print("\t");
  Serial.print(PulseInterval);
  Serial.print("\t");
  */
  Serial.print(BPM);
  Serial.println(" BPM");
  Serial.flush();
}

run.js JavaScript

Este archivo contiene el código para establecer la conexión entre los datos seriales y el servidor.

var SerialPort = require('serialport');
var Readline = SerialPort.parsers.Readline;
var express = require('express');
var socket = require('socket.io');
var app = express();
var server = app.listen(3005);
app.use(express.static('public'));
var io = socket(server);
io.on('connection', function(socket) {
  console.log(socket.id);
});
var serialPort = new SerialPort('/dev/tty.usbmodem1421', { baudRate: 9600 });
var parser = new Readline();
serialPort.pipe(parser);
parser.on('data', function (data) {
  // console.log('data received: ' + data);
  io.sockets.emit('map', data);
});
serialPort.on('open', function () {
  console.log('Communication is on!');
});

page.html HTML

Esta es la página web que mostrará el número de latidos por minuto.

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <script src='nerve.js'></script>
  <script src='speech.js'></script>
  <meta name="viewport" content="user-scalable=no,initial-scale=1,maximum-scale=1" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.0/socket.io.dev.js"></script>
  <title></title>
  <style>
    body { margin: 0; background-image: url('https://www.skipprichard.com/wp-content/uploads/2015/07/bigstock-Red-Heart-On-Wooden-Background-56485448.jpg'); }
    h1 { padding-top: 100px; font-family: monospace; text-align: center; font-size: 100px; }
  </style>
</head>
<body>
  <h1 id="hello"></h1>
  <script>
    var socket = io.connect("https://localhost:3005");
    var socket_1 = io.connect("https://ec2-18-220-142-52.us-east-2.compute.amazonaws.com:4000"); // Pon aquí el enlace generado por AWS
    socket.on('map', function(data) {
      // console.log(data);
      socket_1.emit('map', data);
      document.getElementById('hello').innerHTML = data;
    });
  </script>
</body>
</html>

Esquemáticos

Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100

Proceso de manufactura

  1. Leer pulsos de frecuencia cardíaca con Windows 10 IoT Core en Raspberry Pi: guía paso a paso
  2. Sistema de Monitorización Remota de Frecuencia Cardíaca con Alertas AWS IoT
  3. Crea un Impresionante Sistema Ambilight para Monitor con Arduino
  4. Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
  5. Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
  6. Construye un Sensor de Ritmo Cardíaco por Infrarrojos Fiable con Arduino: Guía Paso a Paso
  7. Construye un tarro inteligente IoT con ESP8266, Arduino y sensor ultrasónico: Monitorización en tiempo real
  8. Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso
  9. Construye una Radio FM Compacta con Arduino Nano y RDA5807M
  10. Sensores de Frecuencia Cardíaca Integrados en Ropa Inteligente: Monitorización Fiable
  11. Revolucionando la apicultura: Sensores IoT monitorizan la salud de la colmena y potencian la polinización de cultivos