Arduino 各种模块篇 粉尘传感器 dust sensor 空气质量检测
Testing a sensor from here.
http://www.seeedstudio.com/wiki/Grove_-_Dust_Sensor
It's a dust sensor. Everyone can buy it anywhere also. It's a cheep one actually.
We can find its document here: http://www.seeedstudio.com/wiki/images/4/4c/Grove_-_Dust_sensor.pdf
It looks good.
It's more cheaper if you buy it from taobao.com or other whole sellers.
Now cut the crap, just send me those codes here:
/* Grove - Dust Sensor Demo v1.0
Interface to Shinyei Model PPD42NS Particle Sensor
Program by Christopher Nafis
Written April 2012 http://www.seeedstudio.com/depot/grove-dust-sensor-p-1050.html
http://www.sca-shinyei.com/pdf/PPD42NS.pdf JST Pin 1 (Black Wire) => Arduino GND
JST Pin 3 (Red wire) => Arduino 5VDC
JST Pin 4 (Yellow wire) => Arduino Digital Pin 8
*/ int pin = ;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = ;//sampe 30s ;
unsigned long lowpulseoccupancy = ;
float ratio = ;
float concentration = ; void setup() {
Serial.begin();
pinMode(,INPUT);
starttime = millis();//get the current time;
} void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration; if ((millis()-starttime) > sampletime_ms)//if the sampel time == 30s
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0); // Integer percentage 0=>100
concentration = 1.1*pow(ratio,)-3.8*pow(ratio,)+*ratio+0.62; // using spec sheet curve
Serial.print(lowpulseoccupancy);
Serial.print(",");
Serial.print(ratio);
Serial.print(",");
Serial.println(concentration);
lowpulseoccupancy = ;
starttime = millis();
}
}
Here's what you can get
via serial promte, you can see:
For more information , you can check this out the link above.
Now please let me explain it from the bottom of it:
Let's see what the spec sheet carve of it:
The curve indicates that the bigger of the Concentration value is, the higher of the Low Pluse Occupancy will be.
So what's the Low Pulse Occupancy Time perentage for?
Let's check out this:
we count the time from the starting moment of the low pulse begins until the moment of next high pulse stops.
The time we can get is the cycle period. We can caculate the ratio of the LowPluseOccupancyTime/TheTimeWeSetToMeasure
# radio = LowPluseOccupancyTime/TheTimeWeSetToMeasure
With help of the chart which indicates the relationship of between the LowPulseOccupancyTimePercentage and the concentration, we can get the air quality value.
the unit of the concentration is : PCS/Liter.
PCS/liter is short for Particals / Liter
####################3
P.S. : There is another good air quality measuring module which looks like this :https://www.sparkfun.com/products/9689
I haven't tested it. But it looks neat and somehow better I guess.
So my next project will have something to do with a LIVE BROADCASTING AIR QUALITY STATION!
Let's see :)
Arduino 各种模块篇 粉尘传感器 dust sensor 空气质量检测的更多相关文章
- Arduino 各种模块篇 光敏感应模块 light sensor
It looks like this one: This one isn't a digital light sensor, so it's very simple. http://www.seeed ...
- Arduino 各种模块篇 摇杆模块
Arduino的另外几种模块,我们常见的joystick摇杆模块. 用起来很爽,摇杆 有X,Y轴可调 这里有一篇非常想尽的示例代码: http://www.geek-workshop.com/foru ...
- Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯
解决方案. 条件: 1.手机android 商店下载 blueTerm 2.向arduino中载入如下代码: char val; ; void setup() { Serial.begin(); pi ...
- Arduino 各种模块篇 motor shield
根据arduino官方网站出的shield, 类似的情况有很多中motor shield 这里测试采用的是http://www.seeedstudio.com/wiki/Motor_Shield_V1 ...
- Arduino 各种模块篇 震动模块 vibrator module
The vibrator I got works at the voltage ranging from 3.3V ~ 5.5V I want to make it vibrate variably. ...
- Arduino 各种模块篇 GPRS module 手机模块 短信 电话 上网 for texting, calling, internet
---恢复内容开始--- The GPRS shield which I tested is one which looks like this: ---恢复内容结束--- Need to be re ...
- Arduino 各种模块篇 震动模块 vibrator
vibrator is a good thing. it has multi-funtionality . :) Now the vibrator we choose is the one whic ...
- Arduino 各种模块篇 RGB LED灯
示例代码: 类似与这样的led,共阴rgb led,通过调节不同的亮度,组合成不同的颜色. 示例代码: /* 作者:极客工坊 时间:2012年12月18日 IDE版本号:1.0.1 发布地址:www. ...
- 【雕爷学编程】Arduino动手做(42)---PM2.5粉尘传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...
随机推荐
- 小记NodeJS两项小技巧(与HTTP相关)
1,兼容HTTP1.1和HTTP1.0 区别在content-length,1.0接受定长,不接受变长,导致transfer-encodeing的chunked模式无法识别,最终导致无法识别BODY. ...
- Codeforces 527C Glass Carving(Set)
意甲冠军 片w*h玻璃 其n斯普利特倍 各事业部为垂直或水平 每个分割窗格区域的最大输出 用两个set存储每次分割的位置 就能够比較方便的把每次分割产生和消失的长宽存下来 每次分割后剩下 ...
- php错误及异常捕捉
原文:php错误及异常捕捉 在实际开发中,错误及异常捕捉仅仅靠try{}catch()是远远不够的. 所以引用以下几中函数. a) set_error_handler 一般用于捕捉 E_NOTI ...
- 如何查看IC卡燃气表读数和剩余量?
如今新建的楼房都是使用IC卡燃气表,拿到房子入住时也没有见到IC卡燃气表的使用说明书.非常多人可能为此而苦恼.这里就讲一下怎样查看IC卡燃气表读数及剩余金额. 产品外观 可选功能 watermark/ ...
- 探讨javascript面向对象编程
(个人blog迁移文章.) 前言: 下面将探讨javascript面向对象编程的知识. 请不要刻意把javascript想成面向对象编程是理所当然的. javascript里面,对象思想不可少,但是不 ...
- 【剑指offer】Q32:从1至n整1出现的次数(python)
def q32(n, len): if n < 0: return 0 elif n <= 1: return n total = 0 while n > 0: if n >= ...
- Asterisk 未来之路3.0_0003
原文:Asterisk 未来之路3.0_0003 Asterisk: The Hacker's PBX 如果电信公司忽视了asterisk,那么正在处于危险中.asterisk 良好的扩展性,能够创建 ...
- js获取最近几天的日期(转载)
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- JavaScipt中对DOM的理解
一.理解DOM 浏览器通过文档对象模型DOM使JavaScript程序可以访问页面上的元素,而DOM是页面上XHTML中文档正文标题.段落.列表.样式ID.class以及所有其他出现的数据的一个内部表 ...
- Cocos2d-x在Android在竖屏切换
在Cocos2d-x在,屏幕类型的默认设置是横屏,当我们需要切换到肖像,能够在项目目录打开proj.android目录.找到AndroidManifest.xml文件,直接打开,然后就可以看到里面:s ...