欢迎光临
我们一直在努力

《同呼吸,共命运》Arduino无线PM2.5传感器实验。

不知道各位有没有看过柴静的专题片《苍穹之下》,最近的恶劣天气又把雾霾推向了风口浪尖。

其实使用arduino就可以制作一个简单的粉尘检测工具。

先上成品图:

920997238438501620

QQ图片20161223150515

所需材料:

ZHONGBEST UNO R3主控板一块:购买链接

arduino无线下载器一套:购买链接

2节装电池盒带DC头一个:购买链接

14500电池3.7V锂电池两节:购买链接

夏普PM2.5粉尘传感器一个:购买链接

DIY杜邦头公端子10个,1P杜邦头10个:购买链接

外接供电可以换成6-9V的都可以。

杜邦线多干

第一步:夏普PM2.5粉尘传感器连接线DIY杜邦头

由于粉尘传感器默认配的连接线是一头类似电线,不太适合插入面包板,所以需要先DIY成功的杜邦头。如果没有杜邦头端子的,此步骤也可以省略。但是要确定数据线插入并且接入到面包板金属片。

DIY后的效果如下,DIY时候用镊子就可以制作冷压头了。PS:我这个夏普传感器用的比较久了,表面略有生锈。

606760960496754555

 

第二步:按照我们网站教程,连接PM2.5和UNO主控板。

教程地址:http://zhongbest.com/2016/08/30/%E5%A4%8F%E6%99%AE%E7%B2%89%E5%B0%98%E4%BC%A0%E6%84%9F%E5%99%A8/

接线图:

Open-Live-Writerb1da21b133f5_EFDF131234iqey7gqmvqisqcgs_thumb

 

第三步:连接无线下载器模块和UNO主控板。

无线下载器是我司独立开发的arduino专用模块,除了无线上传程序外,可以提供串口的远程反馈功能。因为一般测量粉尘都是在串口,所以用上此模块非常合适。

无线下载器教程:http://zhongbest.com/2016/12/08/arduino%E6%97%A0%E7%BA%BF%E4%B8%8B%E8%BD%BD%E5%99%A8/

接线图:

Open-Live-Writerf8a610cee14e_8AA820161208101253_thumb-1

 

下载器的电脑USB端,就插入电脑的USB。PS:下载器和主控板都是使用的CH340驱动,请记得安装。驱动下载点此

 

第四步:电池盒外接主控板供电。

电池盒装入2节14500电池,总电压输出大概是7.4左右,完全足够给UNO供电了。

 

第五步:上传程序

粉尘测量的程序我们已经为大家备好,只要复制黏贴上传即可。

int voutPin = 0; // 连接模拟口0
int ledPin = 2; // 连接数字口2
int samplingTime = 280;
int deltaTime = 40;
int sleepTime = 9680;
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0;
void setup(){
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
}

void loop(){
digitalWrite(ledPin,LOW); // power on the LED
delayMicroseconds(samplingTime);

voMeasured = analogRead(voutPin); // read the dust value

delayMicroseconds(deltaTime);
digitalWrite(ledPin,HIGH); // turn the LED off
delayMicroseconds(sleepTime);

// 0 - 5V mapped to 0 - 1023 integer values
// recover voltage
calcVoltage = (float)voMeasured * (5.0 / 1024.0);

// linear eqaution taken from

// Chris Nafis (c) 2012
if ( calcVoltage >= 0.6 )
{
     dustDensity = 0.17 * calcVoltage - 0.1;
}
else
{
     dustDensity = 0;
}

Serial.print("Raw Signal Value (0-1023): ");
Serial.print(voMeasured);

Serial.print(" - Voltage: ");
Serial.print(calcVoltage);
Serial.print("V");

Serial.print(" - Dust Density: ");

if( calcVoltage > 3.5 )
{
    Serial.print(">");  // unit: mg/m3
}

Serial.print(dustDensity);
Serial.println(" mg/m3");

delay(1000);

}

 

第六步:打开arduino串口监视器观看效果。

 

注意事项:

如果读书显示为异常或者为0,请检查线是不是都接触好。

 

实验思维扩展:

本实验主要是通过粉尘传感器来输出一个污染值,我们可以用这个污染值做很多事情。比如设置一个阈值报警器,可以是用蜂鸣器做声音的,也可以用发光二极管做光亮的。还可以用继电器模块去控制一些大功率电器的运行。如何扩展出自己的一套系统,可以自己想一下。

未经允许不得转载:Arduino-Maker » 《同呼吸,共命运》Arduino无线PM2.5传感器实验。

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

中贝斯特线上商城

旗舰店企业店