您的位置:首页 > 产品设计 > UI/UE

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

2017-03-31 23:34 295 查看


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

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

实验效果

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



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

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



BOM表

Arduino Uno    *1

粉尘传感器(GP2Y10) *1

电阻  150欧姆 *1

电容 220uf  *1

面包板   *1

跳线若干

接线





程序

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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: