【Arduino综合项目】空气质量检测装置
![](https://yqfile.alicdn.com/img_552e5d3bcb86e734e9dd5df90d2ed3d6.jpeg)
功能介绍
本项目主要是实现基本的空气质量检测功能:
- PM2.5指数
- 空气质量指数
- 空气湿度
- 空气温度
准备材料
- Arduino UNO *1
- LCD 5110 *1
- DHT11温湿度传感器 *1
- MQ135空气质量检测模块 *1
- PM2.5粉尘检测传感器(GP2Y1010AU0F) *1
- 150欧电阻 *1
- 220uF电解电容 *1
- 面包板 *1
- 跳线若干
就不给出购买链接了,这些材料在某宝上随便一搜就有~
模块接线
LCD 5110与Arduino
LCD 5110 | Arduino | |
---|---|---|
RST | -> | 11 |
CE | -> | 12 |
DC | -> | 10 |
DIN | -> | 9 |
CLK | -> | 8 |
VCC | -> | 5V |
BL | -> | GND |
GND | -> | GND |
PM2.5粉尘检测传感器与Arduino
![](https://yqfile.alicdn.com/img_2315ef5bb34e7cfb4b69eb7277dbe677.jpeg)
![](https://yqfile.alicdn.com/img_19d767dd075d82d81868b266f618b2a3.jpeg)
GP2Y1010AU0F | Arduino | |
---|---|---|
1 | 150欧电阻 | 5V |
1 | 220uF电解电容 | GND |
2 | -> | GND |
3 | -> | 2 |
4 | -> | GND |
5 | -> | A0 |
6 | -> | 5V |
MQ135空气质量检测模块与Arduino
MQ135 | Arduino | |
---|---|---|
VCC | -> | 5V |
AOUT | -> | A1 |
GND | -> | GND |
DHT11温湿度传感器与Arduino
DHT11 | Arduino | |
---|---|---|
GND | -> | GND |
VCC | -> | 5V |
OUT | -> | 5 |
第三方库
#include <dht.h>
#include <LCD5110_Basic.h>
#include "MQ135.h"
下载地址:
dht.h
->https://arduino-info.wikispaces.com/file/view/DHT-lib.zip/545470280/DHT-lib.zipLCD5110_Basic.h
->http://www.rinkydinkelectronics.com/download.php?f=LCD5110_Basic.zipMQ135.h
-> https://codeload.github.com/GeorgK/MQ135/zip/master
如果不知道如何手动加载库文件,或者不知道怎么使用库,请参考我之前写的基础教程:
- 【Arduino基础教程】LCD5110显示屏
- 【Arduino基础教程】DHT11温湿度传感器
- 【Arduino基础教程】MQ135空气质量检测模块
源程序
#include <dht.h>
#include <LCD5110_Basic.h>
#include "MQ135.h"//空气质量
MQ135 gasSensor = MQ135(1);//LCD5110
LCD5110 myGLCD(8,9,10,11,12);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];//温湿度
dht DHT;
#define DHT11_PIN 5//PM2.5
int dustPin=0;
float dustVal=0;
int ledPower=2;
int delayTime=280;
int delayTime2=40;
float offTime=9680;
float a=0;
String s0 = " ";
String s1 = " ";
String s2 = " ";
String s3 = " ";void setup()
{Serial.begin(115200);pinMode(ledPower,OUTPUT);pinMode(dustPin, INPUT);myGLCD.InitLCD(); //Intializing LCDmyGLCD.setContrast(55);
}void pm25(){digitalWrite(ledPower,LOW); delayMicroseconds(delayTime);dustVal=analogRead(dustPin); delayMicroseconds(delayTime2);digitalWrite(ledPower,HIGH); delayMicroseconds(offTime);if (dustVal>36.455)a = (float(dustVal/1024)-0.0356)*120000*0.035;s0 = String("PM2.5: "+String(a));myGLCD.setFont(SmallFont);myGLCD.print(s0,0,8);
}void ht(){Serial.print("DHT11, \t");int chk = DHT.read11(DHT11_PIN);switch (chk){case DHTLIB_OK: Serial.print("OK,\t"); break;case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break;case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); break;case DHTLIB_ERROR_CONNECT:Serial.print("Connect error,\t");break;case DHTLIB_ERROR_ACK_L:Serial.print("Ack Low error,\t");break;case DHTLIB_ERROR_ACK_H:Serial.print("Ack High error,\t");break;default: Serial.print("Unknown error,\t"); break;}// DISPLAY DATASerial.print(DHT.humidity, 1);Serial.print(",\t");Serial.println(DHT.temperature, 1);myGLCD.setFont(SmallFont);s1 = String("H : " + String(int(DHT.humidity)) + " %");myGLCD.print(s1,0,24);myGLCD.setFont(SmallFont);s2 = String("T : " + String(int(DHT.temperature))+" C");myGLCD.print(s2,0,32);}void ppm(){float ppm = gasSensor.getPPM();s3 = String("Air: " + String(ppm)+"ppm");myGLCD.print(s3,0,16);}void loop(){ myGLCD.setFont(SmallFont);myGLCD.print("Hello World",CENTER,0);pm25();ht();ppm();delay(2000);myGLCD.clrScr();
}
源程序下载地址
:https://github.com/wwwxmu/ArduinoAirQuality
附:测试得到的数据和空气质量对照:
3000 + = 很差
1050-3000 = 差
300-1050 = 一般
150-300 = 好
75-150 = 很好
0-75 = 非常好
附:室内空气质量对照表
![](https://yqfile.alicdn.com/img_ca50e4084c7edd10995a8ea0b9a7ba25.jpeg)
【Arduino综合项目】空气质量检测装置相关推荐
- 基于 STM32 空气质量检测装置设计
一.毕业设计的背景和依据 现在,人们大约一半的时间是在室内度过的,室内空气质量与我们每个人的工作和生活 都息息相关,因此对生活环境的空气质量提出了更高的要求.针对雾霾.室内装修等污染问 题,人们还没有 ...
- arduino智能闹钟_【Arduino综合项目】小闹钟
小闹钟项目 在额济纳支教这一年,给孩子们上了很多Arduino开发的课,也带他们完成了几个Arduino综合项目,下面陆续把这些小项目放上来,欢迎围观~~~非科班出身,C语言学的不好,望各路大神批评指 ...
- python爬空气污染实时数据_python数据分析综合项目--空气质量指数分析
项目背景 近年来,我国的环境问题比较严重,很多城市出现了雾霾天气,当然也有很多城市空气依旧清新,为了研究具体的空气环境城市分布,我们采用了假设检验以及线性回归的思想对AQI(空气质量指数)进行分析和预 ...
- 使用Arduino和CCS811空气质量传感器进行TVOC和CO2测量
"可悲的是,我们以进步的名义,污染了空气.水.土壤和我们吃的食物".因此,由于各种污染,现在监测空气质量至关重要.为设计空气质量监测系统,我们需要一些耐用可靠的空气质量传感器.虽然 ...
- arduino读取水位传感器的数据显示在基于i2c的1602a上_构建Arduino的LoRa远程智能空气质量监测系统...
背景知识视频教程 Arduino分步指南:完整指南 - 国外课栈viadean.com Arduino微控制器:学习Arduino制作项目 - 国外课栈viadean.com 通过构建实际应用程序 ...
- Arduino空气质量监测仪
Arduino空气质量监测仪 介绍 组件耗材 项目描述 电路图 代码 附件 介绍 DIY Arduino空气质量监测器可以测量周围的空气质量,还可以显示您房间的温度和湿度. 组件耗材 元件名 数量 空 ...
- 一个简单的空气质量数据监测站项目
大气质量数据监测站用于测试空气质量监测及数据采集,实现野外或者室内空气质量的检测.并通过网络将数据上传到OneNet显示. 1.项目概述 本项目是一个定制项目,要求采集大气的压力.温度.湿度.PM ...
- OneNET麒麟座应用开发之十:空气质量数据监测站项目总结
大气质量数据监测站用于测试空气质量监测及数据采集,实现野外或者室内空气质量的检测. 1.项目概述 本项目是一个定制项目,要求采集大气的压力.温度.湿度.PM25.位置等数据并上传到指定的后台服务器.但 ...
- 【PBL项目实战】户外智慧农场项目实战系列——7.Mind+Mixly双平台工业级多合一空气质量传感器数据上云及云端可视化展示
[PBL项目实战]户外智慧农场项目实战系列--7.Mind+Mixly双平台工业级多合一空气质量传感器数据上云及云端可视化展示 原文链接 https://mp.weixin.qq.com/s/ZEU ...
最新文章
- PDD面试题:new一个对象的过程中发生了什么?
- mysql 清空row_MySQL_TRUNCATE_清空table里的记录
- jQuery样式操作
- mysql中的联结_MySQL的联结(Join)语法
- LintCode初级题——fizz buzz
- php结构的项目,ThinkPHP修改项目结构
- 8天玩转并行开发——第二天 Task的使用
- 台达EH3系列PLC进行MODBUS RTU通信的具体方法和步骤(非常详细)
- 【程序源代码】微信小程序开发视频(2021年最新版本)
- 飞鸽传书2007绿色版还需要遵循些基本的原则
- Zstack协议栈中CC2530协调器掉电重启后重新加入之前网络的方法
- 十五、分布式相关理论
- 逆向分析系列——查壳侦壳工具
- 摄影的工作原理:相机,镜头等
- java 持久监听blockqueue的变化_Curator目录监听
- 团队的强大不在于人强马壮,而在于有效管理
- OGC服务标准(地图资料篇.3)
- OpenGL---GLUT教程(四) GLUT动画
- 微信小程序集成实时音视频通话功能
- GGNMOS ESD保护器件