基于单片机的温室大棚环境监测系统设计

news2025/1/23 2:13:56

温室大棚对北方反季节蔬菜的种植具有重要意义。据了解全国各地温室大棚使用集中,但是大棚环境调控方式落后、管理落后、生产效率比较低。针对此问题本文提出了一种基于STM32单片机智能温室大棚控制系统方案,实现环境参数的自动检测,以达到智能化、自动化、科学化的目的。

一、引言

本文针对温室大棚环境因素的检测问题,利用无线传输技术,嵌入式技术,以STM32 F103ZE为控制核心,完成了一种智能温控大棚监测系统的设计和测试,该系统的主要功能是:可以实现室内植被环境参数的检测,包括温度、光照度、湿度、二氧化碳浓度检测,并通过无线传输在上位机显示变化曲线

二、温室内部环境参数

1、温度

维持农作物生长的生物学的下限温度、最适温度和上限温度合称为“三基点温度”,“三基点温度”是维持农作物生长最基本的温度指标。多数园艺作物的下限温度为5-15、最适温度为20-28、 上限温度为30-35。一般地,作物在下限温度和上限温度时,农作物虽然停止生长,但仍能够维持生命。在最适温度时,作物的生命活动最为活跃。当作物生长环境低于下限温度或者高于上限温度,作物就会受到不同程度危害,甚至死亡。

2、湿度

湿度是指温室内的空气的相对湿度,表示空气中含水分多少的物理量。湿度在温室种植中是一项比较重要的参数,也是影响植物生长最敏感的因素之一。温室湿度对农作物的蒸腾作用、光合作用以及虫害都有直接或间接的影响。

3、光照强度

在一定的范围内 ,光合作用的速率与光照强度成正比。植物对光照强度的要求用光补偿点和光饱和点表示。光补偿点是光合作用是对光强度要的下限 ,光饱和点是 光合作用是对光强度要求的上限。 农作物生长所需光量曲线模式图如图3-1所示。

3.4二氧化碳浓度

温室大棚内二氧化碳的浓度变化一般分为白天和夜间两种情况。夜间,由于植物光合作用停止,呼吸作用仍在进行,再加上土壤中的微生物等活动产生二氧化碳,使得夜间温室内的二氧化碳浓度比白天高很多。进入白天,温室内的二氧化碳浓度随着植物光合作用的进行而渐渐降低。实验研究表明,温室内在不通风换气的情况下,日出一个小时后,温室内的二氧化碳浓度大约降至300PPM。而室外的二氧化碳浓度约为360 PPM ;日出2到3个小时后,二氧化碳的浓度大约降到80 PPM至150 PPM此时已接近温室农作物的二氧化碳补偿点。此时由于空气中二氧化碳的浓度太低,农作物基本停止光合作用。

三、硬件的选择

1、温度传感器DS18B20

输出的信号为数字信号,具有仅需一个端口引脚进行通讯;

引脚说明:

VDD:可选电源电压

DQ:数据I/O

GND:地

无需外部器件;可通过数据线供电;测温范围-55~125,温度以递增;体积小,抗干扰能力强,精度高的特点。DS18B20 数字温度计提供 9-12 位摄氏温度测量而且有一个由高低电平触发的可编程的不因电源消失而改变的报警功能,DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和 DS18B20 之间仅需一条连接线(加上地线)。它在精度为±5℃。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。

 2、湿度传感器

测量湿度时我们采用的是DHT11温湿度传感器。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感式元件和一个NTC测温元件,并与一个高性能8位单片机相连接。

 

引脚说明:

VDD:供电3-5.5V

DATA:串行数据,单总线

GND:接地

NC:空脚,悬空

3、光照传感器

测量光照参数我们采用的是GY-30光照传感器。内置16bitAD转换器,直接数字输出,省略复杂的计算,省略标定。接线采用IIC通讯方式。

 

引脚说明:

VCC:供电电源

SCL:IIC总线时钟引脚

SDA:IIC总线数据引脚

ADO:IIC设置地址引脚

GND:接地

4、烟雾传感器

测量浓度我们采用的是MQ-2烟雾传感器。MQ-2烟雾传感器具有良好的抗干扰性,可准确排除有刺激性非可燃性烟雾的干扰信息。具有良好的重复性和长期的稳定性。初始稳定,响应时间短,长时间工作性能好。

 

引脚说明:

VCC:供电电源

AO:模拟电压输出端

DO:TTL高低电平输出端

5、显示器模块OLED

 

GND:电源地

VCC:电源正3.3V

DO:SPI时钟线(IIC接口是也为时钟线)

