主页 > 硬件 > PM2.5数值

PM2.5数值

2014年5月30日 PM2.5数值无评论 阅读: 10,473 次

参考文章:

12

12

 

代码:

int dustPin=0;
int ledPower=2;
int delayTime=280;
int delayTime2=40;
float offTime=9680;

int dustVal=0;
float ppm=0;
char s[32];
float voltage = 0;
float dustdensity = 0;
float ppmpercf = 0;

void setup(){
Serial.begin(9600);
pinMode(ledPower,OUTPUT);
pinMode(dustPin, INPUT);

ppm =0;
}

void loop(){

digitalWrite(ledPower,LOW); // power on the LED
delayMicroseconds(delayTime);
dustVal=analogRead(dustPin); // read the dust value
ppm =dustVal;
delayMicroseconds(delayTime2);
digitalWrite(ledPower,HIGH); // turn the LED off
delayMicroseconds(offTime);

voltage = ppm*0.0049;//电压=模拟读取值*(5V/1024),因为AD变换器为10位,将5V内的电压值转换成0-1024读数
dustdensity = 0.17*voltage-0.1;//电压和灰尘浓度PM2.5(mg/立方米)的函数关系
ppmpercf = (voltage-0.0256)*120000;// 反算PM2.5到PM0.5的函数关系,电压值小时有效
if (ppmpercf < 0)
ppmpercf = 0;
if (dustdensity < 0 )
dustdensity = 0;
if (dustdensity > 0.5)
dustdensity = 0.5;
dustdensity=dustdensity*1000;

发表评论

新用户的评论需审核后才会显示;

电子邮件地址不会被公开;
必填项已用*标注