基于单片机的智能鱼缸控制系统的设计与实现

收藏和点赞,您的关注是我创作的动力

文章目录

    • 概要
  • 一、开发技术和原理的相关知识
    • 2.1开发设计目标
    • 2.2 开发设计使用技术和原理
    • 2.2.1嵌入式技术
    • 2.2.2传感器技术
  • 二、基于单片机的智能鱼缸控制系统的总体设计
    • 3.1智能鱼缸控制系统的基本组成
    • 3.1.1系统的构成部分
    • 3.2需求分析
    • 3.2.1功能性需求
    • 3.2.2系统的功能流程
  • 三 系统设计概要
    • 4.1总体设计
    • 4.2智能鱼缸控制系统的控制参数
    • 4.3系统的硬件组成
    • 4.4系统的软件设计
  • 四、 各个功能模块的软件设计
    • 5.3.2系统的主程序和中断服务程序
  • 四、 结论
  • 五、 文章目录

概要

  近几年,随着经济水平的发展,现在的居住环境也得到了质的飞跃,各个装饰业也在这些年悄然出现,鱼缸也成为我们国家很多家庭用于装饰居家环境的青睐物,但是在现在的中国,生活工作节奏越来越快,大多数的家庭拥有观赏鱼缸的水族爱好者表示日常没有过多的时间和精力去对鱼缸进行日常的维护工作,因此本文设计的基于单片机的智能鱼缸控制系统有着实用和实际意义,本文的设计的智能鱼缸控制系统基于STC89C52单片机,主要组成结构有:单片机控制模块、温度检测调节模块、液位传感器模块、电机计时计次喂食模块、供电模块。其工作以STC89C52单片机作为控制的核心,通过温度检测调节模块、液位传感器模块的检测工作返回数据给控制中心,并由控制核心判断是否进行温度的控制、水位和喂食的指令,并将数据显示到LCD1602。

关键词:温度控制 水位控制 单片机 STC89C52 温度传感器 液位传感器

一、开发技术和原理的相关知识

  

2.1开发设计目标

一种集温度检测和控制、水位感应(液位传感)、计时投食和数据显示的一体化智能鱼缸控制体系。能够实现温度检测,当温度低于最低温度时间加热,并且能够自动控制加热温度,能够感应水位状态自动加水和定时给鱼缸投食。

2.2 开发设计使用技术和原理

2.2.1嵌入式技术

本项目采用嵌入式设计,软件和硬件结合实现所设计的功能,其响应速度快、可独立运行的优点在开发方面有着优势,本智能鱼缸控制系统的设计使用52单片机,其存储量比51单片机更大。

2.2.2传感器技术

传感器技术在现代开发设计上起到稳定可靠的技术基础和技术保障,现代各个领域的研发都设计传感器技术,传感器技术在各个领域的研发设计上提供了可靠准确而实时的数据技术保障,例如温度传感器、距离传感器、光线传感器、压力、液位湿度传感器等。传感器技术得到普遍利用,传感器不仅可以代替我们人体手动测量数据,更能高效准确地得到我们人体无法直接感受到的信息。可以直接取代人体自身感官。无论在航空军事等顶尖技术领域还是在农业和家居等日常领域,传感器技术都是属于获取数据信息技术的基础。本项目设计的智能鱼缸控制系统也广泛运用到了传感器技术。

二、基于单片机的智能鱼缸控制系统的总体设计

3.1智能鱼缸控制系统的基本组成

3.1.1系统的构成部分

系统主要分为水温检测调节模块、液位检测控制模块、计时投食模块、系统显示模块4个功能模块,各个模块设计:
水温检测调节模块:系统可手动设定最高温度和最低温度的温度区间、由DS18B20数字温度传感器检测到当前温度,实现信号转换,将温度信号转换为数字信号,然后通过已写入控制核心的程序进行识别和检测到当前温度不在所设定的最高温度到最低温度的范围内且低于所设定的最低温度时,加热器启动并进行加热,加热所设定的温度区间中的最高温度时停止加热,以此来保持温度在所设的温度区间值内。
液位检测控制模块:常用的液位检测模块有超声波检测(使用超声波水位计)和使用液位传感器检测,超声波检测有着精确度高、检测水位的过程中受影响因素少等特点、但是超声波水位计价格昂贵,多用于精密度要求高的高分子液位检测,基于成本考虑,本设计采用的是液位传感器df-893,通过两个液位传感器一个检测最高水位一个检测最低水位,其工作原理与温度检测相似,当液位传感器检测到鱼缸水位在两个液位传感器中间时,不进行其他工作,当水位低于最低水位时,传感器将检测到的水位信号值转化为数字信号,再由单片机识别、控制执行电路进行水位的增加,当水位到最高水位时,停止加水。
计时投食模块:系统可以手动设定投食时间,当计时器检测到达到投食时间的时候,由单片机控制执行电路投食。
系统显示模块:系统的各个既定和设定参数显示在LCD1602,包括温度,投食时间等。

