Arduino Uno PM2.5粉尘传感器(GP2Y1010AU0F) 看看家里的空气质量

欢迎关注「凌顺实验室」微信公众号

 

 

 

 

 

 

 

Arduino Uno PM2.5粉尘传感器(GP2Y1010AU0F) 看看家里的空气质量_第1张图片

 

这次用到的这个模块,是SHARP GP2Y10(粉尘传感器,其实我在怀疑是否也叫PM2.5)

买到手的时候,除了传感器还有随附的一个150欧姆的电阻和一个220uf的电容

 

实验效果

这是摆放在房间中的数值,看到Dust Density的数值为0.02左右,说明空气中的粉尘很少

Arduino Uno PM2.5粉尘传感器(GP2Y1010AU0F) 看看家里的空气质量_第2张图片

 

这是在传感器旁边点了一支香,让烟从传感器的孔洞中穿过看到的数值。说明空气粉尘严重。

(可以使用香烟,可以使用笔放进孔洞中看看数据的变化)

Arduino Uno PM2.5粉尘传感器(GP2Y1010AU0F) 看看家里的空气质量_第3张图片

 

BOM表

Arduino Uno    *1

粉尘传感器(GP2Y10) *1

电阻  150欧姆 *1

电容 220uf  *1

面包板   *1

跳线若干

 

接线

Arduino Uno PM2.5粉尘传感器(GP2Y1010AU0F) 看看家里的空气质量_第4张图片

 

 

Arduino Uno PM2.5粉尘传感器(GP2Y1010AU0F) 看看家里的空气质量_第5张图片

 

 

程序

 

int measurePin = A5;            
int ledPower = 12;              

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.println("Raw Signal Value (0-1023):");
  Serial.println(voMeasured);

  Serial.println("Voltage:");
  Serial.println(calcVoltage);

  Serial.println("Dust Density:");
  Serial.println(dustDensity);

  delay(1000);
}

 

 

 

 

 

你可能感兴趣的:(Arduino,系列实验,arduino)