当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]我们大多数人对室内呼吸的气体情况一无所知。厨房燃气调节器缓慢泄漏液化石油气,故障燃烧器突然释放一氧化碳,或是油漆、清洁喷雾和通风不良导致空气浑浊、挥发性有机物(VOC)浓度过高——这些情况都看不见,也未发出警告,直到问题严重才被察觉。

我们大多数人对室内呼吸的气体情况一无所知。厨房燃气调节器缓慢泄漏液化石油气,故障燃烧器突然释放一氧化碳,或是油漆、清洁喷雾和通风不良导致空气浑浊、挥发性有机物(VOC)浓度过高——这些情况都看不见,也未发出警告,直到问题严重才被察觉。

我想要一个小型设备,能同时完成两项功能:

•作为气体泄漏报警器——检测可燃性和有毒气体(如液化石油气/丙烷、甲烷/天然气、一氧化碳),一旦浓度超过危险阈值,立即发出警报提醒。

•作为空气质量监测站——持续报告空气质量指数、二氧化碳浓度以及总挥发性有机物含量,让我清楚知道房间何时需要通风。

最重要的是,它必须在我不看的时候也能通知我。如果我在另一个房间或外出,仅靠蜂鸣声是毫无用处的。因此,整个装置通过Wi-Fi连接T***gram:当检测到泄漏时,会向我的手机推送通知;当一切恢复正常时,则发送“安全无忧”的消息。

大脑是一款基于DFRobot Beetle ESP32-C6的设备——一块内置WiFi的硬币大小电路板,这正是实现手机提醒功能的关键。所有传感器均来自DFRobot的即插即用重力生态系统,因此整个构建过程无需焊接。为了将一堆裸露的PCB板变成你真正想放在架子上的实用设备,它被安置在JUSTWAY设计的一款精巧的3D打印蜂窝状房屋造型外壳内,其蜂窝式通风结构同时为传感器提供了完美的气流通道。

以下是制作方法:

主要功能(一目了然)

- 通过MEMS气体传感器持续监测CO、CH₄(甲烷)、LPG/丙烷等气体。

- 通过专用空气质量传感器持续监测AQI(1–5级)、eCO₂(ppm)和TVOC(ppb)。

- 在128×64 OLED屏幕上实时显示仪表盘,并配有醒目的“安全”、“警告”和“!警报!”提示横幅。

- 发现泄漏时,屏幕会倒置并闪烁,内置LED灯会闪烁,同时向你的手机推送包含精确读数的T***gram报警信息。

- 当空气质量恢复安全时,系统会发送“一切正常”的通知消息。

- 可独立运行,即使WiFi断开,本地警报仍可正常工作,仅跳过手机通知。

所需材料清单

硬件

•1× DFRobot Beetle ESP32-C6 — 微控制器,支持WiFi和蓝牙,体积小巧,配备USB-C接口。

•1× DFRobot Gravity MEMS气体传感器(MiCS-4514)——可检测CO、CH₄、LPG、C₂H₅OH、H₂、NH₃、NO₂,I²C接口。

•1× DFRobot Gravity ENS160空气质量传感器 — 用于测量AQI、eCO₂、TVOC,I²C接口。

•1× DFRobot Gravity OLED-2864显示屏(128×64,SSD1306)——仪表盘,I²C接口。

•1× Gravity I²C集线器/分线器(或短距离串联线缆)——将三个I²C设备连接至同一总线。

•Gravity四针线缆 — 每个传感器通常附带。

•1× USB-C数据线 + 5V电源/移动电源 — 供电与编程。

•1× JUSTWAY 3D打印外壳 — 此项目中展示的“小房子”造型。

软件与工具

•Arduino IDE(或arduino-cli)

•ESP32开发板支持(Espressif “esp32”核心)

•DFRobot库:DFRobot_MICS、DFRobot_ENS160

•Adafruit库:Adafruit_SSD1306、Adafruit_GFX

•T***gram账号 + @BotFather机器人

•3D打印机(或打印服务)用于制作外壳

为什么选择这些传感器?(两分钟入门说明)

理解两个气体传感器之间的区别是本项目最关键的概念——它们并非冗余,而是互补关系。

MiCS-4514(气体泄漏传感器)是一种MEMS金属氧化物传感器,包含两个加热的检测元件——氧化通道和还原通道。通过测量每个元件电阻的变化,其内置库可估算特定气体的浓度(ppm单位),包括一氧化碳、甲烷、液化石油气/丙烷、氢气、乙醇、氨气和二氧化氮。这是您的安全/泄漏传感器,它会回答:“当前是否存在危险浓度的特定气体?”

