Estimados tengo un oxímetro 30100, en estos momentos estoy usando este código:
Les adjunto el código ya que supera los carácter permitidos, disculpen.
Me está entregando valores correctos, me tome el pulso y es concordante y la saturación también 95%, yo hago apnea (buceo sin estanque) por eso estoy haciendo este proyecto, hice un trabajo hipoxico y bajo perfectamente a 90%, luego hiperventilé y llego a los 99%.
El problema está que entre cada detección me "printea" muchas lineas, y quisera que fuese solo 1.
Alguna sugerencia?
Entre pulso la cantidad de lineas son variables a veces me entrega 5 luego 8, 7, etc... pero siempre en un rango de 4 a 9 por pulso
Aclaraciones
uso print, para para mostrar en pantalla de manera lineal y solo hacer salto de linea al final, ya que con python recojo los datos y en pyserial es necesario ese salto de línea y esa coma para hacer split y separar los valores.
Quedo atento.
Gracias
#include "MAX30100.h"
MAX30100* pulseOxymeter;
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("Pulse oxymeter test!");
pulseOxymeter = new MAX30100();
pinMode(2, OUTPUT);
}
void loop() {
//You have to call update with frequency at least 37Hz. But the closer you call it to 100Hz the better, the filter will work.
pulseoxymeter_t result = pulseOxymeter->update();
if( result.pulseDetected == true ){
Serial.print( result.heartBPM/100 );
Serial.print( "__" );
Serial.println( result.SaO2 );
result.pulseDetected = false;
}
}
MAX30100.cpp (12.4 KB)
MAX30100.h (7.82 KB)
max30100.ino (580 Bytes)