当前位置:   article > 正文

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

gp2y1010au粉尘传感器工作原理

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

 

 

 

 

 

 

 

 

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

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

 

实验效果

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

 

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

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

 

BOM表

Arduino Uno    *1

粉尘传感器(GP2Y10) *1

电阻  150欧姆 *1

电容 220uf  *1

面包板   *1

跳线若干

 

接线

 

 

 

 

程序

 

  1. int measurePin = A5;
  2. int ledPower = 12;
  3. unsigned int samplingTime = 280;
  4. unsigned int deltaTime = 40;
  5. unsigned int sleepTime = 9680;
  6. float voMeasured = 0;
  7. float calcVoltage = 0;
  8. float dustDensity = 0;
  9. void setup(){
  10. Serial.begin(9600);
  11. pinMode(ledPower,OUTPUT);
  12. }
  13. void loop(){
  14. digitalWrite(ledPower,LOW);
  15. delayMicroseconds(samplingTime);
  16. voMeasured = analogRead(measurePin);
  17. delayMicroseconds(deltaTime);
  18. digitalWrite(ledPower,HIGH);
  19. delayMicroseconds(sleepTime);
  20. calcVoltage = voMeasured*(5.0/1024);
  21. dustDensity = 0.17*calcVoltage-0.1;
  22. if ( dustDensity < 0)
  23. {
  24. dustDensity = 0.00;
  25. }
  26. Serial.println("Raw Signal Value (0-1023):");
  27. Serial.println(voMeasured);
  28. Serial.println("Voltage:");
  29. Serial.println(calcVoltage);
  30. Serial.println("Dust Density:");
  31. Serial.println(dustDensity);
  32. delay(1000);
  33. }

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/711975
推荐阅读
相关标签
  

闽ICP备14008679号