Arduino + max30102 + DSP = SpO2

Arduino + max30102 + DSP = SpO2

Une fois que j'ai vu un oxymètre sur Ali, je me suis demandé comment cela fonctionnait. Et quand je l'ai compris, j'ai été surpris par sa simplicité et j'ai décidé de le répéter.





Après avoir un peu compris, il s'est avéré que ce n'était pas si difficile et en conséquence est venu aux modules suivants:





  • module de mesure prêt à l'emploi pour max30102 (cœur de mesure d'oxygénation). Le module peut bien sûr être n'importe lequel, l'essentiel est celui basé sur max30102.





  • cerveaux pour contrôler ce qui précède, un module sur stm32f103.





  • led 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