Arduino + max30102 + DSP = SpO2

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  , .





, Eclipse.





, .





, . , 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%, .








All Articles