3.2需求分析

3.2.1功能性需求

智能鱼缸控制系统是以鱼缸环境的控制和调节为主,其系统的主要功能是对水温检测和调节,水位的检测和调节,定时投食等自动化操作,集成以自动鱼缸内温度环境的检测调节、水位的检测和调节、自动喂食等一体化的智能鱼缸控制系统。

3.2.2系统的功能流程

本设计的智能鱼缸控制系统功能流程图如图3.1所示。
在这里插入图片描述

图3.1 系统功能流程图

三 系统设计概要

4.1总体设计

智能鱼缸控制系统的设计分为每个功能模块的硬件部分和由单片机控制的软件部分。硬件部分包括对时间,温度和液位的感知,并传送所有信息到控制端。软件部分包含信号的转换,分析温度和液位的临界值、时间的分析,并将得到的信号转换为电信号,控制温度、液位、电机喂食的实现。

4.2智能鱼缸控制系统的控制参数

本系统的控制参数如表4.1所示。

表4.1 系统的控制参数
在这里插入图片描述

4.3系统的硬件组成

本设计的智能鱼缸控制系统的功能分为多个模块组成模块,其组成分为核心控制模块、DS18B20数字温度传感器、时钟控制模块、电机。控制模块以STC89C52单片机为控制核心,分析传感器模块和时钟控制模块获取到的信号,控制其他功能模块的工作;DS18B20数字温度传感器的主要功能是鱼缸内温度的检测,获取到当前的温度值并返回到单片机控制核心;时钟控制模块的功能是整个系统的时钟参数的提供;不同的电机的功能是实现自动喂食器。系统的整体硬件结构见图4.3所示。
在这里插入图片描述

图4.3 智能鱼缸控制系统的整体硬件结构
系统的控制部分是:
中央控制模块:主要基于CPU内核,包括晶体振荡器,复位电路等。该模块的主要功能是处理单片机每个引脚的信号以及命令和参数。通过绿色能源模块接收,然后发出各种控制信号。通过驱动硬件完成与各种控制信号相对应的相关操作。
系统的输入部分和系统的输出部分:
温度检测模块:输入部分包含温度传感器的获取实时温度功能,传感器获取数值。当然温度传感器获取的数据需要进行转换才能够识别,所以也需要运用到A/D转换器。温度传感器作用是获取温度信号值,但是单片机识别不了其信号只能识别数字信号,所以温度需要转换为数字信号给单片机识别。

4.4系统的软件设计

根据系统功能要求,基于系统硬件电路设计了智能鱼缸控制系统。C语言作为本次设计开发所使用的程序。根据本次系统设计的软件设计思路,将整个系统划分为多个模块,包括系统的主程序、系统的中断、包括实时温度值和时间倒计时的数值获取模块、鱼缸生存环境其余参数的获取模块、按键控制功能对应按键的程序等。

四、 各个功能模块的软件设计

系统软件的设计是完成鱼缸内生产环境检测监督的重要部分,也是如何把拼接在一起的硬件有目的性地实现所需功能的通道和方法。由已知的系统功能需求焊接了硬件,然后又以硬件为基础进行对应功能的软件设计,所以软件设计是需要在硬件设计以及建立的基础上完成的。
为了达到更高效更层次分明以及便于日后软件调试和进行软件的完善和升级,本设计的软件设计部分采用了以大化小的方式,对系统的功能和硬件构成进行了分解和分析。把智能鱼缸控制系统分解为了多个模块进行有结构有层次地完成软件设计部分。有必要在模块化设计中将整个控制系统分为几个模块,这是将复杂问题转化为许多小问题的常用方法。关于解决问题的大量实验表明,复杂性可以减少解决问题的总工作量。而单片机程序的实现,是使用了单片机的C语言进行开发。分化出的模块主要有本系统的主程序、单片机的时钟读取与写入和初始化、df-893上下液位检测、设定温度上限值和下限值和喂食电机的驱动等。经过对本系统的模块排序和功能的解析,决定采用keil进行开发。

5.3.2系统的主程序和中断服务程序

本设计的控制系统主要程序的作用有很多,例如检测鱼缸中的生存环境的状况,以数据的形式返回以便直观了解。而本次系统的软件设计是以分解大系统为各个小模块来设计的,数个小模块有对应的实现方式,把分解出来的各个模块组合在一起实现鱼缸生存环境的状况监督和自动投食,系统的主程序流程图如图5.12所示。
在这里插入图片描述

