MAX30102 Heart rate Sensor

TZT MAX30102 Heart rate Sensor Module Puls detection Blood oxygen concentration test For Arduino Ultra-Low Power


35 ₪

الناشر: متجر القطع الالكترونية

القسم: مستشعرات - سينسور

تاريخ النشر: 2025-03-28





MAX30102 Heart rate Sensor to esp32 circuit:



lib





code MAX30102 on esp32:

code
نسخ
اقتباس
عرض
تنزيل
	
								
#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; //Current BPM value int beatAvg; //Average BPM value void setup() { Serial.begin(9600); Serial.println("Initializing..."); // Initialize sensor if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) //Use default I2C port, 400kHz speed { Serial.println("MAX30102 was not found. Please check wiring/power. "); while (1) ; //Infinite loop to stop the program } 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) { //Calculate beatsPerMinute long delta = millis() - lastBeat; lastBeat = millis(); beatsPerMinute = 60 / (delta / 1000.0); if (beatsPerMinute < 255 && beatsPerMinute > 20) { //Check if the BPM value is within a valid range 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; } } //Print the IR value, current BPM value, and average BPM value to the serial monitor Serial.print("IR="); Serial.print(irValue); Serial.print(", BPM="); Serial.print(beatsPerMinute); Serial.print(", Avg BPM="); Serial.print(beatAvg); Serial.print(", current BPM="); Serial.print(irValue/2000); if (irValue < 50000) Serial.print(" No finger?"); Serial.println(); }


عرض السلة (تأكيد الشراء) افراغ السلة
اتمام الشراء