Hi All,
Can someone guide and help to adjust my coding. Actually i doing a project to detect heart rate,spo2 and temperature. My problem is how i can use “BUZZER TO ALERT MY DATA”.
-WHEN TEMPERATURE MORE THAN 38 AND BELOW THAN 37 THE BUZZER WILL ALERT WITH SOUND
-WHEN SPO2 READING LESS THAN 98 BUZZER WILL ALERT WITH SOUND
-WHEN HEART RATE READING MORE THAN 140 AND LESS THAN 80 BUZZER WILL ALERT WITH SOUND
Please help me where is the correct codding to add at below data:
#include <Wire.h>
#include “MAX30100_PulseOximeter.h”
#define REPORTING_PERIOD_MS 1000
// PulseOximeter is the higher level interface to the sensor
// it offers:
// * beat detection reporting
// * heart rate calculation
// * SpO2 (oxidation level) calculation
PulseOximeter pox;
uint8_t tempPin = 1; //<---------This is the PIN the LM53 is connected! CHANGE accordingly
uint16_t val;
uint32_t tsLastReport = 0;
// Callback (registered below) fired when a pulse is detected
void onBeatDetected()
{
Serial.println(“Beat!”);
}
void setup()
{
Serial.begin(115200);
Serial.print(“Initializing pulse oximeter…”);
// Initialize the PulseOximeter instance
// Failures are generally due to an improper I2C wiring, missing power supply
// or wrong target chip
if (!pox.begin()) {
Serial.println(“FAILED”);
for (; ; );
} else {
Serial.println(“SUCCESS”);
}
// The default current for the IR LED is 50mA and it could be changed
// by uncommenting the following line. Check MAX30100_Registers.h for all the
// available options.
// pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
// Register a callback for the beat detection
pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop()
{
analogRead(tempPin);
val = analogRead(tempPin);
float mv = ( val / 1024.0) * 5000;
float cel = mv / 10;
// Make sure to call update as fast as possible
pox.update();
// Asynchronously dump heart rate and oxidation levels to the serial
// For both, a value of 0 means “invalid”
if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
Serial.print(“Heart rate:”);
Serial.print(pox.getHeartRate());
Serial.print(“bpm / SpO2:”);
Serial.print(pox.getSpO2());
Serial.println("%");
Serial.print(“TEMPRATURE = “);
Serial.print(cel);
Serial.print(”*C”);
Serial.println();
/* uncomment this to get temperature in farenhite
float farh = (cel*9)/5 + 32;
Serial.print(“TEMPRATURE = “);
Serial.print(farh);
Serial.print(”*F”);
Serial.println();
*/
tsLastReport = millis();
}
}