1. 项目概述:STM32智能鱼缸监控投喂系统设计
养鱼爱好者常面临水质管理、定时投喂和远程监控三大难题。传统鱼缸需要人工定期检测pH值、水温等参数,投喂时间也难以精确控制。这个基于STM32的智能鱼缸系统,通过传感器网络和自动控制模块,实现了鱼缸环境的24小时无人值守管理。
我在实际测试中发现,系统核心价值在于将离散的环境参数采集、设备控制和用户交互整合为闭环系统。主控采用STM32F103C8T6最小系统板,搭配5种关键传感器和3类执行机构,通过WiFi模块实现手机App远程监控。整套硬件成本控制在200元以内,比市售成品智能鱼缸便宜60%以上。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 硬件组成框图
系统采用模块化设计,主要包含:
- 控制中枢:STM32F103(72MHz主频,64KB Flash)
- 传感模块:
- DS18B20防水温度传感器(±0.5℃精度)
- PH-4502C pH传感器(0-14量程)
- TDS水质检测模块(0-1000ppm)
- 光敏电阻(检测光照强度)
- 水位开关(防溢出保护)
- 执行机构:
- 5V微型潜水泵(流量1L/min)
- SG90舵机控制的投食装置
- 12V LED补光灯带(PWM调光)
- 通信模块:ESP8266 WiFi(AT指令模式)
- 人机交互:0.96寸OLED+按键
关键选型原则:传感器优先选择数字输出型号,减少STM32的ADC资源占用。执行机构需考虑防水性能,特别是投喂机构要避免饲料受潮。
2.2 软件架构设计
系统采用前后端分离架构:
- 嵌入式端:FreeRTOS实时操作系统
- 任务1:传感器数据采集(1Hz)
- 任务2:设备控制(事件触发)
- 任务3:通信处理(MQTT协议)
- 手机端:Android原生开发
- 数据可视化(折线图+仪表盘)
- 远程控制界面
- 异常报警推送
3. 核心功能实现细节
3.1 多传感器数据融合
环境参数采集面临的主要挑战是信号干扰。我们的解决方案:
c复制// 温度采样示例(均值滤波)
float Get_Temperature() {
float sum = 0;
for(uint8_t i=0; i<5; i++)
