PPD42NS粉尘传感器的使用
unsigned long startime;int sampling=1;
unsigned long duration;
unsigned long lowpulseoccupancy=0;
unsigned long samplelasttime_ms=30*1000;
int pin=8;
float ratio=0.0;
float concentration=0.0;
const float pm25coef=0.00207916725464941;
unsigned long pm25val;
void setup()
{
Serial.begin(9600);
pinMode(pin,INPUT);
startime=millis();
}
void loop()
{
if(1==sampling)
{
duration=pulseIn(pin,LOW);
lowpulseoccupancy=lowpulseoccupancy+duration;
if(millis()-startime>samplelasttime_ms)
{
ratio=lowpulseoccupancy/(samplelasttime_ms*10.0);
concentration=1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
pm25val=pm25coef*concentration;
Serial.print("ratio=");
Serial.println(ratio);
Serial.print("concentration=");
Serial.println(concentration);
Serial.print("PM2.5=");
Serial.println(pm25val);
startime=millis();
lowpulseoccupancy=0;
}
}
} 請問你收到的數據變化大嗎?
我之前也買了一個, 測試時在同一地方, 同樣用了這裡的程式 ( http://www.howmuchsnow.com/arduino/airquality/grovedust/ ), 但沒有 PM2.5 的計數.
每次讀數之間就有很大的變化.concentration 由 0.62 到 420, 不知是否合理.
請問一個普通的乾淨環境下, 每個讀數大約會是多少, 一般正常的波動會有多大?
Super169 发表于 2014-9-16 18:03 static/image/common/back.gif
請問你收到的數據變化大嗎?
我之前也買了一個, 測試時在同一地方, 同樣用了這裡的程式 ( http://www.h ...
您好 。我使用的是和你一样的设备 。 我想请问一下 您是怎么把读取到的数据转化为 PM2.5等 常见的指数的啊?中间的比例换算是什么? concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve 读取到的浓度concentration 是什么单位的啊?
本帖最后由 Super169 于 2014-9-16 23:00 编辑
你好, 我用了你的程式, 在一密閉的書房中執行了一段時間, 收集到既數據如下:
ratio=1.94
concentration=1002.62
PM2.5=2
ratio=1.73
concentration=895.44
PM2.5=1
ratio=1.89
concentration=976.68
PM2.5=2
ratio=0.98
concentration=508.11
PM2.5=1
ratio=0.30
concentration=156.29
PM2.5=0
ratio=0.25
concentration=129.17
PM2.5=0
ratio=1.63
concentration=841.05
PM2.5=1
ratio=1.06
concentration=546.93
PM2.5=1
ratio=0.61
concentration=316.74
PM2.5=0
ratio=1.13
concentration=585.71
PM2.5=1
ratio=0.91
concentration=469.75
PM2.5=0
ratio=1.39
concentration=716.85
PM2.5=1
ratio=0.90
concentration=466.52
PM2.5=0
ratio=1.13
concentration=586.19
PM2.5=1
ratio=1.96
concentration=1011.88
PM2.5=2
ratio=1.27
concentration=657.59
PM2.5=1
ratio=0.41
concentration=210.80
PM2.5=0
ratio=1.06
concentration=549.56
PM2.5=1
ratio=2.25
concentration=1164.05
PM2.5=2
ratio=0.50
concentration=259.44
PM2.5=0
ratio=0.50
concentration=262.23
PM2.5=0
ratio=1.95
concentration=1008.26
PM2.5=2
ratio=1.85
concentration=956.68
PM2.5=1
ratio=1.74
concentration=901.00
PM2.5=1
ratio=1.75
concentration=904.05
PM2.5=1
concentration 的變化 接近 10 倍, 由 129.17 - 1164.05, 請問是否正常呢?
我的传感器在路上。 zβ襻ww 发表于 2014-9-16 20:51 static/image/common/back.gif
您好 。我使用的是和你一样的设备 。 我想请问一下 您是怎么把读取到的数据转化为 PM2.5等 常见的指数的啊 ...
我也不太肯定, 但從 http://www.howmuchsnow.com/arduino/airquality/grovedust/ 的給果看來, concentration 應該是指 Particles > 1 micron per 0.01 cubic feet (每 0.01 立方呎中 > 1 micron 的粒子數目).
本帖最后由 zβ襻ww 于 2014-9-17 07:53 编辑
Super169 发表于 2014-9-16 23:22 static/image/common/back.gif
我也不太肯定, 但從 http://www.howmuchsnow.com/arduino/airquality/grovedust/ 的給果看來, concentrat ...
唔。就是和使用标准范围里面的 0~28000 一样的咯 。。pcs/liter 那您是怎么转化为PM2.5指数的呢?
能不能让我参考一下您转化的 公式? zβ襻ww 发表于 2014-9-17 07:51 static/image/common/back.gif
唔。就是和使用标准范围里面的 0~28000 一样的咯 。。pcs/liter 那您是怎么转化为PM2.5指数的呢?
...
按樓主的程式, 就是直接把 0.00207916725464941 * concentration.
PM2.5粉尘传感: 夏普、三瀛、GE、神荣VOC空气质量:QS-01、TGS2600、MS1100、MS1200英国达特甲醛传感器、红外二氧化碳传感器、空气质量模块 全新原装现货供应 有需要请联系 杨先生 13530889446 QQ: 530820608 楼主能附一个接线图吗,不太懂的,谢谢
页:
[1]