제품 소스코드 다운로드 – 아두이노 미세 먼지센서 DSM501A PPD42NS

  • Version sample
  • Download
  • File Size 1
  • File Count
  • Create Date 2017-07-24
  • Last Updated 2017-09-25

제품 소스코드 다운로드 - 아두이노 미세 먼지센서 DSM501A PPD42NS

/*
Grove - Dust Sensor Demo v1.0
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

Pin 2 => Arduino GND
Pin 3 => Arduino 5VDC
Pin 5 => Arduino Digital Pin 8
*/

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

void setup()
{
Serial.begin(9600);
pinMode(8,INPUT);
starttime = millis();//get the current time;
}

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

if ((millis()-starttime) > sampletime_ms)//if the sampel time == 30s
{
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
Serial.print(lowpulseoccupancy);
Serial.print(",");
Serial.print(ratio);
Serial.print(",");
Serial.println(concentration);
lowpulseoccupancy = 0;
starttime = millis();
}
}

[/vc_column_text][/vc_column][/vc_row]