정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

PPD42NS 미세먼지 측정기 소스 코드 내용 문의
ck01 | 2019-09-03

미세먼지 센서 PPD42NS를 이용해 미세먼지 경보기를 만드는 중입니다.

 

소스 코드를 검색해보니 보통 아래와 같이 뜨는데요. *Seeed 제공 

 

/*
 Interface to Shinyei Model PPD42NS Particle Sensor
 Program by Christopher Nafis 
 Written April 2012
 
 http://www.seeedstudio.com/depot/grove-dust-sensor-p-1050.html
 http://www.sca-shinyei.com/pdf/PPD42NS.pdf
 
 JST Pin 1 (Black Wire)  => Arduino GND
 JST Pin 3 (Red wire)    => Arduino 5VDC
 JST Pin 4 (Yellow wire) => Arduino Digital Pin 8
 */

int pin = 8;                               
unsigned long duration;                    
unsigned long starttime;                   
unsigned long sampletime_ms = 30000;          
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;

void setup() {
  pinMode(8,INPUT);
  starttime = millis();
}

void loop() {
  duration = pulseIn(pin, LOW);
  lowpulseoccupancy = lowpulseoccupancy+duration;

  if ((millis()-starttime) > sampletime_ms)
  {
    ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100
    concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
    lowpulseoccupancy = 0;
    starttime = millis();
  }
}

 

위의 코드 중 다음 항목이 궁금합니다.(시리얼 항목 삭제)

 

    ratio = lowpulseoccupancy/(sampletime_ms*10.0);  // Integer percentage 0=>100

 

위의 코드는 샘플링에 소모된 30초 중 미세먼지가 감지된 시간의 비율을 나타낸 것인데요.

 

퍼센테이지를 구하는 식일 텐데 분모에 10을 곱한 이유가 무엇인지 궁금합니다.

이전글   |    아두이노 지그비 양방향 통신 문제요. 2019-09-02
다음글   |    LC Technology SD 카드 리더기를 Test 하려고 하는데요.... 2019-09-03