基于单片机的土壤温湿度控制系统

news2024/12/26 11:34:17

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式

文章目录

    • 概要
  • 一、温湿度控制系统的整体规划
    • 2.3系统的总体构架
  • 二、温度湿度控制系统硬件设计
    • 3.1系统硬件概述
  • 三、 温湿度系统软件设计
    • 4.1系统软件设计概述
  • 四、结论

概要

   课题选择的核心控制芯片是STC89C52单片机,信息呈现窗口采用LCD1602液晶显示屏,通过土壤湿度、温度传感器来采集数据信息。用户操作界面通过外部键盘实现,从而实现系统的参数设置和操控。当温度或湿度超过预设值时将触发警告功能。根据系统硬件的设计方案,选择性能符合的元器件进行组装,同时根据实际情况进行相关模块的电路设计。软件设计部分使用C语言程序实现温湿度监控工程。
通过实物的验证测试,系统各模块功能实现很好,实验简单方便操作,对土壤温湿度的采集和研究具有一定的参考意义。

关键词:STC89C52;温湿度控制系统;温湿度数据采集

一、温湿度控制系统的整体规划

系统可以完成以下三种任务:
(1)温湿度传感器用来及时收集土壤的温湿度数值。根据空间大小和实际需要,在多个位置设置合理的收集点[2]。收集点的传感器将及时收集温度和湿度,无线传输模块将数据进行传递到单片机配置好的单片机后进行数据分析和管理,经过LCD呈现当前值。
(2)若所测得的温度的数据不在开始设定的范围内,单片机就会做出反应,通过温湿度的调节模块,启动洒水装置,向当前土壤洒水降温并补充水分,从而改进土壤的温度和湿度。及时收集温度和湿度,并将数据传递到单片机进行解决。当数据不合理时,将启动调节装置,直到温度和湿度到达合适的值为止。此刻,单片机将发送和关上温度和湿度调节装置,并通过这两个功能轮回作用,协同将土壤的温度和湿度维持在合理范围内。
(3)通过水位检查装置,当水泵的水位超过拟定的最低水位时,将触发水位报警器,并会发出峰鸣警报,提醒我们补充水泵,以防止水位过高。水位太低会导致水量不足。调节土壤的温度和湿度。

2.3系统的总体构架

温度湿度的控制系统需要完成以下四个目的:进行温湿度的数据采集,对于数据进行处理与分析,保存数据入库,分析后进行温度和湿度的调整并且进行蜂鸣器警告。系统的构建必须能够自动进行数据的采集与分析并且对电路进行控制,同时能够与人机通信,因此需要具有强大的管理能力,高可靠性和简易系统结构的CPU作为系统处理器[5]。有许多芯片可以满足此要求,例如使用十分普遍的单芯片微型计算机。系统是基于STC89C52单片机设计的。
构建系统的基本框架如下图所示,由图可以看出系统主要分为以下板块:湿度数据采集板块,温度数据采集板块,喷水板块,蜂鸣器报警板块,检测水位板块。
在这里插入图片描述

2-1系统总体框图
系统采用单片机STC89C52,通过DS18B20温度传感器获取温度信息,从电容式湿度传感器获取土壤的湿度信息,从而实现对土壤温度和湿度的检测。

二、温度湿度控制系统硬件设计

3.1系统硬件概述

本文选择使用基于STC89C52系列单片机的核心处理器作为硬件平台,在这一平台之上进行系统的拓展。在系统搭建上最基本的板块是输出显示和数据输入板块。利用温湿度传感器实时收集土壤的温湿度,然后ADC转换收集的数据并存储有效数据。最后,在LCD显示屏上呈现出有效的数据。其中,温度传感器为DS18B20,湿度传感器为电容式湿度传感器。图3-1为系统的硬件数据处理结构图,图3-2为系统所需的硬件的电路图。
在这里插入图片描述

3-1系统硬件处理结构图
在这里插入图片描述

3-2系统硬件所需的电路图

三、 温湿度系统软件设计

4.1系统软件设计概述

