Description:
Heart Rate click carries Maxim’s MAX30100 integrated pulse oximetry and heart-rate sensor. It’s an optical sensor that derives its readings
from emitting two wavelengths of light from two LEDs – a red and an infrared one – then measuring the absorbance of pulsing blood through a
photodetector. This particular LED color combination is optimized for reading the data through the tip of one’s finger. The signal is
processed by a low-noise analog signal processing unit and communicated to the target MCU through the mikroBUS I2C interface. Developers of
end-user applications should note that the readings can be negatively impacted by excess motion and changes in temperature. Also, too much
pressure can constrict capillary blood flow and therefore diminish the reliability of the data. A programmable INT pin is also available. Uses
3.3V power supply.
Key features:
Optical sensor: IR and red LED combined with photodetector
Measures absorbance of pulsing blood
I2C interface plus INT pin
3.3V power supply
Key Benefits:
Motion artefact resillence
Ambient light cancellation
Ready-to-use examples save development time
Supported in all MikroElektronika compilers
Applications
Developing algorithms for pulse oximetry and heart rate readings through the tip of a finger.
Package Included : 1 X MAX30100 Heart Rate Click Oximeter Pulse Sensor Module
Diagram
#include <Wire.h>
#include “MAX30100_PulseOximeter.h”
#define REPORTING_PERIOD_MS 1000
PulseOximeter pox;
uint32_t tsLastReport = 0;
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”);
}
pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
// Register a callback for the beat detection
pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop()
{
// Make sure to call update as fast as possible
pox.update();
if (millis() – tsLastReport > REPORTING_PERIOD_MS) {
Serial.print(“Heart rate:”);
Serial.print(pox.getHeartRate());
Serial.print(“bpm / SpO2:”);
Serial.print(pox.getSpO2());
Serial.println(“%”);
tsLastReport = millis();
}
}
There are no reviews yet.