Wish List 0

Max30102 Pulse Oximeter Heart Rate Sensor Module I2C Interface

Rs. 81.00 Rs. 94.00

-The MAX30102 provides a whole gadget option to ease the design-in technique for cell and wearable devices.
-The MAX30102 operates on a unmarried 1.8V strength supply and a separate 5.0V electricity supply for the internal LEDs.
-Communication is thru a fashionable I2C-well matched interface.
-The module can be shut down thru software with 0 standby modern-day, allowing the energy rails to stay powered always.
-The coronary heart charge oximetry module made with the MAX30102 is an upgraded version of the MAX30100 that can be used to degree coronary heart price oximetry on the wrist.
-It may be carried out to smart wear fields which includes sports activities watches.

Features:
-Highly-integrated, small-size sensor
-Non-chest based heart-rate/SpO2 detection
-Ultra-low power consumption
-Size: 12.7mm x 12.7mm


SPECIFICATIONS:

-Highly-integrated, small-size sensor

-Non-chest based heart-rate/SpO2 detection

-Ultra-low power consumption


OVERVIEW:

-Highly-integrated, small-size sensor

-Non-chest based heart-rate/SpO2 detection

-Ultra-low power consumption


PACKAGE INCLUDES:

1 PCS x Max30102 Pulse Oximeter Heart Rate Sensor Module I2C



//SOURCE CODE TAKEN FROM BELOW LINK

//http://www.esp32learning.com/code/max30102-pulse-oximetry-and-heart-rate-monitor-sensor-and-esp32.php

#include <Wire.h>

#include "MAX30105.h"

 

#include "heartRate.h"

 

MAX30105 particleSensor;

 

const byte RATE_SIZE = 4; //Increase this for more averaging. 4 is good.

byte rates[RATE_SIZE]; //Array of heart rates

byte rateSpot = 0;

long lastBeat = 0; //Time at which the last beat occurred

 

float beatsPerMinute;

int beatAvg;

 

void setup()

{

Serial.begin(115200);

Serial.println("Initializing...");

 

// Initialize sensor

if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) //Use default I2C port, 400kHz speed

{

Serial.println("MAX30105 was not found. Please check wiring/power. ");

while (1);

}

Serial.println("Place your index finger on the sensor with steady pressure.");

 

particleSensor.setup(); //Configure sensor with default settings

particleSensor.setPulseAmplitudeRed(0x0A); //Turn Red LED to low to indicate sensor is running

particleSensor.setPulseAmplitudeGreen(0); //Turn off Green LED

}

 

void loop()

{

long irValue = particleSensor.getIR();

 

if (checkForBeat(irValue) == true)

{

//We sensed a beat!

long delta = millis() - lastBeat;

lastBeat = millis();

 

beatsPerMinute = 60 / (delta / 1000.0);

 

if (beatsPerMinute < 255 && beatsPerMinute > 20)

{

rates[rateSpot++] = (byte)beatsPerMinute; //Store this reading in the array

rateSpot %= RATE_SIZE; //Wrap variable

 

//Take average of readings

beatAvg = 0;

for (byte x = 0 ; x < RATE_SIZE ; x++)

beatAvg += rates[x];

beatAvg /= RATE_SIZE;

}

}

 

Serial.print("IR=");

Serial.print(irValue);

Serial.print(", BPM=");

Serial.print(beatsPerMinute);

Serial.print(", Avg BPM=");

Serial.print(beatAvg);

 

if (irValue < 50000)

Serial.print(" No finger?");

 

Serial.println();

}

15 days

Write a review

Please login or register to review