Product Specifications
Type: | Sensor |
---|---|
Architecture: | For Arduino |
Output Signal: | Digital (Negative Logic and PWM) |
Detectable Range of Cencentration: | 0 ~ 280000 pcs/litre (0 ~ 8000 pcs/0.01cf CF = 283 ml) |
Detectable particle diameter: | > 1µm |
Operating Humidity Range: | 95% relative humidity or less |
Operating Temperature: | 0°C ~ 45°C |
Stabilisation time: | 1 minute after powered (3 minutes for the first time) |
Operating Voltage: | +4.75 ~ +5.75 volts |
---|---|
Operating current: | 90mA |
Output Signal Voltage: | High: > +4 volts – +4.5 volts (For newer models); Low: > 0.7 volts |
Weight: | 25g |
---|---|
Wire Length: | 21 cm |
Size (L × W × H): | 58.7 cm × 46 cm × 19 cm |
Pinout
Black Wire: | GND (-) |
---|---|
Red Wire: | VCC (+) |
Yellow Wire: | Signal |
Product Review
This one-of-a-kind sensor provides an excellent alternative to many sensors involving air quality detection, because it includes functions and attributes such as:
- The high sensitivity towards various dust conditions, which is followed by its quick response time for the sensor's serial communication to a microcontroller.
- The technology involved in this sensor, as this sensor includes: an Infrared LED, a set of lens, a photodiode detector and electromagnetic shielding.
- The compactness and size of this sensor, especially for its dust sensing function. This sensor could easily fit into an air quality monitor box or any other DIY casing.
- The simple software involved with coding this sensor as it is simple, with sampling included, to convert raw values into a specific unit of measurement (pcs/0.01cf).
- The uncomplicated hardware framework to prepare this sensor for use, because of the three wires to a microcontroller (VCC, GND and Signal). This is definitely a starting sensor for a beginner.
- The many resources involved when purchasing this sensor, as the source code and any additional information (Precautions, Project Ideas, Readings vs Time, etc.) are all given in the Wiki page.
Sample code
int pin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 2000;//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("Concentration = ");
Serial.print(concentration);
Serial.println(" pcs/0.01cf");
Serial.println("\n");
lowpulseoccupancy = 0;
starttime = millis();
}
}
Seeedstudio Product Page

Check out the product here: https://www.seeedstudio.com/Grove-Dust-Sensor%EF%BC%88PPD42NS%EF%BC%89-p-1050.html
Be sure to check out the Arduino Grove - Dust Sensor (PPD42NS) Project here!
Enjoy! Feel free to contact us for any inquiries!