Skip to content

Getting very less SPO2 values #4

@prasanpro

Description

@prasanpro

Dear Protocentral,

I bought the spo2 shield recently and followed the instructions given in this git. Processing graph output values always shows values in range of 60 to 70. A normal healthy person like I should get values in 94+ range. I came across this section after a brief look at processing code:

` AvgYdata[arrayIndex] = (float)receivedVoltage_RED;
AvgZdata[arrayIndex] = (float)receivedVoltage_IR;
value1 = (float)( AvgYdata[arrayIndex] - averageValue(AvgYdata));
value2 = (float)( AvgZdata[arrayIndex] - averageValue(AvgZdata));
ydata[arrayIndex] = value1;
zdata[arrayIndex] = value2;

    float RedDC = (float) averageValue(AvgYdata);
    float IrDC = (float) averageValue(AvgZdata);

    arrayIndex++;
    if (arrayIndex == pSize)
    {  
      arrayIndex = 0;
      time = 0;
      RedAC = s.SPO2_Value(ydata);
      IrAC = s.SPO2_Value(zdata);
      float value = (RedAC/abs(RedDC))/(IrAC/abs(IrDC));

      /********  Emprical Formalae  *********/
      //float SpO2 = 10.0002*(value)-52.887*(value) + 26.817*(value) + 98.293;
      //  float SpO2 =((0.81-0.18*(value))/(0.73+0.11*(value)));
      
      float SpO2=110-25*(value);


      SpO2 = (int)(SpO2 * 100);
      SpO2 = SpO2/100;
      oxygenSaturation.setText(SpO2+"");`
  1. Is there any issue in the code or the hardware? Please rectify this issue.
  2. Further, the values are not consistent. Sometimes there is big difference between two consecutivve values. Is there any special care needed for finger position.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions