Out Of Stock
Description
>
Pulse oximetry monitors the oxygen saturation in blood by measuring the magnitude of reflected red and infrared light. Pulse oximeters can also approximate heart rate by analyzing the time series response of the reflected red and infrared light. The MAX30102 pulse oximeter is an Arduino-compatible and inexpensive sensor that permits calculation of heart rate using the oxygen saturation in the blood.
Module Specifications:
- Voltage: 3.3V-5V
- Current: 6mA Max Consumption
- Sampling Rate: 50Hz - 3200Hz
- Resolution: 18-bit ADC
- Communication: I2C
- Arduino Compatible
Parameters:
- LED peak wavelength: 660nm/880nm
- LED power supply voltage: 3.3~5v
- Detection Signal Type: Optical Reflection Signal (PPG)
- Output Signal Interface: I2C Interface
- Communication Interface Voltage: 1.8 ~ 5V
Interface:
- VIN: Main power input, 1.8V-2.5V
- 3-bit pad: I2C bus pull up a level, you can choose 1.8V or 3.3V according to the pin master voltage.
- SCL: I2C bus clock
- SDA: connected to the I2C bus data
- INT: MAX chip interrupt pin
- RD: MAX30102 chip’s RD LED grounding terminal, generally doesn’t need to connect
- IRD: MAX30102 chip’s IR LED grounding terminal, generally doesn’t need to connect
- GND: grounding wire
Read the Max30102 Datasheet from Here.
The MAX30102 sensor will be introduced and the red and infrared reflection data will be used to calculate parameters such as heart rate and oxygen saturation in the blood.
How to connect MAX30102 with Arduino:
Arduino Code for MAX30102:
First, we need to download the Sensor Arduino Library to the Arduino IDE Click Here to Download
and now open the Serial Plotter in Arduino IDE tools and watch the output.#include
#include "MAX30105.h"MAX30105 particleSensor; // initialize MAX30102 with I2C
void setup()
{
Serial.begin(115200);
while(!Serial); //We must wait for Teensy to come online
delay(100);
Serial.println("");
Serial.println("MAX30102");
Serial.println("");
delay(100);
// Initialize sensor
if (particleSensor.begin(Wire, I2C_SPEED_FAST) == false) //Use default I2C port, 400kHz speed
{
Serial.println("MAX30105 was not found. Please check wiring/power. ");
while (1);
}byte ledBrightness = 70; //Options: 0=Off to 255=50mA
byte sampleAverage = 1; //Options: 1, 2, 4, 8, 16, 32
byte ledMode = 2; //Options: 1 = Red only, 2 = Red + IR, 3 = Red + IR + Green
int sampleRate = 400; //Options: 50, 100, 200, 400, 800, 1000, 1600, 3200
int pulseWidth = 69; //Options: 69, 118, 215, 411
int adcRange = 16384; //Options: 2048, 4096, 8192, 16384particleSensor.setup(ledBrightness, sampleAverage, ledMode, sampleRate, pulseWidth, adcRange); //Configure sensor with these settings
}void loop() {
particleSensor.check(); //Check the sensor
while (particleSensor.available()) {
// read stored IR
Serial.print(particleSensor.getFIFOIR());
Serial.print(",");
// read stored red
Serial.println(particleSensor.getFIFORed());
// read next set of samples
particleSensor.nextSample();
}
}