Arduino + max30102 + DSP = SpO2

Arduino + max30102 + DSP = SpO2

Als ich ein Oximeter an Ali sah, fragte ich mich, wie es funktionierte. Und als ich es herausfand, war ich überrascht über seine Einfachheit und beschloss, es zu wiederholen.





Nachdem ich es ein wenig herausgefunden hatte, stellte sich heraus, dass es nicht so schwierig war und kam zu den folgenden Modulen:





  • fertigter Messmodul für max30102 (Herz der Sauerstoffversorgung Messung). Das Modul kann natürlich ein beliebiges sein, Hauptsache das basiert auf max30102.





  • Gehirne, um das oben genannte zu steuern, ein Modul auf stm32f103.





  • und dann, wo all diese LED- Anzeige auf dem i2c platziert werden soll. 





- : 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