Arduino空气质量监测仪

news/2024/12/29 12:01:29/

Arduino空气质量监测仪

    • 介绍
    • 组件耗材
    • 项目描述
    • 电路图
    • 代码
    • 附件

介绍

DIY Arduino空气质量监测器可以测量周围的空气质量,还可以显示您房间的温度和湿度。
在这里插入图片描述

组件耗材

元件名数量
空气质量传感器MQ1351
Arduino Nano1
DHT111
0.96IIC OLED显示屏1

项目描述

这是一款低成本的空气质量监测仪,可以使用MQ135空气质量传感器监测房间的空气质量。 它还使用 DHT11 测量室温和湿度,并在 OLED 显示屏上显示数据。 这是一个有趣的小项目,也很有帮助。这是一款低成本的空气质量监测仪,可以使用MQ135空气质量传感器监测房间的空气质量。它还使用 DHT11 测量室温和湿度,并在 OLED 显示屏上显示数据。这是一个有趣的小项目,也很有帮助。
布线
在这里插入图片描述连接:

Arduino D2 到 DHT11 输出 Arduino A0 至 MQ135 Ao Arduino A5 至 Oled SCL Arduino A4 to Oled SDA 

编码

在编码部分,您需要安装一些库来运行代码

Adafruit_SSD1306.h Adafruit_GFX.h DHT.h 

代码中有两个主要功能 和 . sendSensor() air_sensor()

在 功能,它从空气质量传感器读取模拟值 并定义相应的质量 .和 sendSensor() 函数测量温度和湿度数据 库并将其显示在 OLED 上。 air_sensor() gasLevel = analogRead(sensor); gasLevel dht

在 您可能需要庆祝的功能 对传感器的价值。对于该电源,mq135传感器为5V,并在使用前将其放在清洁的环境中至少24小时。这种传感器(燃烧)是必要的,因为传感器被污染了。因此,燃烧有助于它自我清洁并提供更准确的结果。 air_sensor() gasLevel

然后将传感器连接到您的电路并带着它走到外面,并根据您的位置调整正确的值。

电路图

在这里插入图片描述

代码

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include<Adafruit_SSD1306.h>
#include <Fonts/FreeSans9pt7b.h>
#include <Fonts/FreeMonoOblique9pt7b.h>
#include<DHT.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#defineSCREEN_HEIGHT 64 // OLED display height, in pixels#define OLED_RESET     4// Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH,SCREEN_HEIGHT, &Wire, OLED_RESET);#define sensor    A0 
#define DHTPIN2          // Digital pin 2
#define DHTTYPE DHT11     // DHT 11int gasLevel= 0;         //int variable for gas level
String quality =""; 
DHT dht(DHTPIN,DHTTYPE);void sendSensor()
{float h = dht.readHumidity();float t = dht.readTemperature();if (isnan(h) || isnan(t)) {Serial.println("Failedto read from DHT sensor!");return;}display.setTextColor(WHITE);display.setTextSize(1);display.setFont();display.setCursor(0, 43);display.println("Temp  :");display.setCursor(80, 43);display.println(t);display.setCursor(114, 43);display.println("C");display.setCursor(0,56);display.println("RH    :");display.setCursor(80, 56);display.println(h);display.setCursor(114, 56);display.println("%");
}void air_sensor()
{gasLevel = analogRead(sensor);if(gasLevel<181){quality = "GOOD!";}else if (gasLevel >181 && gasLevel<225){quality ="  Poor!";}else if (gasLevel >225 && gasLevel<300){quality= "Very bad!";}else if (gasLevel >300 && gasLevel<350){quality= "ur dead!";}else{quality = " Toxic";   
}display.setTextColor(WHITE);display.setTextSize(1);  display.setCursor(1,5);display.setFont();display.println("Air Quality:");display.setTextSize(1);display.setCursor(20,23);display.setFont(&FreeMonoOblique9pt7b);display.println(quality);}void setup() {Serial.begin(9600);pinMode(sensor,INPUT);dht.begin();if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c)) { // Address0x3D for 128x64Serial.println(F("SSD1306 allocation failed"));
}display.clearDisplay();display.setTextColor(WHITE);display.setTextSize(2);display.setCursor(50, 0);display.println("Air");display.setTextSize(1);display.setCursor(23, 20);display.println("Qulaity monitor");display.display();delay(1200);display.clearDisplay();display.setTextSize(2);display.setCursor(20, 20);display.println("BY Abid");display.display();delay(1000);display.clearDisplay();    
}void loop() {
display.clearDisplay();
air_sensor();
sendSensor();
display.display();}

