Arduino + max30102 + DSP = SpO2
Una vez que vi un oxímetro en Ali, me pregunté cómo funcionaba. Y cuando lo descubrí, me sorprendió su sencillez y decidí repetirlo.
Habiéndolo descubierto un poco, resultó no ser tan difícil y, como resultado, llegó a los siguientes módulos:
módulo de medición listo para usar para max30102 (corazón de medición de oxigenación). El módulo, por supuesto, puede ser cualquiera, lo principal es que se basa en max30102.
cerebros para controlar lo anterior, un módulo en stm32f103.
y luego dónde poner toda esta pantalla led en el i2c.
- : https://github.com/Jasoji/stm32-max30102 , .
, .
, . , 60-80, . . , .
. max30102.c max30102_cal, :
if (R >= 0.36 && R < 0.66)
spo2 = (uint8_t)(107 - 20 * R);
else if (R >= 0.66 && R < 1)
spo2 = (uint8_t)(129.64 - 54 * R);
, . , ... . .. , . .
, ( max30102 ). , .
, max30102 . , . .
.
:
( )
. , , :
if(s.red > s.iRed) { // <o:p>
sampleBuff[0].red = s.iRed;
sampleBuff[0].iRed = s.red;
} else {
sampleBuff[0].red = s.red;
sampleBuff[0].iRed = s.iRed;
}
.
, .
. - ).
108, 101. . , . . , :
, - .
.
.
SpO2 = aR2+bR+c
R = (ACred/DCred) / (ACired/DCired)
a,b,c - ( , ). max30102 .
ACred - .
DCred - . .
.. .
.
, .. , . . , .
, .
:
1. , . , .
2. , .
. ( ).
.
.
, .
.
... .
, . , . , 99% 95%, .