D1:SPI数据线(IIC接口时也为数据线)

RES:显示屏复位管脚

DC:SPI数据/命令选择脚

CS:SPI数据片选,低电平有效,不用时需要接地不能悬空

6、无线设备

选用Lora无线串口模块进行数据的传送,该模块使用SX1278芯片,采用Lora扩频技术,具有功耗低、传输距离远、抗干扰性强的特点。其待机功耗为2.3 uA,传输距离大于3000m,多频通信,只需4个IO即可完成所有功能。通信方式为串口(TTL)。

 

引脚说明:

M0:输入,和M1配合,决定模块的四种工作模式;

M1:输入,和M0配合,决定模块的四种工作模式;

RX:TTL串口输入,连接到外部TX输出引脚,可配置为漏极开路或上拉输入;

TX:TTL串口输出,连接到外部RX输出引脚,可配置为漏极开路或推挽输出;

AUC:输出,用于指示模块工作状态;

VCC:接电源;

GND:接地

四、系统结构

 

 原理图:

 五、实验结果

各个传感器灵敏地测量周围环境数据,同时将测得的数据显示在OLED显示屏上,此外,还通过无线串口将数据发送到电脑端,并用上位机将各个参数的变化曲线实时显示出来。

 

 

工程源码分享: 

链接:https://pan.baidu.com/s/1cX5mFSNclFMifGTC1d9FtA 
提取码:xc8i

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

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

相关文章

C语言从入门到精通第2天(深度解析C语言数据类型及取值范围)

C语言基本数据类型及取值范围数据存储概述基本数据类型整型数的二进制表示浮点型数的二进制表示取值范围数据存储概述 C语言的变量有着不同的数据类型,每种数据类型的取值空间都是不同的,因此,不同数据类型的变量,其取值空间也不…

利用注解和反射解决代码冗余问题(改进版)

在优化代码的时候发现,传参存在着高度冗余,如果后面需要改参数,很不方便。 String pam1 "id" appKey "&sign" sign "&method" method "&access_token" token "&times…

光隔离器的工作原理及其应用

光隔离器也称为光隔离器或光耦合器,它是一种通过使用光将电信号或电压从一个电路传输到另一个电路的装置,同时它将两个电路彼此隔离。它可以通过隔离过压信号来防止高电压或快速变化的电压损坏组件。光隔离器可以承受高达10KV的输入至输出电压和高达10KV…

html+css+JavaScript+json+servlet的社区系统(手把手教学)

目录 课前导读: 一、系统前期准备 二、前端代码的编写 三、登陆页面简介 四、注册页面 五、社区列表页 六、社区详情页 七、社区发帖页 八、注销 九、访问链接 登陆页面http://175.178.20.77:8080/java106_blog_system/login.html 总结: 课前…

HTML5 <embed> 标签、HTML5 <figcaption> 标签

HTML5 <embed> 标签 实例 被嵌入的 flash 动画片&#xff1a; <embed src"helloworld.swf">尝试一下 浏览器支持 注意: 大多数现代浏览器已经弃用并取消了对浏览器插件的支持&#xff0c;所以如果您希望您的网站可以在普通用户的浏览器上运行&#xf…

【SpringCloud系列】开发环境下重写Loadbalancer实现自定义负载均衡

前言 spring-cloud-starter-netflix-ribbon已经不再更新了&#xff0c;最新版本是2.2.10.RELEASE&#xff0c;最后更新时间是2021年11月18日&#xff0c;详细信息可以看maven官方仓库&#xff1a;https://search.maven.org/artifact/org.springframework.cloud/spring-cloud-st…

【计算机图形学】裁剪算法(逐边裁剪法 Weiler-Atherton裁剪法)

一 实验目的 编写直线段、多边形裁剪算法熟悉逐边裁剪法、Weiler-Atherton裁剪法的使用 4&#xff1a;用逐边裁剪法实现多边形裁剪&#xff08;代码最上方功能区注明是否处理退化边&#xff09; 无退化实验结果如下图所示&#xff1a; 图形初始化&#xff1a;&#xff08;红色…

GaussDB工作级开发者认证—第五章GaussDB数据库操作与管理

一、数据库对象基本操作 查询数据库&#xff1a; postgres# \l --使用元命令查看数据库 postgres# select * from pg_database; --通过系统表查看数据库 表注意事项: 只有表的所有者有权限执行ALTER TABLE命令&#xff0c;系统管理员默认拥有此权限 不能修改分区表的tables…

creator-assetbundle分包

