GY-MAX30102 Hartslag- en SpO2 sensor Aansluitschema en voorbeeldcode Voor arduino
benodigdheden
Stappen
- Verbind de VIN van de sensor met de 3.3V van de Arduino.
- Verbind de GND van de sensor met de GND van de Arduino.
- Verbind de SCL van de sensor met pin A5 van de Arduino.
- Verbind de SDA van de sensor met pin A4 van de Arduino.
- Kopieer de code naar de Arduino IDE.
- Upload de code naar uw Arduino.
- maak de sensor vast aan uw duim
- Open de Serial Plotter door in de Arduino IDE naar "Tools" te gaan en vervolgens "Serial Plotter" te selecteren.
- 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
}