小猪学arduino—使用GP2Y1010AU0F检测pm2.5空气质量

今天老婆不在家,申请的dueros和买的机器人零件都没到,儿子自己玩坦克玩的正hi,我也找点事干吧,从箱子里扒拉出一个GP2Y1010AU0F灰尘传感器,做个pm2.5检测吧。

GP2Y1010AU0F模块的检测原理:

传感器中心有个洞可以让空气自由流过,定向发射LED光,通过检测经过空气中灰尘折射过后的光线来判断灰尘的含量,跟激光的比成本较低。

硬件连线

传感器 -> Arduino
1白线Vled –> 5V (150ohm resistor)2
2蓝线 LED-GND –> GND3
3 绿线LED –> Digital pin 24
4 黄线S-GND –> GND5
5 黑线Vo –> Analog pin 06
6 红线Vcc –> 5V
示例没有接电容电阻,其中1、6红白线可以连一起后接5v;2、4蓝黄线连一起后接GND;3绿线接D2数字端口;5黑线接A0模拟端口。

检测结果:

今天下大雨空气太好,人工制造了点灰尘,这是灰尘被检测到散开的检测数据:

临时加了个警报灯,超过阈值就会亮起来,等esp板子到了就统一都传到server端显示。

程序代码

int measurePin = 0; // 引脚定义里的第5脚,黑色线接到A0 int pm25Pin = 2; // 引脚定义里的第3脚,白色线接到D2 int ledPin = 13; // led报警灯接到D13 int samplingTime = 280;//等待LED开启的时间是280μs int deltaTime = 40;//整个脉冲持续时间为320μs。因此,我们还需再等待40μs int sleepTime = 9680; float

阅读全文