论坛风格切换切换到宽版
  • 6481阅读
  • 35回复

自制空气颗粒物检测器(开源程序) [复制链接]

上一主题 下一主题
离线bg5emc
发帖
435
只看该作者 20楼 发表于: 2013-10-15
回 yyh 的帖子
yyh:没条件校正,利用的数学模型 (2013-10-14 19:44) 

建议加个小泵吸入空气这样反应快,再加1级初级滤膜滤除PM2.5以上的颗粒更精确。
离线yyh
发帖
1400
只看该作者 21楼 发表于: 2013-10-15
回 bg5emc 的帖子
bg5emc:
建议加个小泵吸入空气这样反应快,再加1级初级滤膜滤除PM2.5以上的颗粒更精确。

bg5emc:

建议加个小泵吸入空气这样反应快,再加1级初级滤膜滤除PM2.5以上的颗粒更精确。

就是哈,带的轴流风机,不过灵敏度还是很高的,稍微环境改变一点就能及时响应。改进了下,用了6个LED,现在基本可以做到显示精度到正负5微克/立方米.另外还有一个传感器还厉害,三星的DSM501A,可以计量微粒个数,自带加热空气吸入气体,没玩过。价格好像还比夏普的便宜一点点。


[ 此帖被yyh在2013-10-15 20:55重新编辑 ]
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
BG8BAL
离线yyh
发帖
1400
只看该作者 22楼 发表于: 2013-10-15
程序可以简化的,可以采用函数来自动转换为二进制数据,有兴趣可以自己改改

