1. 项目概述:当STM32遇上智能水族生态
去年帮学弟调试他的毕业设计时,我彻底被这个智能鱼缸系统惊艳到了。传统鱼缸管理需要人工投喂、频繁换水、时刻关注水温,而这个基于STM32的系统通过几个传感器和执行模块,实现了全自动化管理。最让我意外的是,整套方案成本不到200元,却解决了90%的日常维护工作。
这个系统本质上是一个微型物联网终端,核心功能包括:通过水质传感器监测PH值、溶解氧等关键参数;利用DS18B20实时采集水温;根据预设条件自动触发喂食器和循环泵;还能通过OLED屏本地显示数据,或通过WiFi模块上传到手机APP。特别适合那些经常出差又爱养鱼的朋友,再也不用担心回家看到"翻缸"的惨剧了。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计解析
2.1 硬件选型背后的考量
主控选用STM32F103C8T6这款"国民级"ARM芯片不是没有道理的。相比Arduino,它拥有72MHz主频和20KB RAM,能流畅处理多传感器数据融合;相比更高端的STM32F4系列,10元出头的价格对毕设预算非常友好。我实测过同时处理4路传感器数据+驱动OLED显示时,CPU占用率仅35%左右。
传感器配置方案值得细说:
- 水质检测选用TDS传感器模块(30元左右),通过ADC采集电导率换算溶解氧
- 水温监测用DS18B20(8元),单总线协议节省IO口
- 水位检测用自制电极+比较器电路(成本不到2元)
- 投喂装置用SG90舵机(12元)改造,比步进电机省电且便宜
2.2 软件架构的三层设计
系统采用典型的"采集-决策-执行"三层架构:
c复制// 伪代码示例
while(1) {
sensor_data = read_all_sensors(); // 采集层
control_cmd = decision_making(sensor_data); // 决策层
execute_actions(control_cmd); // 执行层
delay(1000);
}
其中决策层逻辑最复杂,需要处理这些情况:
- 当水温>28℃时启动散热风扇
- TDS值>500ppm触发换水报警
- 每天固定时间执行两次投喂
- 水位低于阈值时关闭水泵防干烧
