空气质量监测器
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要的工具和机器
| ||||
|
应用和在线服务
|
关于这个项目
M 任何时候我们从床上醒来时都会感到非常虚弱,即使晚上睡得很好。有时会发生这种情况,因为晚上封闭的房间里空气质量很差。
这是一款低成本的空气质量监测器,可以使用 MQ135 空气质量传感器监测房间的空气质量。它还使用 DHT11 测量室温和湿度,并在 OLED 显示屏上显示数据。这是一个有趣的小项目,也非常有帮助。
接线 图> 图> 图>
连接:
- Arduino D2 到 DHT11 输出
- Arduino A0 到 MQ135 Ao
- Arduino A5 到 Oled SCL
- Arduino A4 到 Oled SDA
编码
在编码部分,您需要安装一些库来运行代码
- Adafruit_SSD1306.h
- Adafruit_GFX.h
- DHT.h
代码中有两个主要函数 sendSensor()
和 air_sensor()
.
在 air_sensor()
从空气质量传感器读取模拟值的函数 gasLevel =analogRead(sensor);
并定义相应 gasLevel
的质量 .而sendSensor()函数用dht
测量温湿度数据 库并将其显示在 oled 上。
在 air_sensor()
您可能需要庆祝您的 gasLevel
的功能 您的传感器的价值。为 mq135 传感器提供 5V 电源,并在使用前将其放在干净的环境中至少 24 小时。这种传感器是(燃烧)必要的,因为传感器被污染了。所以燃烧有助于它自我清洁并提供更准确的结果。
然后将传感器连接到您的电路并带着它出去并为您的位置调整正确的值。
代码
- Arduino 空气质量监测仪
Arduino 空气质量监测器Arduino
#include#include #include #include #include #include # include #define SCREEN_WIDTH 128 // OLED 显示宽度,以像素为单位#define SCREEN_HEIGHT 64 // OLED 显示高度,以像素为单位#define OLED_RESET 4 // 重置引脚 #(如果共享 Arduino 重置引脚,则为 -1)Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);#define sensor A0 #define DHTPIN 2 // 数字引脚 2#define DHTTYPE DHT11 // DHT 11int gasLevel =0; //气体级别的int变量字符串质量=“”; DHT dht(DHTPIN, DHTTYPE);void sendSensor(){ float h =dht.readHumidity();浮动 t =dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("从 DHT 传感器读取失败!");返回; } display.setTextColor(WHITE); display.setTextSize(1); display.setFont(); display.setCursor(0, 43); display.println("温度:"); 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);如果(gasLevel<181){质量=“好!”; } else if (gasLevel>181 &&gasLevel<225){ quality ="Poor!"; } else if (gasLevel>225 &&gasLevel<300){ quality ="非常糟糕!"; } else if (gasLevel>300 &&gasLevel<350){ quality ="你死了!"; } else{ 质量 ="有毒"; } display.setTextColor(WHITE); display.setTextSize(1); display.setCursor(1,5); display.setFont(); display.println("空气质量:"); display.setTextSize(1); display.setCursor(20,23); display.setFont(&FreeMonoOblique9pt7b); display.println(质量); }void setup() { Serial.begin(9600); pinMode(传感器,输入); dht.begin(); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c)) { // 地址 0x3D for 128x64 Serial.println(F("SSD1306 allocation failed"));} display.clearDisplay(); display.setTextColor(WHITE); display.setTextSize(2); display.setCursor(50, 0); display.println("空气"); display.setTextSize(1); display.setCursor(23, 20); display.println("质量监控");显示。显示();延迟(1200); display.clearDisplay(); display.setTextSize(2); display.setCursor(20, 20); display.println("BY Abid");显示。显示();延迟(1000); display.clearDisplay(); }void loop() {display.clearDisplay();air_sensor();sendSensor();display.display(); }
定制零件和外壳
这是我为该项目设计的 3D 外壳。但是你不需要一台 3d 打印机来构建一个,你可以用很多东西比如纸板来制作你自己的外壳。示意图
制造工艺