【Arduino基础教程】PM2.5粉尘检测传感器

【Arduino基础教程】PM2.5粉尘检测传感器
GP2Y1010AU0F模块

本教程使用的是GP2Y1010AU0F模块,某宝上定价38软妹币。
该模块具有非常低的电流消耗(最大20mA,11毫安典型值),最高7VDC供电。传感器的输出是一个模拟电压成正比的测量粉尘密度,具有0.5V/0.1mg/m3的灵敏度。

准备材料

  • Arduino UNO *1
  • GP2Y1010AU0F模块 *1
  • 150欧电阻 *1
  • 220uF电解电容 *1
  • 面包板 *1
  • 跳线 若干

接线

【Arduino基础教程】PM2.5粉尘检测传感器

【Arduino基础教程】PM2.5粉尘检测传感器
GP2Y1010AU0F Arduino
1 150欧电阻 5V
1 220uF电解电容 GND
2 -> GND
3 -> 2
4 -> GND
5 -> A0
6 -> 5V

示例程序

int dustPin=0;
float dustVal=0;
int ledPower=2;
int delayTime=280;
int delayTime2=40;
float offTime=9680;
void setup(){
  Serial.begin(9600);
  pinMode(ledPower,OUTPUT);
  pinMode(dustPin, INPUT);
}
 
void loop(){
// ledPower is any digital pin on the arduino connected to Pin 3 on the sensor
  digitalWrite(ledPower,LOW); 
  delayMicroseconds(delayTime);
  dustVal=analogRead(dustPin); 
  delayMicroseconds(delayTime2);
  digitalWrite(ledPower,HIGH); 
  delayMicroseconds(offTime);
  delay(1000);
  if (dustVal>36.455)
    Serial.println((float(dustVal/1024)-0.0356)*120000*0.035);
}

附:测试得到的数据和空气质量对照:

3000 + = 很差
1050-3000 = 差
300-1050 = 一般
150-300 = 好
75-150 = 很好
0-75 = 非常好

上一篇:Javascript兑现图片预加载【回调函数,多张图片】 (转载)


下一篇:【Arduino基础教程】LCD5110显示屏