?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

호흡센서로 사용할 센서가 없을까요?

페이지 정보

작성자 아에이오우 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-07-15 18:49 조회2,277회 댓글1건

본문

안녕하세요 호흡을 측정하려는 학생인데요

최근 바람센서를 구매해서 이것으로 풍속을 재고, 해당 풍속의 기복 차이나, 수치의 최대 값을 이용해서 호흡을 카운트하려고 하였는데,  풍속을 구하는 식에 온도가 개입되어 있어 기준이 객관적이 못할 것 같아서 애를 먹고있습니다.

#define analogPinForRV    1   // change to pins you the analog pins are using

#define analogPinForTMP   0

const float zeroWindAdjustment =  .2; // negative numbers yield smaller wind speeds and vice versa.

int TMP_Therm_ADunits;  //temp termistor value from wind sensor

float RV_Wind_ADunits;    //RV output from wind sensor

float RV_Wind_Volts;

unsigned long lastMillis;

int TempCtimes100;

float zeroWind_ADunits;

float zeroWind_volts;

float WindSpeed_MPH;

 

void setup() {

 

  Serial.begin(9600);   // faster printing to get a bit better throughput on extended info

  Serial.println("start");

  //pinMode(A2, INPUT);        // GND pin    

  //pinMode(A3, INPUT);        // VCC pin

  //digitalWrite(A3, LOW);     // turn off pullups

}

void loop() {
  if (millis() - lastMillis > 200){      // read every 200 ms - printing slows this down further

  

    TMP_Therm_ADunits = analogRead(analogPinForTMP);

    RV_Wind_ADunits = analogRead(analogPinForRV);

    RV_Wind_Volts = (RV_Wind_ADunits *  0.0048828125);

    TempCtimes100 = (0.005 *((float)TMP_Therm_ADunits * (float)TMP_Therm_ADunits)) - (16.862 * (float)TMP_Therm_ADunits) + 9075.4;

 

    zeroWind_ADunits = -0.0006*((float)TMP_Therm_ADunits * (float)TMP_Therm_ADunits) + 1.0727 * (float)TMP_Therm_ADunits + 47.172;  //  13.0C  553  482.39

 

    zeroWind_volts = (zeroWind_ADunits * 0.0048828125) - zeroWindAdjustment;

   WindSpeed_MPH =  pow(((RV_Wind_Volts - zeroWind_volts) /.2300) , 2.7265); 

 

    Serial.print("  TMP volts ");

    Serial.print(TMP_Therm_ADunits * 0.0048828125);

  

    Serial.print(" RV volts ");

    Serial.print((float)RV_Wind_Volts);

 

    Serial.print("\t  TempC*100 ");

    Serial.print(TempCtimes100 );

 

    Serial.print("   ZeroWind volts ");

    Serial.print(zeroWind_volts);

    Serial.print("   WindSpeed MPH ");

    Serial.println((float)WindSpeed_MPH);

    lastMillis = millis();   
  }
}

제가 코드에 대한 이해도가 부족해서 생각이 들지 않네요..

혹시 이 코드를 변형해서 호흡의 수를 카운트 할 수 있을까요?

없다면 호흡센서로 이용할 다른 센서들은 없나요?

제가 찾아본 결과 호흡센서는 따로 없고 산소포화도 측정기를 이용해서 측정해야 된다고 하던데..

잘몰라서 죄송합니다 ㅜㅜ
 

댓글목록

하드카피님의 댓글

하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

글쎄요.. 호흡센서를 본 적은 없습니다;;
위 소스코드도 직접 제작해서 동작을 보정해봐야 알 수 있겠는데요..