news 2026/6/6 14:11:39

毕设项目分享 stm32智能鱼缸监控投喂系统(源码+硬件+论文)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
毕设项目分享 stm32智能鱼缸监控投喂系统(源码+硬件+论文)

文章目录

  • 0 前言
  • 1 主要功能
  • 2 硬件设计(原理图)
  • 3 核心软件设计
  • 4 实现效果
  • 5 最后

0 前言

🔥
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩毕业设计 stm32智能鱼缸监控投喂系统(源码+硬件+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

🧿项目分享:见文末!

实物演示效果

毕业设计 stm32智能鱼缸监控投喂系统 - 单片机 嵌入式 物联网

1 主要功能

题设计的目的为实现鱼缸换水、投食、远程监控,实时数据显示、远程操控的一体化和智能化。该设计具有科研和实用两重价值。

  • 1 自动加水,当水位过低时自动启动水泵,向鱼缸内自动加水

  • 2 自动放水,当水位过低时启动放水阀(用继电器模拟),当水位达到标准时停止防水

  • 3 换水启动,当监测到水质过于浑浊,自动开始防水,并触发自动加水逻辑

  • 4 自动投食,每日固定时间投食(用继电器模拟)

  • 5 状态显示,传感器数据实时显示于OLED屏上

  • 6 远程交互,传感器数据通过wifi模块远程上传到上位机客户端上

  • 7 远程控制,上位机可通过wifi模块,向单片机发送远程指令,控制其换水,投食

2 硬件设计(原理图)

3 核心软件设计

对于本次智能鱼缸的系统设计,如果需要实现其理想的功能,需要对温度采集模块、OLED显示模块、继电器控制模块、按键控制模块、WIFI模块等进行模块化编程,最后通过主程序的系统结合,实现智能鱼缸的主要功能需求。其主程序控制流程如下图

上位机部加粗样式分设计

上位机界面通过Python程序语言进行开发,通过无线传输数据的方式即可实现无线监控。当用户输入正确的IP地址以及指定端口登录后,后台系统开始运行。

应用界面设计主要由Python应用程序完成,以连接STM32和ESP8266模块,使用适合的GUI框架,例如Tkinter,PyQt等。再设计主窗口的大小、标题、背景颜色等基本属性,并使用Tkinter提供的组件,诸如Frame、Label、Entry、Button等组件来构建界面,同时为相应的组件设置属性。在这个应用程序中,Label组件可以用于添加提示语句,Entry组件可以接受用户输入的串口号、波特率等参数,Button组件在设计时应该能够实现连接和断开操作等。

在代码中,需要使用pySerial模块实现串口通信,来连接STM32和ESP8266模块。首先,需要导入pySerial模块,并通过串口的设定创建Serial对象,设置好相关参数,然后使用open()方法打开串口。构建和设置基本属性,通过pySerial模块实现串口通信的过程,连接STM32和ESP8266模块,并保证良好的用户交互和异常处理机制。连接通讯流程图如图

篇幅有限,不过多复述详细设计细节,详细的设计分享在论文中。。。

关键代码

#include"stm32.h"uchar PageNum=0;//0显示温湿度 1显示温度和报警数值2显示湿度和报警数值floatTemp_Data=0;uchar AlarmTemp[]={32,20};//高低温度unsignedcharFeedTime[3]={0};//喂食时间unsignedcharO2Time[3]={0};//充氧气时间unsignedcharLoopTime[3]={0};//水循环时间sbit RELAY1=P2^2;//加水继电器sbit RELAY2=P2^1;//加热继电器sbit RELAY3=P2^0;//放水继电器sbit ENA=P3^2;sbit ENB=P3^3;voidTimerInit(void);voidGetTemp(void);voidPageInit(void);voidPageDisplay(void);voidDataLoad(void);//数据加载voidTempInit(void);//voidHeatControl(void);//加热自动控制voidTimer1_Init(void);//50毫秒@11.0592MHzvoidIncO2Control(void);voidFeedControl(void);voidLoopControl(void);unsignedcharFeedSecond=0;unsignedcharO2Second=0;unsignedintLoopSecond=0;unsignedcharCountTime[3]={0};//水循环时间计时voidmain(void){Delay_1ms(100);LCD_Init();TimerInit();PageInit();DataLoad();TempInit();Timer1_Init();while(1){GetTemp();DS1302_Read();FeedControl();HeatControl();IncO2Control();PageDisplay();LoopControl();Delay_1ms(50);}}voidTimer0_Serve(void)interrupt1{TH0=(65535-20000)/256;//20MS定时TL0=(65535-20000)%256;LCD_Refresh();//LCD刷新KEY_Scan();}voidTimer1_Serve(void)interrupt3//50ms定时{staticunsignedcharT50MS=0;TL1=0x00;//设置定时初值TH1=0x4C;//设置定时初值T50MS++;if(T50MS>=20){T50MS=0;CountTime[2]++;if(CountTime[2]>=60){CountTime[2]=0;CountTime[1]++;if(CountTime[1]>=60){CountTime[1]=0;CountTime[0]++;if(CountTime[0]>23)CountTime[0]=0;}}if(FeedSecond>0)FeedSecond--;if(O2Second>0)O2Second--;if(LoopSecond>0){LoopSecond--;}}}voidHeatControl(void)//加热控制{/*------------------低于下限开始加热---------------------*/if(Temp_Data<AlarmTemp[1]){RELAY1=0;}/*------------------高于上限停止加热---------------------*/if(Temp_Data>AlarmTemp[0]){RELAY1=1;}}voidTimerInit(void){TMOD&=0xF0;TMOD|=0X01;//T1工作在定时模式, T0 工作在8位自动重载计数TL0=(65535-20000)%256;//T0工作在定时模式 50ms定时TH0=(65535-20000)/256;ET0=1;TR0=1;EA=1;}voidPageDisplay(void){/*---------------------------------------------------------*/if(KeyVal=='E'){KeyVal=0;PageNum++;if(PageNum>4){PageNum=0;}PageInit();}/*-------------------------------------------------------*/switch(PageNum){/*-------------------------------------------------------*/case0://显示和设置实时时间{LCD_DisplayDate(0,Date);LCD_DisplayTime(16,Time);if(KeyVal=='S'){KeyVal=0;SetRTC();}}break;/*-------------------------------------------------------*/case1://显示实时温度和上下限值{TempDisplay(5,Temp_Data);DisplayU8(18,AlarmTemp[0]);//DisplayU8(26,AlarmTemp[1]);//if(KeyVal=='S'){KeyVal=0;SetTempHigLow(AlarmTemp);WrToROM(AlarmTemp,5,2);//温度存储地址0}}break;/*-------------------------------------------------------*/case2:{LCD_DisplayTime(16,FeedTime);if(KeyVal=='S'){KeyVal=0;SetClockTime(FeedTime);WrToROM(FeedTime,20,3);}}break;/*-------------------------------------------------------*/case3:{LCD_DisplayTime(16,O2Time);if(KeyVal=='S'){KeyVal=0;SetClockTime(O2Time);WrToROM(O2Time,25,3);}}break;/*-------------------------------------------------------*/case4:{LCD_DisplayTime(16,LoopTime);if(KeyVal=='S'){KeyVal=0;SetClockTime(LoopTime);WrToROM(LoopTime,30,3);}}break;default:{PageNum=0;PageInit();}break;}/*-------------------------------------------------------*/}voidIncO2Control(void){if(1==CompareClock(O2Time,Time)){O2Second=60;}if(O2Second>0)RELAY2=0;elseRELAY2=1;}voidFeedControl(void){if(1==CompareClock(FeedTime,Time)){FeedSecond=10;}if(FeedSecond>0){ENA=0;ENB=1;}else{ENA=1;ENB=1;}}voidLoopControl(void){if(1==CompareClock(LoopTime,CountTime)){CountTime[0]=CountTime[1]=CountTime[2]=0;LoopSecond=60;}if(LoopSecond>0){RELAY3=0;}else{RELAY3=1;}}

4 实现效果

下位机

上位机实现效果

实物演示效果

毕业设计 stm32智能鱼缸监控投喂系统 - 单片机 嵌入式 物联网

5 最后

包含内容


配套详细设计论文

🧿项目分享:见文末!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 9:57:25

HuggingFace镜像网站部署Sonic模型,加速国内用户下载

HuggingFace镜像网站部署Sonic模型&#xff0c;加速国内用户下载 在短视频、虚拟主播和在线教育等AI内容生产场景中&#xff0c;一个清晰的问题日益凸显&#xff1a;如何让普通人也能快速生成“会说话的数字人”&#xff1f;理想的技术路径应当是——只需一张照片、一段语音&am…

作者头像 李华
网站建设 2026/6/5 2:05:35

ESP-IDF下载配置指南:Wi-Fi模块快速入门

从零开始玩转 ESP32&#xff1a;Wi-Fi 模块开发入门实战指南 你有没有过这样的经历&#xff1f;买了一块 ESP32 开发板&#xff0c;兴冲冲地插上电脑&#xff0c;结果第一步就被卡在了环境搭建上——命令找不到、串口打不开、编译报错满屏飞。别急&#xff0c;这几乎是每个嵌入…

作者头像 李华
网站建设 2026/6/3 11:13:14

Sonic模型为何能在轻量级设备上流畅运行?架构解析来了

Sonic模型为何能在轻量级设备上流畅运行&#xff1f;架构解析来了 在短视频、虚拟主播和在线教育快速发展的今天&#xff0c;越来越多的应用场景需要“会说话的数字人”——一个能根据音频自动张嘴、表情自然、唇形精准对齐的虚拟形象。然而&#xff0c;传统方案往往依赖复杂的…

作者头像 李华
网站建设 2026/5/30 6:45:18

Sonic能否生成背影人物?背面视角局限性说明

Sonic能否生成背影人物&#xff1f;背面视角局限性说明 在短视频、虚拟直播和AI内容创作爆发的今天&#xff0c;一个只需一张照片和一段语音就能“开口说话”的数字人&#xff0c;正从科幻走向现实。腾讯联合浙江大学推出的Sonic模型&#xff0c;正是这一趋势下的代表性成果——…

作者头像 李华
网站建设 2026/5/30 15:48:18

Sonic数字人能否识别重音节奏?语义强调响应

Sonic数字人能否识别重音节奏&#xff1f;语义强调响应 在短视频内容爆炸式增长的今天&#xff0c;用户对虚拟主播、AI教师、智能客服等数字人角色的要求早已不止于“能说话”——他们需要的是一个会表达、有情绪、懂强调的拟真形象。然而&#xff0c;大多数现有方案仍停留在基…

作者头像 李华