ENS160(空气质量传感器)是一款现代数字多气体传感器,内置独立算法,可输出单一的空气质量指数(1–5)、等效CO₂值以及总挥发性有机化合物(VOC)浓度。这是您的舒适/健康传感器,它会回答:“长期呼吸这种空气是否令人感到舒适且健康?”

将两者结合使用,您便拥有了一个小型住宅中兼具烟雾报警器式“立即撤离”提示与“打开窗户”提醒功能的系统。

需要了解的一点是:每次启动MiCS-4514时,都需要在洁净空气中进行约3分钟的预热。在此期间,传感器会测量并存储洁净空气下的基准值,之后的所有读数均以该基准为参考。因此,务必在通风良好的地方为设备通电,并让倒计时完成后再用气体进行测试。

第一步——打印外壳(JUSTWAY设计)

本项目所用的外壳是由JUSTWAY设计的一款3D打印“小房子”,正是这一设计使整个项目从面包板实验提升为一件成品。

有几个方面使得这个打印件非常适合用于气体/空气监测器——值得欣赏其设计意图:

•蜂窝式通风结构。

屋顶两侧斜面均布满六边形孔洞,这些孔洞不仅具有装饰作用,更是气流通道。外部空气(以及任何泄漏的气体)可自由穿过蜂窝结构,直达MiCS-4514和ENS160传感器表面。如果采用密封箱体,传感器将无法“呼吸”;而这种通风式屋顶设计让传感器得以持续“呼吸”。

•山墙窗设计。

房屋一端在山墙处开有一个小矩形窗户。在窗户后方安装OLED显示屏,实时读数便会像微小农舍的灯光般从其中亮起。

•圆形舷窗+缝隙。

正面设有一个圆形开口(便于让状态指示灯透过,或突出传感器面板),并配有细长缝隙,作为USB-C电源接口使用,非常实用。

•内部安装环。

内部打印包含圆柱形安装支架,位于搁板墙内,方便安装圆形模块,并防止堆叠时晃动。

•开放式底部。

整个机身可像钟楼一样轻松拆卸,您可将其盖在电子设备上,随时取下进行重置或重新布线。

打印参数建议:

•材料:PLA(若放置于温暖环境,可选用PETG)

•层高:0.2毫米

•墙壁/边框:3

•填充率:15–20%

•支撑结构:通常无需支撑——蜂窝桥接即可;仅在打印窗口悬空部分较难时,才添加少量支撑

•方向:打印房屋时保持竖直(朝下为开放面),以获得最干净的通风孔

照片中呈现的奶油色与白色双色效果,是由于打印过程中在某一层高度处简单更换了线材(即“颜色交换”)。完全可选,但效果非常出色。

提示:不要用胶带、贴纸或油漆覆盖蜂窝式通风口。保持其完全暴露,以便传感器能快速检测到泄漏。

第二步 — 线路连接(无需焊接)

此处所有电路板均支持I²C协议,而I²C是一种总线系统,所有设备共享相同的四条线路(SDA、SCL、VCC/3V3、GND),并通过唯一地址进行区分。这意味着你可以通过Gravity I²C集线器,将三个模块全部连接至Beetle单个I²C总线上(或使用分线电缆连接Gravity接口)。

将所有设备并联连接至Beetle ESP32-C6的I²C引脚:

•SDA → Beetle SDA(默认线)→ OLED + ENS160 + MiCS上的SDA

•SCL → Beetle SCL(默认线)→ OLED + ENS160 + MiCS上的SCL

•3V3 → Beetle 3V3 → 所有模块上的VCC

•GND → Beetle GND → 所有模块的 GND

每个设备都位于自己的地址,因此不会发生冲突:

•OLED-2864(SSD1306):0x3C

ENS160 空气质量:0x53

•MiCS-4514 气体传感器:0x75

在继续之前进行一次检查:上传一个简单的 I²C 扫描程序,并确认串口监视器中显示的是 0x3C、0x53 和 0x75。如果其中缺少一项,几乎总是由于重力线缆松动所致——请重新插好。确保这三个值都能正确显示,可以大大避免后续的调试麻烦。

关于电源:MiCS-4514 内部带有加热元件,会消耗较多电流。请使用可靠的 USB-C 电源或移动电源为 Beetle 提电,并使用符合标准的数据质量 USB 数据线。使用过细的充电线可能会导致电压下降,使电路随机断开连接。

第三步 — 设置软件环境

•安装 Arduino IDE。

•通过“工具”→“管理板”添加 ESP32 支持(Espressif 的 “esp32” 核心)。

•选择“DFRobot Beetle ESP32-C6”板卡并设置正确的 COM 端口。

•从库管理器(或 DFRobot 的 GitHub)安装以下库:DFRobot_MICS、DFRobot_ENS160、Adafruit SSD1306、Adafruit GFX。

两个重要且实用的设置,可为你节省大量时间:

•启用“USB CDC 启动时开启”。在 Beetle ESP32-C6 上,除非在板子菜单中开启 USB 串口(工具 → 启动时启用 USB CDC → 开启),否则串口监视器不会通过 USB 显示。如果希望在调试时查看数据滚动显示,请现在进行此操作。

•DFRobot_MICS 库有一个小问题,会导致它无法在 ESP32-C6 上直接编译(因为它引用了一个 C6 核心未定义的模拟引脚名称)。解决方法是在库头文件顶部添加一行保护代码——如果你遇到提示 A0 的编译错误,那这个就是问题所在。

步骤 4 — 按照固件刷入设备

完整的固件文件位于代码部分,名为 GasAirMonitor.ino。你不需要理解每一行代码,但顶部有一段必须自行修改的内容,上传前需进行个性化设置。这部分包含你的 WiFi 和 T***gram 帐户信息:

你也可以在这里调整报警灵敏度——CO 和甲烷的阈值,以及被定义为“差”的 AQI 等级,这些都位于代码顶部的简单 #define 定义中。默认设置对家庭环境来说是合理的:

•一氧化碳 (CO) — 警告:35 ppm,报警:100 ppm

•甲烷 (CH₄) — 警告:1000 ppm,报警:5000 ppm(约 10% LEL)

•液化石油气 / 丙烷 — 报警:已检测到

•空气质量指数 — 警告:AQI ≥ 4

填写你的 WiFi 和 T***gram 信息(下一步会自动获取 T***gram 的配置),然后点击上传即可。至此,代码部分就完全由你自主完成。

步骤 5 — 创建你的 T***gram 机器人并开启警报通知

这正是让项目感觉神奇的部分——手机上会收到一条真正的推送通知,耗时大约三分钟。

创建一个机器人。在 Telegram 中搜索 @BotFather,开启聊天,然后发送 /newbot。按照提示操作(给它起个名字和用户名)。BotFather 会回复一个类似 123456789:AAE.... 的机器人令牌,将其复制到 TG_TOKEN 中。

向你的机器人打招呼。打开新创建的机器人并发送任意消息(例如“hi”)。机器人在你主动发消息之前无法先给你发消息——这一步就是“打开大门”。

查找你的聊天 ID。最简单的方法是:发送消息给 @userinfobot,它会立即回复你的数字ID。将这个号码复制到 TG_CHAT_ID 中。(或者你可以从机器人的 getUpdates API 端点读取该值。)

重新上传草图,并填写好全部四个数值。

现在,当设备启动并连接到 Wi-Fi 的那一刻,你会收到一条友好的“Gas + Air 监测器上线”提示。这条确认信息证明了整个 Wi-Fi → Telegram 的数据传输流程已经正常运行——甚至还没测试过单个气体数据。

想要将提醒信息放在群聊中而不是私聊?只需将机器人加入群组,然后使用该群组的聊天 ID(它会是一个负数)。小组中的每个人都会收到泄漏警报。

步骤6 — 首次开机与预热

将设备放置在空气清新、干净的地方,并通过USB-C供电。此时你会看到以下内容:

短暂的启动界面,随后显示“正在连接WiFi...”,连接成功后显示本地IP地址。

手机会震动,提示“监控在线”的T***gram消息。

OLED屏幕上会出现3分钟的预热倒计时(MICS预热 02:59……)。这是MiCS-4514建立洁净空气基准值的过程,请等待其完成。在此期间,设备内置LED灯会缓慢闪烁。

当倒计时归零时,显示屏切换至实时仪表盘。

仪表盘可一目了然地显示以下信息:

顶部:空气质量指数(AQI),附带“良好”或“中等”等描述词,以及eCO₂和TVOC浓度。

•中间:CO和CH4浓度(ppm)及是否检测到液化石油气(LPG)。

•底部:醒目的状态横幅——安全(SAFE)、警告(WARNING)或!警报!(! ALARM !)。

在洁净室内空气中,气体数值应显示为0,eCO₂接近约400–500 ppm(新鲜空气基准值),TVOC含量较低,且安全状态横幅显示为明亮的绿色。

步骤7 — 安全测试泄漏检测功能

现在是让设备发出声音的时候了。最安全的家庭方式是使用未点燃的打火机来触发可燃气体通道:

将设备预热并显示为“安全”状态后,将未点燃的打火机靠近蜂窝状通风口,按燃气按钮几秒钟,释放一小股丁烷/液化石油气(切勿点燃,并在远离火焰的通风良好区域进行操作)。

一两秒内,LPG 信号灯会变为“是”,横幅跳转至“!警报!”,OLED 显示屏将倒置并闪烁,LED 灯将快速闪烁。

你的手机震动:“燃气警报:液化石油气泄漏!”并附有实时读数。

移开打火机,让新鲜空气进入通风口。一旦气体浓度下降,警示横幅将恢复为“安全”,你也会收到“全部清空”的提示信息。

为了避免垃圾信息,当泄漏持续存在时,重复的提醒会被限速(每分钟约一条消息),你会立即收到通知,然后被提醒,而不会导致手机过热。

如果在测试过程中泄漏未如预期容易触发,你可以自行降低示意图顶部的气体阈值。只需重新启动并再次尝试即可。

步骤8 — 最终组装

OLED显示屏安装在山墙窗后,确保外部可清晰看到读数。

将MiCS和ENS160传感器放置在蜂窝屋顶下方,使它们的感应面能获得最大气流。保持通风口畅通无阻。

将USB-C数据线从前面的缝隙/窗口处引出以供电。

整理好Gravity电缆,确保没有堵塞任何通风口,然后将JUSTWAY房屋整体盖上整个堆叠结构。

完成!你现在拥有一座可爱的小屋,安静地守护着你的空气。

总结

对于一个无需焊接的下午DIY项目来说,这款产品物超所值:它是一款真正的多功能安全报警器和空气质量监测站,通过T***gram可随时随地与你联系,再加上JUSTWAY外壳的设计,看起来就像一件你愿意放在厨房台面上的设备。Beetle ESP32-C6内置的WiFi功能将所有这些特性连接在一起,把一叠传感器变成了守护你呼吸空气的智能守护者。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

Aug. 13, 2026 ---- 根据TrendForce集邦咨询最新调查,2026年第二季全球OLED显示器市场展现强劲的成长韧性。在各大品牌厂商陆续推出新机种、带动整体出货量的同时,适逢“618”年度大型电商节庆...

关键字: 产业链 OLED 显示器

我用M5Stack的M5AtomS3R制作了一个小型四足机器人。它配备了一个OLED SSD1306显示屏,眼睛生动可爱,可以通过M5卡电脑进行编辑和控制。目标是让它尽可能简单、低成本、可爱又酷炫。

关键字: 四足机器人 OLED M5Stack

OLED 屏幕的 FPC 排线(连接显示驱动 IC 到面板玻璃)在铰链或边框处需要 180° 弯折,这个区域是整条 FPC 最脆弱的一环——弯折半径过小、铜箔类型不对、走线方向错误,轻则阻抗跳变导致显示闪烁,重则铜裂断线...

关键字: OLED FPC排线

摆线传动是机器人技术的核心。它们是一种高性能的齿轮箱,广泛应用于机械臂、人形机器人和四足机器人中,已成为工业标准。其显著特点是高精度,这得益于极小的回差。与谐波传动等其他驱动方式相比,摆线传动的独特之处在于可通过增材制造...

关键字: 摆线传动 机器人 3D打印

使用Beetle ESP32-C6、DFRobot SEN0500多传感器、W25Q32 SPI NOR闪存芯片、可充电3.7V电池以及JUSTWAY定制的3D打印外壳,构建一台完全自主运行的环境记录仪。该设备可连续十年...

关键字: 传感器 环境记录仪 3D打印 Beetle ESP32-C6

一个月前,我手里拿着一个GNSS模块,心里在想:我可以开发一个导航设备,只要输入目的地的坐标,设备就能在我不走路时持续显示到目标的距离和方向吗?那个简单的问题成为了这个项目开始的起点。

关键字: GNSS模块 显示屏 ESP32-C6

除了光学红外输出外,许多电表还配备RS485接口,可通过该接口提供用电数据,例如用于控制家庭太阳能系统。根据地区和能源供应商的不同,数据通常通过广为人知的MODBUS RTU协议或所谓的SML协议(智能消息语言)传输。本...

关键字: OLED 显示屏 RS485
关闭