附件

电路,代码文件评论区显示


http://www.ppmy.cn/news/742008.html

相关文章

空气污染预测

空气污染预测 摘要 作者&#xff1a;胡耀文 本文用北京2010年到2014年气压风向雨雪量等相关物理量的数据集&#xff0c;用LSTM做模型优化&#xff0c;来预测PM2.5浓度。 目前均方差在34左右&#xff0c;还有优化空间。后续会爬取广州的相关天气信息&#xff0c;来预测广州的…

MM32F103空气质量检测仪

还是我的风格&#xff0c;开篇先啰嗦&#xff1a; 闲来无事&#xff0c;太难的不会&#xff0c;就想玩玩手里的吃灰板子。 去年在灵动的活动中获得一块MM32L073为主控的开发板&#xff0c;型号为eMiniBoard MB-023。当时测评就写了一个开箱和串口测试&#xff0c;现在重新捡起来…

【瞎折腾系列】MM32F103空气质量检测仪

还是我的风格&#xff0c;开篇先啰嗦&#xff1a; 闲来无事&#xff0c;太难的不会&#xff0c;就想玩玩手里的吃灰板子。 去年在灵动的活动中获得一块MM32L073为主控的开发板&#xff0c;型号为eMiniBoard MB-023。当时测评就写了一个开箱和串口测试&#xff0c;现在重新捡起来…

代码随想录第八天|反转字符串、双指针

代码随想录第八天 Leetcode 344 反转字符串Leetcode 541 反转字符串 IILeetcode 剑指 Offer 05. 替换空格Leetcode 151. 反转字符串中的单词Leetcode 剑指 Offer 58 - II. 左旋转字符串 Leetcode 344 反转字符串 题目链接: 反转字符串 自己的思路:要交换第一个元素和最后一个元…

【三】当输入表是输出表从表时,两表主键不一致,如何使用kettle同步

如果对于基本操作不太了解的可以去看我的第一篇推文 【一】kettle使用表输入&#xff0c;表输出控件入门小demo 目录 一、表结构1、输入表结构2、输出表结构 二、需求描述三、kettle表输入1、sql内容2、配置详情 四、kettle表输出五、进行节点连接 一、表结构 1、输入表结构 2…

电脑换IP后,改虚拟机里的IP

虚拟网关配置好&#xff0c;改成和你电脑一样的网段 cd /etc vim hosts 改成你想要的 cd /etc/sysconfig/network-scripts vim ifcfg-en... 改成你想要的 cd /etc/sysconfig/ vim network 改成你想要的

在线绘制函数图像和在线图标绘制网址

经过寻找&#xff0c;找到了几个在线绘制函数图像的网址&#xff0c;可以不用matlab和geogebra软件绘制了。 数学函数图像&#xff1a; 第一个&#xff1a;Desmos 首推 第二个&#xff1a;fooplot 可以绘制分段函数比如&#xff1a; (x>1)x*3/(3*x1) (x<1)x*3/4 …

python 画隐函数图像 画三维显函数图像

import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np#隐函数画法1 xrange np.linspace(-2 ,2, 400) yrange np.linspace(-2, 2, 400)X, Y np.meshgrid(xrange,yrange) R Y**2 X**2 plt.contour(X,Y,R,[1]) plt.show()##########…