图5.12 系统的主程序工作流程图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、 结论

本设计的智能鱼缸控制系统结合实际地通过调查研究的功能以及根据鱼缸水族爱好者对一些功能的必须性要求,从不同的功能需求和市场需求的角度进行了设计和开发,设计完成出了结合温度检测控制,液位检测和自动喂食功能的一体集成智能鱼缸控制系统。且该控制系统设在设计上安排合理,成本贴合于市场的需求,对于没有过多时间管理鱼缸的水族爱好者来说方便而且实际,本设计便于生产,可以广泛运用在各个场所。
在技术上,本设计的控制系统采用了多项高新技术,例如传感器计算和嵌入式控制技术。在硬件的排版和设计上,本设计采用了各个硬件独立工作的方式,结合实际采用了成本亲民且抗干扰性好的硬件设备。软件设计方面采用了分解整个系统为分模块化设计,层次分明,便于日后系统的完善和升级。整体的设计使得本系统的响应速率快、可靠性强,稳定性高。

五、 文章目录

目录
1.绪论 1
1.1选题背景 1
1.2课题研究现状 1
1.3课题研究目的 2
2.开发技术和原理的相关知识 3
2.1开发设计目标 3
2.2 开发设计使用技术和原理 3
2.2.1嵌入式技术 3
2.2.2传感器技术 3
3.基于单片机的智能鱼缸控制系统的总体设计 4
3.1智能鱼缸控制系统的基本组成 4
3.1.1系统的构成部分 4
3.2需求分析 5
3.2.1功能性需求 5
3.2.2系统的功能流程 5
4.系统设计概要 6
4.1总体设计 6
4.2智能鱼缸控制系统的控制参数 6
4.3系统的硬件组成 6
4.4系统的软件设计 7
5.系统软硬件详情设计 8
5.1单片机的设计 8
5.1.1单片机型号选择 8
5.1.2最小系统设计 9
5.2各个功能模块的硬件设计 10
5.2.1时钟电路模块 10
5.2.2液晶显示模块 11
5.2.3液位检测模块 12
5.2.4温度检测控制模块 12
5.2.5自动定时投食模块 13
5.3各个功能模块的软件设计 14
5.3.1系统软件设计方法和介绍 14
5.3.2系统的主程序和中断服务程序 14
5.3.3时钟DS1302显示模块的软件设计 15
5.3.4温度检测控制模块的软件设计 17
5.3.5电机驱动程序 18
5.4硬件设备的实物图 18
5.4.1液位传感器df-893 18
5.4.2数字温度传感器DS18B20 19
5.4.2智能鱼缸控制系统的整体硬件设计图 19
6.系统测试 20
6.1系统功能测试 20
6.1.1LCD1602显示和数字温度传感器DS18B20温度检测测试 20
6.1.2液位检测模块的测试 22
6.1.3自动喂食模块的检测 23
7.结论 25
8.参考文献 26
9.致谢 27
10.附录 28

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/179867.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【生物信息学】单细胞RNA测序数据分析:计算亲和力矩阵(基于距离、皮尔逊相关系数)及绘制热图(Heatmap)

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. 读取数据集2. 质量控制(可选)3. 基于距离的亲和力矩阵4. 绘制基因表达的Heatmap5. 基于皮尔逊相关系数的亲和力矩阵6. 代码整合 一、实验介绍 计算亲和力…

【ElasticSearch系列-04】ElasticSearch的聚合查询操作

ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【三】ElasticSearch的高级查询Quer…

动态路由协议OSPF项目部署(二)

1. 静态和动态路由的区别; 2. OSPF协议通信过程与部署; 3. OSPF协议在项目上的应用场景 - OSPF - 开放式最短路径优先 - 一个动态路由协议 - 路由器转发数据 - 路由器需要一张地图 - 路由表 - 路由表如何构建的? - 依靠手动 或…

python脚本监听域名证书过期时间,并将通知消息到钉钉

版本一: 执行脚本带上 --dingtalk-webhook和–domains后指定钉钉token和域名 python3 ssl_spirtime.py --dingtalk-webhook https://oapi.dingtalk.com/robot/send?access_tokenavd345324 --domains www.abc1.com www.abc2.com www.abc3.com脚本如下 #!/usr/bin…

面试算法53:二叉搜索树的下一个节点

题目 给定一棵二叉搜索树和它的一个节点p,请找出按中序遍历的顺序该节点p的下一个节点。假设二叉搜索树中节点的值都是唯一的。例如,在图8.9的二叉搜索树中,节点8的下一个节点是节点9,节点11的下一个节点是null。 分析&#xf…