#include <dht11.h>
dht11 DHT11;
#define DHT11PIN A0
int LED_32=11;int LED_16=10;int LED_8=9;int LED_4=6;int LED_2=5;int LED_1=3;
float dustVal=0;
void setup(){
Serial.begin(9600);
pinMode(A1,OUTPUT);
pinMode( A3,OUTPUT);pinMode(LED_32,OUTPUT);pinMode(LED_16,OUTPUT);pinMode(LED_8,OUTPUT);pinMode(LED_4,OUTPUT);pinMode( LED_2,OUTPUT);pinMode(LED_1,OUTPUT);

digitalWrite(LED_32,HIGH);delay(500);digitalWrite(LED_32,LOW);
digitalWrite(LED_16,HIGH);delay(500);digitalWrite(LED_16,LOW);
digitalWrite(LED_8,HIGH);delay(500);digitalWrite(LED_8,LOW);
digitalWrite(LED_4,HIGH);delay(500);digitalWrite(LED_4,LOW);
digitalWrite(LED_2,HIGH);delay(500);digitalWrite(LED_2,LOW);
digitalWrite(LED_1,HIGH);delay(500);digitalWrite(LED_1,LOW);
  delay(500);
digitalWrite(LED_32,HIGH);digitalWrite(LED_16,HIGH);digitalWrite(LED_8,HIGH);digitalWrite(LED_4,HIGH);digitalWrite(LED_2,HIGH);digitalWrite(LED_1,HIGH);digitalWrite(A3,HIGH);
delay(500);
  digitalWrite(LED_32,LOW);digitalWrite(LED_16,LOW);digitalWrite(LED_8,LOW);digitalWrite(LED_4,LOW);digitalWrite(LED_2,LOW);digitalWrite(LED_1,LOW);digitalWrite(A3,LOW);//zi jian LED he BB
}
void loop(){
     DHT11.read(DHT11PIN);
   int i=0;float gongji=0;int pm=0;int aa=0;

for(i=0;i<30;i++){
digitalWrite(A1,LOW); // power on the LED
delayMicroseconds(280);
dustVal=analogRead(A2); // read the dust value via pin 5 on the sensor
delayMicroseconds(40);
digitalWrite(A1,HIGH); // turn the LED off
delayMicroseconds(9680);
gongji=gongji+dustVal;
delay(100);
}
gongji=gongji/30;
pm=int((0.172*5*gongji/1023-0.0999)*1000);
aa=(pm+5)/10;//XIAN SHI HUAN SUAN
if(aa>=32){aa=aa-32;digitalWrite(LED_32,HIGH);} else digitalWrite(LED_32,LOW);;
if(aa>=16){aa=aa-16;digitalWrite(LED_16,HIGH);} else digitalWrite(LED_16,LOW);
if(aa>=8){aa=aa-8;digitalWrite(LED_8,HIGH);} else digitalWrite(LED_8,LOW);
if(aa>=4){aa=aa-4;digitalWrite(LED_4,HIGH);} else digitalWrite(LED_4,LOW);
if(aa>=2){aa=aa-2;digitalWrite(LED_2,HIGH);} else digitalWrite(LED_2,LOW);
if(aa>=1){aa=aa-0;digitalWrite(LED_1,HIGH);} else digitalWrite(LED_1,LOW);//XIAN SHI

if(pm>500){digitalWrite(LED_32,HIGH);digitalWrite(LED_16,HIGH);digitalWrite(LED_8,HIGH);digitalWrite(LED_4,HIGH);digitalWrite(LED_2,HIGH);digitalWrite(LED_1,HIGH);digitalWrite(A3,HIGH);delay(200);
            digitalWrite(LED_32,LOW);digitalWrite(LED_16,LOW);digitalWrite(LED_8,LOW);digitalWrite(LED_4,LOW);digitalWrite(LED_2,LOW);digitalWrite(LED_1,LOW);digitalWrite(A3,LOW);delay(200);
           digitalWrite(LED_32,HIGH);digitalWrite(LED_16,HIGH);digitalWrite(LED_8,HIGH);digitalWrite(LED_4,HIGH);digitalWrite(LED_2,HIGH);digitalWrite(LED_1,HIGH);digitalWrite(A3,HIGH);delay(200);
            digitalWrite(LED_32,LOW);digitalWrite(LED_16,LOW);digitalWrite(LED_8,LOW);digitalWrite(LED_4,LOW);digitalWrite(LED_2,LOW);digitalWrite(LED_1,LOW);digitalWrite(A3,LOW);delay(200);
           digitalWrite(LED_32,HIGH);digitalWrite(LED_16,HIGH);digitalWrite(LED_8,HIGH);digitalWrite(LED_4,HIGH);digitalWrite(LED_2,HIGH);digitalWrite(LED_1,HIGH);digitalWrite(A3,HIGH);delay(200);
            digitalWrite(LED_32,LOW);digitalWrite(LED_16,LOW);digitalWrite(LED_8,LOW);digitalWrite(LED_4,LOW);digitalWrite(LED_2,LOW);digitalWrite(LED_1,LOW);digitalWrite(A3,LOW);delay(200); }//OVER GAO JING
Serial.print("DHT11_temperature(C):");
Serial.print(DHT11.temperature);
Serial.print(";");


Serial.print("DHT11_Humidity(%):");
Serial.print(DHT11.humidity);
Serial.print(";");
  Serial.print("SHARP_PM2.5(ug/m3):");
Serial.print( pm);
Serial.println(";");
}
[ 此帖被yyh在2013-10-15 12:32重新编辑 ]
BG8BAL
离线guojince
发帖
56
只看该作者 23楼 发表于: 2013-10-15
大于2.5的颗粒您用的什么方法去除。以至于不影响PM2.5的测量
BH3OEV[/COLOR]郭进策 438.575 145.575
手机:15511629701
Email:bh3oev@163.com
河北石家庄高新区湘江道251号河北先河环保科技股份有限公司
离线yyh
发帖
1400
只看该作者 24楼 发表于: 2013-10-17
回 guojince 的帖子
guojince:大于2.5的颗粒您用的什么方法去除。以至于不影响PM2.5的测量 (2013-10-15 21:18) 

