Arduino粉尘烟雾传感器PM2.5实验

Arduino粉尘烟雾传感器PM2.5实验

硬件准备

GP2Y1014AU粉尘传感器模块
在这里插入图片描述
150欧电阻
220uf电容

技术参数
GP2Y1014AU粉尘传感器模块
• 电源电压:DC5±2V
• 工作电流:20mA(峰值)
• 灵敏度:0.5V/(0.1mg/m3)
• 最小粒子检出值:0.8微米
• 清洁空气中电压:0.9V 典型值
• 工作温度:-10~65℃
• 存储温度:-20~80℃
• 使用寿命:5年
• 尺寸大小:46mm×30mm×17.6mm
• 重量大小:15g

电压范围:VoH(V) — 无尘 时输出电压:Voc(V)。
将此换算成粉尘浓度:
检出粉尘浓度范围(mg/m3) = 检出可能范围 (输出电压可变范围(V) ) ÷ 检出感 度:K(V/(0.1 mg/m3)。
烟检出的情况下,其判定值如下:
判定值 = 检出浓度(mg/m3) ÷ 10 ×K(V/(0.1 mg/m3) + 无尘时输出电压(V)

检出浓度:0.2(mg/m3) 来判定时 K:TYP 0.5 (V/(0.1 mg/m3)
无尘时输出电压:0.9 (V) 的情况下 判定值 = (0.2×10)×0.5+0.9 = 1.9V

接线

我将以上图所示颜色接线

PM2.5 Arduino
蓝色-接电容正极 5V
绿色-接电容负极 GND
白色 11
黄色 GND
黑色 A5
红色 5V
电容正极 5V
电容负极 GND

电阻与电容正极串联

引脚接线:接线口在左方时(自左向右)
蓝线:V-LED-Arduino 5V和150欧电阻接220uf电容正极
绿线:LED-GND-Arduino GND接220uf电容负极
白线:LED-Arduino Digital Pin 接ledPower 可自定义接11
黄线:S-GND Arduino GND接220uf电容负极
黑线:Vo-Arduino Analog A5
红线:Vcc-Arduino 5V和150欧电阻接220uf电容正极

可以参考下图(转自
在这里插入图片描述

代码部分

int measurePin = A5;            
int ledPower = 11;              
 
unsigned int samplingTime = 280;
unsigned int deltaTime = 40;
unsigned int sleepTime = 9680;
 
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0;
 
void setup(){
    
    
  Serial.begin(9600);
  pinMode(ledPower,OUTPUT);
}
 
void loop(){
    
    
  digitalWrite(ledPower,LOW);
  delayMicroseconds(samplingTime);
 
  voMeasured = analogRead(measurePin);
 
  delayMicroseconds(deltaTime);
  digitalWrite(ledPower,HIGH);
  delayMicroseconds(sleepTime);
 
  calcVoltage = voMeasured*(5.0/1024);
  dustDensity = 0.17*calcVoltage-0.1;
 
  if ( dustDensity < 0)
  {
    
    
    dustDensity = 0.00;
  }
 
  Serial.print("空气质量数值:");
  Serial.println(voMeasured);
  
 /*
  Serial.print("当前实时电压电压:");
  Serial.println(calcVoltage); */
 
  Serial.print("P.M2.5浓度:");
  Serial.print(dustDensity);
  Serial.println("%");
 
  delay(1000);
}

效果展示

空气指数标准

空气质量对照

空气指数 空气质量
3000+ 极差
1050-3000 较差
300-1050 一般
150-300 较好
75-150 很好
0-75 非常好

有烟情况下
在这里插入图片描述
无烟正常情况下
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_50679163/article/details/119841470