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

Station de surveillance santé intelligente : Arduino, Bluetooth et capteurs

Composants et fournitures

Arduino UNO × 1
Fils de connexion (génériques) × 1
Capteur de température et humidité DHT11 (3 broches) × 1
Capteur de température × 1
Résistance 10 kΩ × 2
Module Bluetooth HC-05 × 1
Capteur de fréquence cardiaque × 1

Applications et services en ligne

À propos du projet

Ce système électronique câblé, combinant capteurs et application mobile, offre une méthode simple pour surveiller l'état de santé et les paramètres environnementaux.

Code

Code C/C++

#include <SoftwareSerial.h>
#include <cactus_io_AM2302.h>
#define AM2302_PIN 7
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
AM2302 dht(AM2302_PIN);
SoftwareSerial Bluetooth(10, 9);
String Data;
int pulsePin = 0;
int blinkPin = 13;
volatile int BPM;
volatile int Signal;
volatile int IBI = 600;
volatile boolean Pulse = false;
volatile boolean QS = false;
volatile int rate[10];
volatile unsigned long sampleCounter = 0;
volatile unsigned long lastBeatTime = 0;
volatile int P = 512;
volatile int T = 512;
volatile int thresh = 512;
volatile int amp = 100;
volatile boolean firstBeat = true;
volatile boolean secondBeat = false;

void interruptSetup() {
  TCCR2A = 0x02;
  TCCR2B = 0x06;
  OCR2A = 0X7C;
  TIMSK2 = 0x02;
  sei();
}

ISR(TIMER2_COMPA_vect) {
  cli();
  Signal = analogRead(pulsePin);
  sampleCounter += 2;
  int N = sampleCounter - lastBeatTime;
  if (Signal < thresh && N > (IBI / 5) * 3) {
    if (Signal < T) {
      T = Signal;
    }
  }
  if (Signal > thresh && Signal > P) {
    P = Signal;
  }
  if (N > 250) {
    if ((Signal > thresh) && (Pulse == false) && (N > (IBI / 5) * 3)) {
      Pulse = true;
      digitalWrite(blinkPin, HIGH);
      IBI = sampleCounter - lastBeatTime;
      lastBeatTime = sampleCounter;
      if (secondBeat) {
        secondBeat = false;
        for (int i = 0; i <= 9; i++) {
          rate[i] = IBI;
        }
      }
      if (firstBeat) {
        firstBeat = false;
        secondBeat = true;
        sei();
        return;
      }
      word runningTotal = 0;
      for (int i = 0; i <= 8; i++) {
        rate[i] = rate[i + 1];
        runningTotal += rate[i];
      }
      rate[9] = IBI;
      runningTotal += rate[9];
      runningTotal /= 10;
      BPM = 60000 / runningTotal;
      QS = true;
    }
  }
  if (Signal < thresh && Pulse == true) {
    digitalWrite(blinkPin, LOW);
    Pulse = false;
    amp = P - T;
    thresh = amp / 2 + T;
    P = thresh;
    T = thresh;
  }
  if (N > 2500) {
    thresh = 512;
    P = 512;
    T = 512;
    lastBeatTime = sampleCounter;
    firstBeat = true;
    secondBeat = false;
  }
  sei();
}

void setup() {
  Bluetooth.begin(9600);
  Serial.begin(9600);
  dht.begin();
  sensors.begin();
  interruptSetup();
}

void loop() {
  sensors.requestTemperatures();
  dht.readHumidity();
  dht.readTemperature();
  if (isnan(dht.humidity) || isnan(dht.temperature_C)) {
    return;
  }
  if (QS == true) {
    Serial.print(sensors.getTempCByIndex(0));
    Serial.print(" ");
    Serial.print(dht.temperature_C);
    Serial.print(" ");
    Serial.print(dht.humidity);
    Serial.print(" ");
    Serial.println(BPM);
    Bluetooth.print(sensors.getTempCByIndex(0));
    Bluetooth.print(" ");
    Bluetooth.print(dht.temperature_C);
    Bluetooth.print(" ");
    Bluetooth.print(dht.humidity);
    Bluetooth.print(" ");
    Bluetooth.println(BPM);
    QS = false;
  }
  delay(1500);
}

Code pour IDE Arduino : GitHub

Schémas

Plusieurs schémas de câblage sont disponibles dans le projet original.

Processus de fabrication

  1. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  2. Surveillance de température professionnelle sur Raspberry Pi avec DS18B20
  3. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  4. Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
  5. Surveillance précise de la température dans un placard serveur avec Raspberry Pi
  6. Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
  7. Construire un moniteur de température domestique avec Raspberry Pi, MCP9808, InfluxDB et Grafana
  8. Nouveau module température A6630 enrichit le moniteur santé machines CSI 6500 avec insights vibration & température
  9. Capteur température palier de précision : détection et surveillance précises