未做过滤。根据国外爱好者的做法,用数学模型搞的,有一定误差。
BG8BAL
离线ice9
发帖
116
只看该作者 25楼 发表于: 2013-10-22
能提供详细的线路图吗?
离线yyh
发帖
1400
只看该作者 26楼 发表于: 2013-10-22
回 ice9 的帖子
ice9:能提供详细的线路图吗? (2013-10-22 08:24) 

中英文参考资料里面有,就是几根线的事情
BG8BAL
离线BG7QBL
发帖
1006
只看该作者 27楼 发表于: 2013-10-26
有做成品吗?动手能力不行,很喜欢啊,如果做1602显示的更好了 。
:140: 正在学习中! :140:
BG7QBL
姓名:何贤华
地址:湖南省衡阳市南岳区南岳高速公路第一合同段项目部门邮编:427000
电话:15074718363 15174443755
工行:9558812104111429011
农行:9559981539528864925
QQ:191527346
邮箱:hexianhua8808@163.com
离线ihweb
发帖
586
只看该作者 28楼 发表于: 2013-10-26
这个,还是用1602,或者用mini 12864 直观。
呼号:必娶妻·进取啊

-----------------------------------
个人获奖情况:2007年12月5日获得BA6BF颁发的极品二世称号。 :121:
离线BG3OGR
发帖
3565
只看该作者 29楼 发表于: 2013-10-26
做1602的  预定两套
怀念老论坛!!!
离线yyh
发帖
1400
只看该作者 30楼 发表于: 2013-10-28
回 BG3OGR 的帖子
BG3OGR:做1602的  预定两套 (2013-10-26 22:02)

1602没有问题。程序还简单得多,主要是开方孔麻烦
http://v.youku.com/v_show/id_XNjE4MzUzOTIw.html
[ 此帖被yyh在2013-10-28 08:47重新编辑 ]
BG8BAL
离线BA5AC
发帖
1623
只看该作者 31楼 发表于: 2013-10-28
APRS气象站能支持这玩意就好了
浙江省杭州市临平区
吆三五88098920
古董ICOM IC-725 +C3S ANT ON AIR
离线BG6JJI
发帖
4940
只看该作者 32楼 发表于: 2013-10-29
回 BA5AC 的帖子
BA5AC:APRS气象站能支持这玩意就好了[表情]  (2013-10-28 11:10) 

aprs没图表显示啊
到处游荡的机器人火腿,目前在丽江
RIG:我有一堆uSDX
ANT:随时都能抄走的拉杆GP天线
QQ:1416160    我的DIY群:777353770
http://www.dxsummit.fi/DxSpots.aspx
离线BA7EI
发帖
7096
只看该作者 33楼 发表于: 2013-10-29
看得出您对物理学有深刻的研究,同时非常严谨
BA5SBA:如何标定????[表情]  (2013-10-11 23:29) 

建议难得糊涂,这是个非商业性的DIY型玩具,其数据的真实性不可能达到被法庭采用的级别,纯属玩具,咱们只看其思路是否属于创新即可
酷爱老爷机 但机海无涯,已回头上岸!俺暂时停止无限垫[/COLOR]

点击此处欢迎光临我的博客批评指导[/SIZE][/COLOR]
离线BA7EI
发帖
7096
只看该作者 34楼 发表于: 2013-10-29
这是个空气颗粒物检测器(开源程序)
guojince:大于2.5的颗粒您用的什么方法去除。以至于不影响PM2.5的测量 (2013-10-15 21:18) 

通俗一点就是能够产生丁达尔现象的一个检测器,哪怕是粉尘浓度都属于不可信数据,您居然要PM2.5数据,太苛刻了
酷爱老爷机 但机海无涯,已回头上岸!俺暂时停止无限垫[/COLOR]

点击此处欢迎光临我的博客批评指导[/SIZE][/COLOR]
离线bg1el
发帖
185
只看该作者 35楼 发表于: 2013-10-30
灰尘的颗粒大小怎么确定的?
BG1EL
133O1OO3O7O
QQ:986668I
E-mail: ss3070@qq。com