软件的正常运行除了合理的电路设计作为基础,软件的设计与应用也是十分重要的。设计的系统之中我们包括了许多不同的小板块,所有的板块的有机结合之后成为一个整体,对所有小板块进行各自的编程,计算和测试,使得所有小板块能够实现各自的功能,然后合理组合所有板块就构成了一个完整的系统。采取这样的方式可以在之后的改进和更新换代之中较为便利的改变和调整各个模块的位置与作用,这样我们的系统就可以根据不同的情况进行不同的调整,所以组装完成后对其进行初始化进行通电。初始化主要是对单片机的各个部位的工作设置。随后系统通过温湿度传感器将数据传输处理之后显示,并且进行洒水或者进行报警处理。主要流程图如图4.1。
在这里插入图片描述

4-1主程序流程图
系统先编写1602主程序模块、温度采集主程序模块、湿度采集子程序模块等程序模块,然后编写主程序模块。软件编程完成后,调试软件。调试完成后,根据硬件进行软件和硬件的调试。经过多次调试,系统的程序更加完善,最终完成了产品的软、硬件联合调试。

四、结论

  系统的控制系统是STC89C52单片机,从而通过温湿度传感器的作用,实现土壤温湿度数据的收集。通过LCD的人机交互界面对温湿度信息进行呈现,还具有水位报警功能。课题介绍了整体系统的研究设计方法,主要包括整个系统的软件和硬件的设计方案。
在研究开始,以系统的硬件设计方案为基础,分别给出了不同功能的板块的研究设计方式,主要包含数据收集和水位报警模块等几部分。课题通过每个模块的需求来挑选适合的芯片,再根据不同板块功能来设计电路模块。随后在系统的软件设计方案之中介绍了系统的整体设计方案以及各部分的软件设计方式。最后再根据具体情况对系统进行微调。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java web(七):VueElement

