GY-MAX30102 Hartslag- en SpO2 sensor Aansluitschema en voorbeeldcode Voor arduino

benodigdheden

Stappen

  1. Verbind de VIN van de sensor met de 3.3V van de Arduino.
  2. Verbind de GND van de sensor met de GND van de Arduino.
  3. Verbind de SCL van de sensor met pin A5 van de Arduino.
  4. Verbind de SDA van de sensor met pin A4 van de Arduino.
  5. Kopieer de code naar de Arduino IDE.
  6. Upload de code naar uw Arduino.
  7. maak de sensor vast aan uw duim
  8. Open de Serial Plotter door in de Arduino IDE naar "Tools" te gaan en vervolgens "Serial Plotter" te selecteren.
  9. U zult nu uw hartslag in een grafiek zien

Aansluitschema

Voorbeeldcode


    /*
  MAX30102- Heart Rate Pulse Detection-Module
  Home

  Based on Arduino Library Example
*/
#include 
#include "MAX30105.h"

MAX30105 particleSensor;

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);
  }

  //Setup to sense a nice looking saw tooth on the plotter
  byte ledBrightness = 0x1F; //Options: 0=Off to 255=50mA
  byte sampleAverage = 8; //Options: 1, 2, 4, 8, 16, 32
  byte ledMode = 3; //Options: 1 = Red only, 2 = Red + IR, 3 = Red + IR + Green
  int sampleRate = 100; //Options: 50, 100, 200, 400, 800, 1000, 1600, 3200
  int pulseWidth = 411; //Options: 69, 118, 215, 411
  int adcRange = 4096; //Options: 2048, 4096, 8192, 16384

  particleSensor.setup(ledBrightness, sampleAverage, ledMode, sampleRate, pulseWidth, adcRange); //Configure sensor with these settings

  //Arduino plotter auto-scales annoyingly. To get around this, pre-populate
  //the plotter with 500 of an average reading from the sensor

  //Take an average of IR readings at power up
  const byte avgAmount = 64;
  long baseValue = 0;
  for (byte x = 0 ; x < avgAmount ; x++)
  {
    baseValue += particleSensor.getIR(); //Read the IR value
  }
  baseValue /= avgAmount;

  //Pre-populate the plotter so that the Y scale is close to IR values
  for (int x = 0 ; x < 500 ; x++)
    Serial.println(baseValue);
}

void loop()
{
  Serial.println(particleSensor.getIR()); //Send raw data to plotter
}