Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100

Composants et fournitures

Arduino UNO ×1
Capteur Pulse Oximeter & Fréquence Cardiaque MAX30100 (ProtoCentral) ×1
Câble USB-A vers Micro-USB ×1
Fils de connexion (jumper wires) ×1

Applications et services en ligne

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

À propos de ce projet

Dans ce projet, nous allons réaliser un système de détection et surveillance des battements cardiaques utilisant Arduino. Le capteur à pouls détecte les battements et affiche les mesures en BPM (battements par minute). Après quelques jours d'expérimentation avec Node.js, nous avons développé ce prototype qui affiche la fréquence cardiaque en temps réel via un capteur à pouls infrarouge.

Pour ce projet, vous pouvez utiliser votre PC, Mac ou Raspberry Pi.

Les étapes sont détaillées ci-dessous.

1) Préparation de l'Arduino

Téléversez le croquis fourni dans l'Arduino et assurez-vous de recevoir les données dans le Moniteur Série :

Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100

2) Installer Node.js

Installez Node.js sur votre PC / Mac / Linux / Raspberry Pi :

3) Installer les packages Node.js requis

Exécutez les commandes suivantes dans le terminal :

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

4) Exécuter les scripts

Pour le rendre accessible sur Internet, il faut configurer Amazon Web Services (AWS).

5) Configuration d'Amazon Web Services (AWS)

  1. Créez un compte ou connectez-vous à AWS.
  2. Allez dans le module EC2.
  3. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  4. Cliquez sur « Launch Instance ».
  5. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  6. Sélectionnez un OS.
  7. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  8. Cliquez sur « Review and Launch ».
  9. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  10. Cliquez sur « Launch », créez une nouvelle paire de clés et téléchargez-la (fichier .pem pour l'accès SSH futur).
  11. Cliquez sur « Launch Instance ».
  12. Sélectionnez les services indiqués et cliquez sur « Connect ».
  13. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  14. Une URL et un lien SSH s'affichent.
  15. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  16. Allez dans le dossier où se trouve la clé téléchargée, ouvrez un terminal et collez le lien SSH pour vous connecter.
  17. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  18. Répétez les étapes 2, 3 et 4 sur l'instance EC2.
  19. Fermez le terminal, reconnectez-vous via les services EC2 et utilisez l'URL fournie pour accéder à l'interface via Internet.
  20. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100

La vidéo

C'est fini !

Code

IR_Pulsr.ino Arduino

Code à téléverser dans l'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;
  Serial.print(BPM);
  Serial.println(" BPM");
  Serial.flush();
}

run.js JavaScript (Node.js)

Établit la connexion entre les données série et le serveur :

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) {
  io.sockets.emit('map', data);
});
serialPort.on('open', function() {
  console.log('Communication is on!');
});

page.html HTML

Page Web affichant les battements par minute :

<!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");
    socket.on('map', function(data) {
      socket_1.emit('map', data);
      document.getElementById('hello').innerHTML = data;
    });
  </script>
</body>
</html>

Schémas

Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100

Processus de fabrication

  1. Lire les pulsations cardiaques avec Windows 10 IoT Core sur Raspberry Pi – Guide étape par étape
  2. Système de surveillance cardiaque à distance avec alertes AWS IoT
  3. Révolutionner l'apiculture : Capteurs IoT surveillent la santé des ruches et boostent la pollinisation des cultures
  4. Créer un système Ambilight spectaculaire pour moniteur avec Arduino
  5. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  6. Contrôle IoT à Distance d'un Bras Robotique Personnalisé avec Arduino MKR1000
  7. Construire un Capteur de Rythme Cardiaque Infrarouge Fiable avec Arduino : Guide Étape par Étape
  8. Bocal Intelligent IoT avec ESP8266, Arduino et Capteur Ultrasonique – Surveillance Temps Réel
  9. Capteurs de fréquence cardiaque intégrés dans les vêtements intelligents : surveillance portable fiable