文章目录 一、Vue1.1 基本介绍1.2 常用指令1.3 生命周期1.4 案例VueAxios 二、Element三、综合案例【VueElementAxiosServeltMybatis】 一、Vue 1.1 基本介绍 Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。 基于MVVM(Model-View-View…

六大排序算法:插入、选择、冒泡、快排、希尔、归并

1、插入排序 解析&#xff1a;第一个元素设定为已经排好序&#xff0c;依次选择后续的元素插入到已经排好序的组内进行排序。 图示&#xff1a; 代码&#xff1a; public static void insertionSort(int[] arr) {int n arr.length;for (int i 1; i < n; i) {int key a…

Databend 开源周报第 118 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 MERGE INTO 现已…

计算机毕业设计 基于SpringBoot高校毕业与学位资格审核系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

VR全景在旅游中应用有哪些?VR云游的优势是什么?

近日受到剧烈日冕物质抛射活动影响&#xff0c;漠河再现极光美景&#xff0c;极光舞动的灿烂星空下&#xff0c;正在封冻的黑龙江上&#xff0c;无数的冰排随波而去&#xff0c;天地之间光影流动好不美丽。相信很多人都想了解、观赏祖国的大好风光&#xff0c;但是碍于没时间、…

关于SSP3D复现

关于SSP3D复现的问题 准备工作 下载Xshell和XFTP&#xff1a;家校免费版下载链接连接服务器&#xff08;可能需要与服务器处在相同网络下&#xff09;GitHub上下载源码&#xff1a;SSP3D 左上角新建会话&#xff0c;输入名称和主机 点击左侧菜单“用户身份验证”&#xff0c…

Freeswitch实现软电话功能

1.话务步骤 分机注册(需要查询分机状态来判断是否可用)->登录&#xff08;接听呼入电话需要登录到指定queue&#xff09;->拨打电话->就绪->未就绪-> 登出 2. sdk调用方式 /*<--注册分机-->*/ //EslMessage eslMessage1 inboundClient.sendApiCommand(…

Linux文件系统——文件描述符

文章目录 0. 前言1. C文件接口文件打开文件写入 2. 系统文件接口open && write && closeopen的返回值 本章gitee代码仓库&#xff1a;文件描述符 0. 前言 基础原理知识&#xff1a; 文件 内容 属性 文件分为&#xff1a;打开的文件&#xff08;本章重点讲解…

python使用pysqlcipher3对sqlite数据库进行加密

python对很多项目都需要对sqlite数据库的数据进行加密&#xff0c;最流行的加密方式是使用pysqlcipher3&#xff0c;当前使用的python版本为3.7&#xff0c;本博文是直接使用pysqlcipher3在项目上的应用&#xff0c;使用的是已编译好的pysqlcipher3包&#xff0c;如果你需要pys…

6个常用的小程序UI组件库,大厂设计师都在用!

UI组件库是设计系统的一部分&#xff0c;在一般的页面设计过程中可以直接用来构建交互界面。因此&#xff0c;一个有效的小程序UI组件库可以帮助设计师快速掌握基本的交互框架&#xff0c;提高设计师的工作效率&#xff0c;让设计师有更多的时间打磨和提高小程序的整体效果。小…

Softing新版HART多路复用器现支持图尔克excom和西门子ET 200iSP等远程I/O

Softing工业自动化最近升级了用于访问配置和诊断数据的smartLink SW-HT软件&#xff0c;现在该软件可支持访问图尔克excom和西门子ET 200iSP等远程I/O。 &#xff08;smartLink SW-HT支持访问配置和诊断数据&#xff09; 越来越多的新型远程I/O选择使用以太网来替代PROFIBUS连接…

微信小程序将后端返回的图片文件流解析显示导页面

说明 由于请求接口后端返回的图片格式不是一个完整的url,也不是其他直接能显示的图片格式&#xff0c;是一张图片 后端根据模板与二维码生成图片,返回二进制数据 返回为文件流的格式,用wx.request请求的时候&#xff0c;就自动解码成为了下面这样的数据数据格式,这样的数据没…

【无代码】【VR开发】【Unity】【VRTK】4-导入VRTK Tilia Package

【导入VRTK V4】 VRTK的Tilia Package包含了一整套空间开发方案。导入后你可以在PackageManager中看到它们。 所有的Tilia包都可以在如下页面找到: https://www.vrtk.io/tilia.html Tilia包有一个安装器,可以让你仅仅安装需要的包。包的种类很多,按照适用方向分类。 点击H…

Redis中的渐进式遍历-Scan命令

之前我们学习过遍历命令keys,而keys *是一次性的把整个redis中所有的key都获取到.在不知道当前redis中有多少key的情况下,这个操作是非常危险的,可能会一下子得到太多的key而阻塞redis服务器.从而使其他redis客户端卡顿. 通过渐进式遍历,就可以做到,既可以获取到所有的key,同时…

python链队_队列的链式存储结构

队列是一种先进先出&#xff08;first in first out,FIFO&#xff09;的线性表&#xff0c;是一种常用的数据结构。 它只允许在表的前端&#xff08;front&#xff09;进行删除操作&#xff0c;而在表的后端&#xff08;rear&#xff09;进行插入操作&#xff0c;和栈一样&…

Elasticsearch:在 ES|QL 中使用 DISSECT 和 GROK 进行数据处理

目录 DISSECT 还是 GROK&#xff1f; 或者两者兼而有之&#xff1f; 使用 DISSECT 处理数据 Dissect pattern 术语 例子 DISSECT 关键修饰符 右填充修饰符 (->) 附加修饰符 () 添加顺序修饰符&#xff08; 和 /n&#xff09; 命名的跳过键&#xff08;&#xff1f…

895. 最长上升子序列

题目&#xff1a; 895. 最长上升子序列 - AcWing题库 思路&#xff1a;dp 代码&#xff1a; #include<iostream> #include<cstdio> #include<cmath> using namespace std; typedef long long ll; const int N1010; int f[N];//表示以i结尾的最大上升子序列…

ESP32 未来能够取代 STM32吗?

今日话题&#xff0c;ESP32 未来能够取代 STM32吗&#xff1f;ESP32和STM32各自有其特点和优势&#xff0c;能否取代彼此取决于具体应用和需求。STM32的流行除了性价比外&#xff0c;还有其强大的开发环境&#xff0c;例如Cubemx能够快速生成代码&#xff0c;使得上手STM32的速…

ros1 自定义Publisher消息编程实现示例

整理步骤 cd进入工作空间下的代码空间, 创建功能包&#xff0c;并配置依赖 在功能包里面的代码空间里编写C代码文件 在cmakelist文件里面配置编译规则 cd到工作空间&#xff0c;编译工作空间&#xff0c;source设置环境变量 打开roscore, 运行海龟仿真节点&#xff0c;运行功能…

简析安科瑞无功补偿在化工企业设计与应用

叶根胜 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;随着各种扩产、技术改造等活动的发展&#xff0c;化工企业用电设备功率大、能耗高&#xff0c;导致用电设备增加、负荷增加、负荷性质发生变化&#xff0c;加上线路损耗和变压损耗等因素。整个企业电网的功率…