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

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 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的人机交互界面对温湿度信息进行呈现,还具有水位报警功能。课题介绍了整体系统的研究设计方法,主要包括整个系统的软件和硬件的设计方案。
在研究开始,以系统的硬件设计方案为基础,分别给出了不同功能的板块的研究设计方式,主要包含数据收集和水位报警模块等几部分。课题通过每个模块的需求来挑选适合的芯片,再根据不同板块功能来设计电路模块。随后在系统的软件设计方案之中介绍了系统的整体设计方案以及各部分的软件设计方式。最后再根据具体情况对系统进行微调。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis学习(十)RedisTemplate 对各种数据类型的支持

目录 一、SpringDataRedis 简介1.1 什么是 Redis?1.2 什么是 Jedis?1.3 什么是 Spring Data Redis? 二、RedisTemplate 中 API 使用2.1 pom.xml 依赖2.2 配置文件2.3 RedisTemplate 的直接方法2.4 String 类型相关操作2.5 Hash 类型相关操作2…

APP安全测试详解

在工作过程中,我接触到了一些SDL安全提测的工作。原来我是学web端渗透比较多的,移动端这块基本没怎么试过手,结果刚开始一直踩坑,连抓包都抓不到(T▽T)。 下面记录下我遇到的部分问题和解决方法&#xff0…

《QT从基础到进阶·十八》QT中的各种鼠标事件QEvent

1、界面标题栏事件: NonClientAreaMouseButtonPress 标题栏点击事件 NonClientAreaMouseButtonRelease 标题栏释放事件 bool CustomPopDialog::event(QEvent* event) {switch (event->type()){case QEvent::MouseButtonRelease://Event of mouse releasing wind…

Python爬虫抓取微博数据及热度预测

首先我们需要安装 requests 和 BeautifulSoup 库,可以使用以下命令进行安装: pip install requests pip install beautifulsoup4然后,我们需要导入 requests 和 BeautifulSoup 库: import requests from bs4 import BeautifulSou…

奇异矩阵、非奇异矩阵

对于一个方阵A: 如果A的行列式等于0,称矩阵A为奇异矩阵如果A的行列式不等于0,称A 非奇异矩阵 也就是说,对于方阵A,如果它是满秩的,即它的秩等于矩阵的阶数,就是非奇异矩阵;如果秩小…

【 云原生 | K8S 】kubectl 详解

目录 1 kubectl 2 基本信息查看 2.1 查看 master 节点状态 2.2 查看命名空间 2.3 查看default命名空间的所有资源 2.4 创建命名空间app 2.5 删除命名空间app 2.6 在命名空间kube-public 创建副本控制器(deployment)来启动Pod(nginx-wl…

Intel x86_64 LBR功能

文章目录 前言一、CPUID指令1.1 CPUID功能简介1.2 输入参数01H返回结果1.2.1 ECX返回结果1.2.2 EDX返回结果 1.3 Linux中CPUID指令1.3.1 应用层调用cpid指令1.3.2 linux内核中调用cpuid指令 二、MSR寄存器2.1 MSR 寄存器简介2.2 RDMSR,WRMSR指令介绍2.3 IA32_DEBUGCTL MSR 寄存…

OSG交互:选中场景模型并高亮显示

1、目的 可以在osg视图中选中指定模型实体,并高亮显示。共分为两种,一种鼠标点选,一种框选。 2、鼠标点选 2.1 功能说明 生成两组对象,一组cow对象可以被选中,另一组robot不能被选中;点击cow对象被选中高亮,点击robot被选中不高亮;点击空白处,弹出“select nothing!…

匹配不同应用场景,玩转HyperBDR的两种同步模式!

HyperBDR云容灾是万博智云打造的云原生业务级别容灾工具,实现20云的自动化对接,适配云上、云下、云间多种场景容灾,尤其在容灾上云的场景上,由于大幅节约了容灾过程中的计算资源,以更普惠的方案打造云容灾新场景&#…

React构建组件的方式有哪些?区别?

一、是什么 组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式 在React中,一个类、一个函数都可以视为一个组件 在之前文章中,我们了解到组件所存在的优势: 降低整个系统的耦合度&am…

文件重命名自动化:批量处理让生活更简单

在我们的日常生活和工作中,需要处理大量的文件,无论是文档、图片、音频还是视频。很多时候,为了更好地管理和查找,我们都需要对文件进行重命名。然而,一个一个地重命名文件既耗时又容易出错。幸运的是,随着…

多路转接(中)——poll和epoll

目录 一、poll 1.select的缺点 2.认识poll系统调用 3.poll的优点 二、poll服务器 三、epoll 1.poll的缺点 2.认识epoll的三个接口 3.epoll的原理 四、epoll服务器 一、poll 1.select的缺点 select虽然可以增加IO的效率,但是它有两个问题: &…

高级算法复习

时间代价 主定理 递归树 排序 贪心算法 贪心选择性(Greedy-choice property): 通过做出局部最优(贪婪)选择,可以得出全局最优解——这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划…

使用 Redis 实现生成分布式全局唯一ID(使用SpringBoot环境实现)

目录 一、前言二、如何通过Redis设计一个分布式全局唯一ID生成工具2.1、使用 Redis 计数器实现2.2、使用 Redis Hash结构实现 三、通过代码实现分布式全局唯一ID工具3.1、编写获取工具3.2、测试获取工具 四、总结 一、前言 在很多项目中生成类似订单编号、用户编号等有唯一性数…

创建云端服务器

1.申请云端服务器 每个账户有三个月的免费试用 我的服务器选择是centos7 ,别选成win了。 2.创建实例 创建实例的步骤,阿里云有文档 介绍 大致就是 左边点实例 -》 顶部选你申请服务器时的地区-》下面就出现一条实例-》点更多 -》要重置实例密码 -》同一…

Docker安装ewomail

ewomail相关链接 官网官方安装文档gitee 开始安装 快速安装 wget -c https://down.ewomail.com/install-03.sh && sh install-03.sh 域名docker安装 创建docker容器 docker run -idt \-p 25:25 \-p 110:110 \-p 143:143 \-p 465:465 \-p 587:587 \-p 993:993 \-…

【带头学C++】----- 三、指针章 ---- 3.10 函数指针(补充基础知识)

1.函数指针 1.1 函数的返回值类型为指针类型 将函数内部的合法地址通过返回值 返回给函数外部使用 注意:函数不要返回普通局部变量的地址 分析: 在这段代码中,函数getAddr()返回一个指向局部变量data地址(作用域是函数内部)的指…

DevOps简介

DevOps简介 1、DevOps的起源2、什么是DevOps3、DevOps的发展现状4、DevOps与虚拟化、容器 1、DevOps的起源 上个世纪40年代,世界上第一台计算机诞生。计算机离不开程序(Program)驱动,而负责编写程序的人,被称为程序员&…

Django ModelSerializer 实现自定义验证详解

随着 Web 开发的日益复杂化,对数据验证的需求也日益增加。Django REST framework 提供了一套强大的、灵活的验证系统,帮助开发者轻松处理各种复杂情况。本文将重点探讨 Django ModelSerializer 中如何实现自定义验证。 1. 简介 Django ModelSerializer…

深度学习 opencv python 实现中国交通标志识别 计算机竞赛_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…