코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
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 |