Qt封装的Halcon显示控件,支持ROI绘制

前言 目前机器视觉ROI交互控件在C#上做的比较多,而Qt上做的比较少,根据作者 VSQtHalcon——显示图片,实现鼠标缩放、移动图片的文章,我在显示和移动控件的基础上,增加了ROI设置功能,并封装成了一个独立的Q…

领星ERP如何无需API开发轻松连接OA、电商、营销、CRM、用户运营、推广、客服等近千款系统

领星ERP(LINGXING)是一款专业的一站式亚马逊管理系统,帮助卖家构建完整的数据化运营闭环。,致力于为跨境电商卖家提供精细化运营和业财一体化的解决方案。 官网:https://erp.lingxing.com 集简云无代码集成平台&…

轻量封装WebGPU渲染系统示例<13>- 屏幕空间后处理效果(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/main/src/voxgpu/sample/ScreenPostEffect.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 细节请见:引擎系统设计思路 - 用户态与系统态隔离-CSDN博客 2. 高频调用与低频调用隔离。…

轧钢厂安全生产方案:AI视频识别安全风险智能监管平台的设计

一、背景与需求 轧钢厂一般都使用打包机对线材进行打包作业,由于生产需要,人员需频繁进入打包机内作业,如:加护垫、整包、打包机检修、调试等作业。在轧钢厂生产过程中,每个班次生产线材超过300件,人员在一…

腾讯云优惠券是什么?腾讯云优惠券怎么领取?

腾讯云是腾讯集团倾力打造的云计算品牌,为了吸引用户上云,经常推出各种优惠活动,其中就包括腾讯云优惠券。 1、腾讯云优惠券解释说明 腾讯云优惠券是腾讯云的一种优惠凭证,包括代金券和折扣券,领券之后新购、续费、升…

证明char是定长的?

证明char是定长的? 大部分博客都在讲解char和varchar区别的时候都谈到char为定长,varchar为变长。 但是怎么证明char为定长呢? 下面是我证明的过程。 创建CHAR列:首先,创建一个CHAR列,指定其长度。例如&…

基于Tensorflow卷积神经网络玉米病害识别系统(UI界面)

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 Tensorflow是一个流行的机器学习框架,可用于训练和部署各种人工智能模型。玉米病害识别系统基于Tensorf…

毕业设计-课程设计-基于python+django+vue开发的外卖点餐网站

文章目录 源码下载地址项目介绍项目功能界面预览项目备注毕设定制,咨询 源码下载地址 点击下载源码 项目介绍 该系统是基于pythondjango开发的外卖点餐系统。适用场景:大学生、课程作业、毕业设计。学习过程中,如遇问题可以在github给作者…

【音视频 | opus】opus编解码库(opus-1.4)详细介绍以及使用——附带解码示例代码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

答题测评考试小程序的效果如何

在线答题系统是一种在线练习、考试、测评的智能答题系统,适用于企业培训、测评考试、知识竞赛、模拟考试等场景,管理员可任意组题、随机出题,答题者成功提交后,系统自动判分。 多种题目类型,两种答题模式 练习模式&a…

搭建Qt5.7.1+kylinV10开发环境、运行环境

1.下载Qt源码 Index of / 2.编译Qt 解压缩qt-everywhere-opensource-src-5.7.1.tar.gz 进入到qt-everywhere-opensource-src-5.7.1/qtbase/mkspecs这个目录下, 2.1找到以下目录 复制他,然后改名linux-x86-arrch64,博主这里名字取的有些问…

go测试库之apitest

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

使用Python 脚自动化操作服务器配置

“ 有几十台特殊的服务器,没有合适的批量工具只能手动,要一个一个进行点击设置很耗费时间呀\~”,使用 Python 的简单脚本,即可模拟鼠标键盘进行批量作业 01 — 自动化示例 以某服务器中的添加用户权限为例,演示过程皆未触碰鼠标…

Git https方式拉的代码IDEA推送代码报错

报错信息 fatal: could not read Username for ‘https://codehub-cn-south-1.devcloud.huaweicloud.com’: No such file or directory 18:18:39.885: [recovery_pattern] git -c credential.helper -c core.quotepathfalse -c log.showSignaturefalse push --progress --porc…

LCR 166.珠宝的最高价值 + 动态规划 + 记忆化搜索 + 递推 + 空间优化

LCR 166. 珠宝的最高价值 - 力扣(LeetCode) 现有一个记作二维矩阵 frame 的珠宝架,其中 frame[i][j] 为该位置珠宝的价值。拿取珠宝的规则为: 只能从架子的左上角开始拿珠宝每次可以移动到右侧或下侧的相邻位置到达珠宝架子的右下…