ESP8266空气质量检测器制作

现在日子过得好了,大家越来越关心空气质量了。那能不能自己动手搞一个迷你空气检测站呢?当然可以!这篇文章就一步一步带你做,从零开始,手把手教你搭一个属于你自己的小空气监测站——虽然可能不太专业,但玩起来挺有意思!
1
下载ArduinoIDE

我们要使用 Arduino IDE 编程工具,将编写好的程序烧录到单片机中。请前往 Arduino 官网首页,下载并安装该编程工具。
2
修改配置




12
下载完成后,打开 Arduino IDE,依次点击 文件 > 首选项,在“附加开发板管理器网址”一栏中填入以下地址:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
然后点击“确定”保存设置。
3
开发准备




12
在完成开发板管理器地址的配置后,接下来需要安装 ESP8266 的开发板支持包。具体操作如下:
- 点击 Arduino IDE 顶部菜单栏中的 工具(Tools),然后选择 开发板(Board) > 开发板管理器(Boards Manager)。
- 在弹出的“开发板管理器”窗口中,等待索引加载完成后,在搜索框中输入 ESP8266。
- 找到由 ESP8266 Community 提供的 "esp8266 by ESP8266 Community" 条目,点击右侧的 “安装” 按钮,等待依赖包下载并自动安装完成。
安装成功后,关闭开发板管理器窗口。接着再次点击 工具(Tools) > 开发板(Board),在下拉列表中找到 ESP8266 模块(ESP8266 Modules) 分类,并从中选择 “Generic ESP8266 Module” 作为当前使用的开发板。
这一步确保了 Arduino IDE 能够正确识别和编译适用于 ESP8266 芯片的代码,为后续的程序烧录做好准备。
4
电源部分





123
准备一个4节电池的电池盒和DC插头,使用破线钳去除外皮,再把电池盒和DC的线合在一起,注意DC的黄色线是正极不要接反。
5
电路图




12
各个组件接到Arduino Uno的接线:
- MQ-135空气质量传感器
- VCC:连接到Uno的5V
- GND:连接到Uno的GND
- OUT:连接到Uno的A0
- SSD1306显示屏
- VCC:连接到Uno的5V
- GND:连接到Uno的GND
- SDA:连接到Uno的A4
- SCL:连接到uno的A5
- 有源蜂鸣器
- +(正极):连接到Uno的5V
- -(负极):连接到Uno的D3
- LED报警灯
- 长脚(+):连接到Uno的D2
- 短脚(-):连接到Uno的GND
6
Arduino代码

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
#define MQ135_PIN A0
#define LED_PIN 2
#define BUZZER_PIN 3
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// 阈值(需根据实际校准)
int GOOD_THRESHOLD = 150; // 空气良好
int POOR_THRESHOLD = 300; // 需要通风
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
// 初始关闭 LED 和蜂鸣器
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, HIGH); // 注意:HIGH = 关闭(因负极接引脚)
Serial.begin(115200);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("OLED init failed!");
for (;;); // 卡死
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Air Monitor");
display.display();
delay(2000);
}
void loop() {
int sensorValue = analogRead(MQ135_PIN);
Serial.print("MQ135: ");
Serial.println(sensorValue);
String status;
if (sensorValue < GOOD_THRESHOLD) {
status = "Good";
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, HIGH); // 关闭蜂鸣器
} else if (sensorValue < POOR_THRESHOLD) {
status = "Fair";
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, HIGH); // 关闭蜂鸣器
} else {
status = "VENTILATE!";
digitalWrite(LED_PIN, HIGH); // 开启报警 LED
digitalWrite(BUZZER_PIN, LOW); // 蜂鸣器响(拉低)
delay(100); // 响 100ms
digitalWrite(BUZZER_PIN, HIGH); // 关闭蜂鸣器
}
// 更新 OLED 显示
display.clearDisplay();
display.setCursor(0, 0);
display.print("MQ135: ");
display.println(sensorValue);
display.setCursor(0, 16);
display.print("Status: ");
display.println(status);
display.display();
delay(1000);
}
7
外壳










12345678
准备好打印的3D外壳和一把镊子,有镊子夹住LED灯泡在侧面最小的圆塞出来,之后继续使用镊子把蜂鸣器塞入侧面另一个洞中。接下来找到MQ-135空气检测模块放入顶部的圆中,使用热熔胶固定,下一步就是放入OLED屏幕,方式和其他的一样,使用热熔胶固定即可,最后使用侧板封住即可。
盒.stl
76.84KB
盖.stl
3.40KB
0
0
0
qq空间
微博
复制链接
分享 更多相关项目
猜你喜欢
评论/提问(已发布 0 条)
0