Hi everyone,
I’m working on a small air-quality / dust detection project using the GP2Y1014AU0F optical dust sensor. My goal is to detect moderate amounts of dust/smoke indoors. But my readings are way lower than expected, even when I know there’s visible dust or smoke in the air.
Here’s what I’ve done / checked:
Using Arduino to read analog output (Vout) from the sensor. LED pulse driver is connected with a ~150 Ω resistor, and I added a 220 µF capacitor on the LED current line as per some datasheet examples. I’m turning on the LED for 280 µs, waiting a bit, then reading the analog value as suggested in tutorials. Supply voltage is stable 5V regulated. Sensor is shielded from direct ambient light (so no bright external light bleeding in).
What I see:
In clean air the analog reading is low (close to baseline). When I introduce smoke or dust near the opening, the value increases, but only slightly, much less than what many projects claim. The sensor seems slow to react and somewhat noisy (fluctuations even when the air is fairly still).
Are there tweaks I should try (different resistor/capacitor values, more precise timing, filtering the analog readings) to improve sensitivity? Would a “fancier” PM2.5 optical sensor (with digital output) be significantly better if I want more accurate results, or is this module enough for simple detection?
Thanks in advance for any practical tips.
"Almost" Good Answers: