基于 STM32 的水质检测系统设计方案
本设计基于STM32F103C8T6单片机开发了一套智能水质检测系统,集成PH值、浑浊度和温度传感器,通过OLED屏实现本地数据显示,并借助ESP8266模块实现物联网远程监控。系统具备阈值报警功能,支持本地按键和手机APP双模式参数设置,可实时监测水质变化。硬件选用高性价比模块,软件实现数据采集、处理与传输的全流程控制,为水质监测提供了一套完整的解决方案。
视频展示
基于STM32单片机的水质检测系统,物联网APP控制。
一、功能设计
1、主控单元功能
主控单元以 STM32F103C8T6 单片机核心板为核心,承担系统核心控制与数据处理职责,具体功能如下:
-
数据接收与解析:实时接收 PH 酸碱度、浑浊度、温度(DS18B20)传感器的模拟 / 数字信号,通过内置 AD 转换器转换并解析为可识别的 PH 值、浑浊度值、温度值。
-
阈值管理与判断:存储水质参数阈值,对比实时检测数据与阈值,超出阈值时触发相应提示(如 LED 灯状态变化)。
-
外设驱动控制:驱动 0.9 寸 OLED 显示屏显示数据,控制 WiFi 模块(ESP8266)传输数据,响应按键指令切换 OLED 界面、修改阈值。
2、感知系统功能
感知系统由 PH 酸碱度传感器、浑浊度传感器、DS18B20 温度传感器组成,功能如下:
-
PH 值采集:实时采集水体 PH 值,范围覆盖常见水质检测场景(如 0-14),为水质酸碱度判断提供数据。
-
浑浊度采集:检测水体浑浊程度,输出对应模拟信号,反映水体洁净状态。
-
温度采集:DS18B20 传感器精准采集水温(-55℃-125℃),为水质参数的温度补偿及环境监测提供依据。
3、显示与远程传输功能
该功能实现本地数据可视化与远程监控,具体如下:
-
本地 OLED 显示:通过 I2C/SPI 协议与 STM32 连接,实时显示 PH 值、浑浊度、水温,支持按键切换至阈值修改界面,数据 1 秒 / 次刷新。
-
远程数据传输与控制:ESP8266 模块连接 STM32 与云端,将实时水质数据上传至云端;同时接收 APP / 云端下发的阈值修改指令,反馈至主控单元更新阈值。
4、APP 与云端功能
APP 与云端为远程交互核心,功能如下:
-
数据查看:APP 从云端获取实时水质数据(PH、浑浊度、温度),以数字、简单图表形式直观展示。
-
阈值控制:APP 支持手动修改水质参数阈值,指令经云端、WiFi 模块传输至 STM32,完成阈值更新。
5、系统整合功能
-
模块联动:感知系统采集数据→主控解析处理→OLED 显示 + WiFi 传至云端→APP 查看;APP 修改阈值→云端→WiFi→主控更新。
-
数据统一管理:主控对检测数据、阈值进行存储,确保 OLED 显示、云端传输的数据一致。
二、硬件选择
|
硬件模块 |
型号 / 规格 |
选择理由 |
|
主控单元 |
STM32F103C8T6 单片机核心板 |
性价比高,I/O 口、AD 转换功能充足,支持 SPI/I2C,满足多模块控制,开发资料丰富。 |
|
OLED 显示屏 |
0.9 寸 OLED 屏(I2C 接口,128×64 分辨率) |
体积小、功耗低,I2C 接线简单,分辨率满足数据显示需求。 |
|
PH 酸碱度传感器 |
模拟量 PH 传感器(0-14PH) |
检测范围覆盖常见水质,输出模拟信号适配 STM32 AD 采集,成本低。 |
|
浑浊度传感器 |
模拟量浑浊度传感器(0-2000NTU) |
检测范围符合日常需求,模拟信号易采集,适配系统设计。 |
|
温度传感器 |
DS18B20 数字温度传感器 |
检测精度高(±0.5℃),单总线通信,接线简单,适配 STM32 控制。 |
|
WiFi 模块 |
ESP8266 WiFi 模块(ESP-01S) |
支持 WiFi 通信,串口连接 STM32,配置简单,满足云端数据传输需求。 |
|
LED 灯 |
单色 LED 灯(红色)+ 限流电阻(1kΩ) |
结构简单,可指示系统状态(如阈值超标时点亮),成本低。 |
|
按键 |
轻触按键(2 个) |
用于切换 OLED 界面、确认阈值修改,操作便捷,适配系统交互需求。 |
|
电源模块 |
5V/2A 直流电源模块 |
输出稳定,满足 STM32、传感器、WiFi 模块等所有硬件的供电需求。 |
三、使用功能说明
1、系统启动与初始化
-
连接 5V 电源,STM32 自动启动,完成传感器、WiFi、OLED 初始化;OLED 显示 “系统初始化中...”,初始化完成后显示实时水质数据(PH、浑浊度、温度)。
-
WiFi 模块自动连接预设热点,成功后 OLED 显示 “WiFi 已连接”,开始向云端传输数据。
2、水质检测功能
-
系统启动后,PH、浑浊度、DS18B20 传感器实时采集数据,经 STM32 解析后,OLED 每 1 秒刷新显示当前 PH 值(如 “PH:7.2”)、浑浊度(如 “浑浊度:50NTU”)、温度(如 “温度:25℃”)。
3、阈值修改功能
-
本地修改:按第一个按键切换 OLED 至 “阈值修改界面”,显示当前 PH、浑浊度阈值;按第二个按键调整阈值数值(如每次 ±0.1PH),调整完成后再次按第一个按键确认保存。
-
远程修改:打开 APP,进入 “阈值设置” 界面,输入目标 PH、浑浊度阈值,点击 “确认”;指令经云端、WiFi 模块传输至 STM32,完成阈值更新,OLED 同步显示新阈值。
4、数据查看功能
-
本地查看:直接观察 OLED 屏幕,实时获取 PH、浑浊度、温度数据及当前阈值。
-
远程查看:打开 APP,进入 “数据监控” 界面,实时查看云端同步的水质数据,数据 5 秒 / 次自动刷新。
5、状态指示功能
当检测到 PH 值或浑浊度超出设定阈值时,红色 LED 灯自动点亮;数据恢复正常后,LED 灯熄灭,提示用户水质异常。
四、产品展示
1、核心模块展示
-
主控模块:STM32F103C8T6 核心板固定在 PCB 板中央,板载电源灯、工作灯,电源灯常亮表示供电正常,工作灯闪烁表示系统运行正常。
-
传感器模块:PH、浑浊度传感器通过杜邦线连接 STM32 模拟量引脚,DS18B20 连接数字引脚,传感器探头可直接放入待检测水体。
-
通信与显示模块:ESP8266 模块通过串口与 STM32 连接,固定在 PCB 板边缘;0.9 寸 OLED 屏粘贴在 PCB 板正面,便于观察;4 个轻触按键位于 OLED 屏下方,操作便捷。
2、功能演示效果
-
水质检测演示:将传感器探头放入水体,OLED 快速显示当前 PH、浑浊度、温度数据,APP 同步更新;若向水体加入酸性溶液,PH 值下降,超出阈值时红色 LED 灯点亮。
-
阈值修改演示:按按键切换至阈值界面,调整 PH 阈值从 7.0 改为 6.5 并确认,OLED 显示新阈值;APP 端修改浑浊度阈值,STM32 接收后同步更新,演示远程控制功能。
更多推荐



所有评论(0)