title: creator-assetbundle分包 categories: Cocos2dx tags: [creator, 分包, assetbundle] date: 2023-04-10 15:55:22 comments: false mathjax: true toc: true creator-assetbundle分包 前篇 Asset Bundle 介绍 - https://docs.cocos.com/creator/manual/zh/asset/bundle…

国家出手管人工智能AI了

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 全球都在封杀AI&#xff0c;国家也出手了&#xff0c;人工智能AI的强监管来了!这次反应速度算是很快了。国家出手&#xff0c;AI必须管。 国家网信办拟针对生成式人工智能服务出台管理办法&#…

【万象奥科】RZ/G2UL网关内存压力测试

测试目的 内存压力测试的目的是测试系统内存的稳定性和可靠性&#xff0c;以便确定系统是否能够在各种负载情况下正常运行。其主要目的有&#xff1a; 测试内存的正确性&#xff1a;通过模拟各种内存负载情况&#xff0c;例如写入随机数据、重复写入相同数据、使用指定的模式…

原型模式解读

目录 模式引进问题 原型模式 原型模式原理结构图-uml 类图 原型模式解决克隆羊问题的应用实例 深拷贝和浅拷贝 浅拷贝的介绍 深拷贝基本介绍 重写 clone 方法来实现深拷贝 通过对象的序列化实现实现深拷贝&#xff08;推荐&#xff09; 原型模式的注意事项和细节 模式…

阿里云linux云服务器 安装指定版本node.js

我们在实例管理中找到自己的服务器 然后点击右侧的 远程连接 接着点击理解登录 进入命令窗口 我们在这上面输入 curl -h阿里云的服务器都还是最好会有 curl的 然后 我们输入 sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash下把nv…

带头部表头和侧边表头样式的布局

原型设计的页面中的表格除了头部还有左侧侧边是表头的一个表格&#xff0c;查阅组件文档&#xff0c;发现表格table没有两个表头的布局。 思路&#xff1a; 1、使用div自己布局 2、使用表格table&#xff0c;修改其第一列样式背景&#xff0c;展示除了的样子看着像是有多个表头…

突发!ChatGPT疯了!

‍数据智能产业创新服务媒体——聚焦数智 改变商业今天&#xff0c;笔者正常登录ChatGPT&#xff0c;试图调戏一下他。但是&#xff0c;突然震惊的发现&#xff0c;ChatGPT居然疯了。之所以说他是疯了&#xff0c;而不是崩溃了&#xff0c;是因为他还能回复我&#xff0c;但回…

【计算机网络】1、概念、TCP | UDP | 本地 socket 编程

文章目录一、网络基本概念1.1 端口&#xff08;port&#xff09;1.2 IP 地址 网络地址&#xff08;network&#xff09;和 主机&#xff08;host&#xff09;1.3 子网&#xff08;subnet&#xff09;1.4 子网掩码&#xff08;netmask&#xff09;1.5 保留网段1.6 CIDR 表述形式…

【计算机网络复习】第三章 传输层 3

拥塞 网络边缘主机发送到网络中的负载超出了网络的承载能力&#xff0c;即导致拥塞 u 网络拥塞的特征 时延增大 — 由于在路由器缓存中排队而导致 数据包丢失 — 由于路由器的缓存溢出而导致 u 随着网络负载的增加 传输时延增大 吞吐量下降 拥塞控制&#…

ptuning v2 的 chatglm垂直领域训练记录

thunlp chatglm 6B是一款基于海量高质量中英文语料训练的面向文本对话场景的语言模型。 THUDM/ChatGLM-6B: ChatGLM-6B&#xff1a;开源双语对话语言模型 | An Open Bilingual Dialogue Language Model (github.com) 国内的一位大佬把chatglm ptuning 的训练改成了多层多卡并…

Spring 事务

目录 一、事务简介 二、在Spring中实现事务 编程式事务 声明式事务 三、事务的传播机制 一、事务简介 事务&#xff1a;就是将一组操作封装成为一个整体执行单元&#xff0c;要么全部执行&#xff0c;要么都不执行。 假如事务执行了一半发生了错误就会对已经执行的部分进…

Linux嵌入式学习之Ubuntu入门(三)用户、用户组及文件权限

系列文章目录 一、Linux嵌入式学习之Ubuntu入门&#xff08;一&#xff09;基本命令、软件安装及文件结构 二、Linux嵌入式学习之Ubuntu入门&#xff08;二&#xff09;磁盘文件介绍及分区、格式化等 文章目录系列文章目录用户与用户组创建用户和用户组图形化创建命令创建文件…