当前位置: 首页 > article >正文

基于单片机的智能生态鱼缸的设计

摘要:系统采用 STC12C5A 系列单片机作为中央处理器控制的,系统内的单片机将液位检测模块反馈的数据经过处理并且计算出水位高低并利用单片机定时中断自动换水、自动喂食、使用 DS18B20 温度检测模块对水温进行实时检测并通过 12864 液晶显示模块进行实时显示,使我们能够更加直观地观察水温是否在适宜范围内。该系统可让用户放心地外出旅游或出差,从而给用户生活带来了极大的便利。
关键词:单片机;自动控制
针对鱼类生活环境净化和改善的设备有很多,目前市场上常用的鱼缸控制系统有:水温控制、充氧控制、过滤控制等相关系统。但由于产品繁多,功能不统一,而且大多是非智能化的、单一的恒温控制、充氧或照明系统。如果仅仅是把多个单独的设备组成一套多功能的鱼缸控制系统,需要投入的费用较大,同时多个单一器件机械化的组装之后,也存在一定的资源浪费。这样不仅增加了成本,重复投资,影响美观,而且功能使用不灵活、不方便,整体性能也无法得到提升。因此本文设计了一种新型的智能鱼缸监控系统。

1 系统的总体设计方案

本系统以 STC12C5A60S2 单片机作为核心处理器,同时以DS18B20 温度检测模块、 12864 液晶显示模块、液位检测模块、自动喂食模块、DS1302 时钟模块作为外接传感器,设计一款适合多种鱼类生存的智能控制系统。首先根据系统的工作环境、控制对象等确定最佳的设计方案,将软件部分与硬件部分进行划分,使其各自完成相应的功能,形成系统研究的初步模型。
本设计的智能控制系统主要特点是:
1 )以单片机作为核心处理器,将各个传感器检测的信号进行相应的运算,能够实现自动控制。
2 )人机交换界面采用 12864 液晶显示模块进行显示,操作简单、方便。
3 )设计远程监控,将各个传感器采集的数据实时传输到终端。

2 系统硬件的选择

由于市场上芯片的种类繁多且复杂,因此在选择芯片的时候,我们要以“性价比高”、“操作简单”为原则进行选取,要选择既适合本系统运行、又可靠的芯片和电子元器件,从而进行合理的电路设计并进行相应的调试。
1 )核心处理器的选择。本系统以 STC12C5A60S2 单片机作为主控制器。它是告诉、低功耗、具有很强的抗干扰能力新一代 8051 单片机,并且它的成本不是很高,应用广泛,处理速度快,它具有的定时/ 计数器功能足以满足本系统的需要。
2 )液晶显示模块的选择。本系统采用的是 LCD12864液晶显示模块,它的优点是占用单片机的引脚数量少,而且通过简单的程序控制,就可以对汉字、数字进行显示,不需要进行重复扫描,可以为使用者提供高效的界面显示。
3 )温度传感器的选择。本系统选取的温度传感器为DS18B20 温度传感器模块。它的使用电压范围是 3.0V5.0V ,它具有体积小、精度高、抗干扰能力强等特点,而且此传感器接线方便(由正负电源线及信号线组成个),可适用于多种工作场合,其最大的特点就是可以检测水中的温度,对本系统的研究具有重大意义。
4 )自动加热装置的选择。由 220V 交流电对加热装置进行供电,单片机不能直接对加热装置进行供电,为了能够更好地实现自动控制温度,将温度传感器、单片机、继电器控制模块结合在一起,由单片机发出电平信号以此控制继电器工作,达到自动控制温度的效果。
5 )自动投食器的选择。单片机通过输出的数字信号对继电器进行控制,从而继电器控制电机,通过电机的转动带动食料盒进行投料。

3 软件设计

软件的设计是整个系统运行的关键,根据各个传感器模块使用说明及程序设计方法,将整个系统的应用程序根据不同的模块进行划分,将其分成若干个独立的程序设计模块,绘制系统流程图,单独对各个模块进行程序设计,最终再将单独的进行整合,进行系统的整体调试。

4 总结

本系统通过温度传感器模块和液位传感器模块分别对鱼缸的水温和水位进行实时监控,如果水温相对设定的水温过高或者过低,单片机会通过电机控制注水以及排水,从而达到最佳的水温,自动喂食模块会通过预先设定好的循环时间,等时间到了单片机便会自动执行中断服务程序控制电机进行投食。

http://www.kler.cn/a/508057.html

相关文章:

  • HTML基础与实践
  • HTML5+Canvas实现的鼠标跟随自定义发光线条源码
  • 将Docker运行中的容器保存为镜像并导出导入
  • python管理工具:conda部署+使用
  • redis实现限流
  • 在Playwright中使用PO模式
  • 异步任务与定时任务
  • 二百八十三、Java——IDEA中通过快捷键查看某一类的定义位置
  • Linux下的dev,sys和proc(TODO)
  • OpenCV阈值
  • 【C语言】_内存拷贝函数memcpy与memmove
  • Matplotlib基础
  • 【Elasticsearch】搜索类型介绍,以及使用SpringBoot实现,并展现给前端
  • 深度学习基础--GRU学习笔记(李沐《动手学习深度学习》)
  • 如何用ChatGPT玩转知识图谱?
  • NLP意图识别数据集处理流程
  • PyTorch 神经协同过滤 (NCF) 推荐系统教程
  • 【 MySQL 学习3】查询
  • 当当网书籍信息爬虫
  • 【教程】windows下使用docker部署hyperf框架
  • Java最常用的几种设计模式详解及适用业务场景
  • 论文阅读:Structure-Driven Representation Learning for Deep Clustering
  • Vue2+OpenLayers实现折线绘制功能(提供Gitee源码)
  • MySQL 的mysql_secure_installation安全脚本执行过程介绍
  • jenkins-Job构建
  • 55.【5】BUUCTF WEB NCTF2019 sqli