84-基于stm32单片机蔬菜大棚温湿度光照强度监测控制系统Proteus仿真+源码

news2024/10/5 19:09:18

资料编号:084

一:功能介绍:

1、采用stm32单片机+OLED显示屏+光照强度检测+DHT11温湿度+电机+按键+LED灯,制作一个温湿度采集、光照强度检测,OLED显示相关数据,

2、通过按键设置温度上限、湿度下限、光照强度下限值,

3、当采集温度大于设置温度,开启散热电机,当采集湿度小于设置湿度,开启加湿电机,当检测光照强度低于设置值,开启LED灯补光,

4、OLED显示屏显示采集温湿度、光照强度和设置的温湿度、光照强度阈值

二:仿真演示视频+程序简要讲解:(程序有中文注释,新手容易看懂)

三:设计软件介绍

本设计使用C语言编程设计,程序代码采用keil5编写,程序有中文注释,新手容易看懂,仿真采用Proteus软件进行仿真演示视频使用的是Proteus8.9版本;资料包里有相关软件包,可自行下载安装。

四:程序打开方法

特别注意:下载资料包以后一定要先解压!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

93dd7ab6599cae8bc064c65368ef13c1.png

d209febc734f701e4a17a783be50b5b6.png

程序部分展示,有中文注释,新手容易看懂
  b=ADC_GetConversionValue(ADC1);//读取光照强度
    tmp=(float)b*(3.4/4096)*33;//转换ADC数据计算光照强度
    DHT11_Read_Data(&temp, &hum);//温湿度读取
    sprintf((char *)buf, "temp:%d C  ", temp);//整数转字符串 温度
    LCD_P6x8Str(2, 1, buf);//字符显示
    sprintf((char *)buf, "hum:%d   " , hum);//整数转字符串   湿度
    LCD_P6x8Str(2, 3, buf);//字符显示
    sprintf((char *)buf, "GZ :%d Lux  ", tmp);//整数转字符串  光照强度
    LCD_P6x8Str(2, 5, buf);//字符显示
    if(KEY1==1) //设置温度上限值
    {  
      while(KEY1!=0);
        buf1++;
      if(buf1>100) buf1=1,LCD_Init();
    }
    if(KEY2==1) //设置湿度下限值
    {    
      while(KEY2!=0);
        buf2++;  
      if(buf2>100) buf2=1,LCD_Init();      
    }
    if(KEY3==1) //设置光照强度下限值
    {    
      while(KEY3!=0);
        buf3++;    
      if(buf3>100) buf3=1,LCD_Init();      
    }


    sprintf((char *)buf, "SET:%d", buf1);//整数转字符串 温度
    LCD_P6x8Str(80, 1, buf);//字符显示
    sprintf((char *)buf, "SET:%d" , buf2);//整数转字符串   湿度
    LCD_P6x8Str(80, 3, buf);//字符显示
    sprintf((char *)buf, "SET:%d", buf3);//整数转字符串  光照强度
    LCD_P6x8Str(80, 5, buf);//字符显示  
      
    if(temp>buf1)  MORTOR1=0;//温度过高  开启散热
    else MORTOR1=1;
    
    if(hum<buf2)  MORTOR2=0;//湿度过低  开启加湿
    else MORTOR2=1;
    
    if(tmp<buf3)  MORTOR3=0;//低于光照强度值 开灯补光
    else MORTOR3=1;

:仿真文件(采用Proteus打开)

22337bf246a8a8c19c6ce3d80c12a2ce.png

8ee7e1d041c39207228fa49597e26829.png

04d562bd7380bacac55ef297ec477758.png

六:资料清单展示(文件中包含的相关资料)

e4891a96608ae6e3e774ad06a3392b6a.png

付费后即可在下方获取资料下载链接

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

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

相关文章

webrtc学习(五)-peerconnect_client

一.类关系图 conduct实现webrtc native api相关实现的调用&#xff0c;创建answer&#xff0c;创建offer&#xff0c;是最核心的&#xff0c;对于两个模块的调度&#xff1b;mainwindow主要用于界面的展示与调度。橙色模块主要是信令模块&#xff0c;所有的用户的登录登出交换信…

71 # 协商缓存的配置:通过内容

对比&#xff08;协商&#xff09;缓存 比较一下再去决定是用缓存还是重新获取数据&#xff0c;这样会减少网络请求&#xff0c;提高性能。 对比缓存的工作原理 客户端第一次请求服务器的时候&#xff0c;服务器会把数据进行缓存&#xff0c;同时会生成一个缓存标识符&#…

Android系统-进程-AIDL

引言&#xff1a; Android系统的进程间通信&#xff0c;主要是Binder&#xff0c;AIDL就是一种Android接口定义语言&#xff0c;主要就是为了能更简单方便地实现跨进程通信。 概念与理解&#xff1a; AIDL&#xff1a;Android Interface Definition Language 序列化&#x…

NVIDIA Jetson 项目:机器人足球比赛

推荐&#xff1a;使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景 事实上&#xff0c;整个比赛都致力于这个想法。RoboCup小型联盟&#xff08;SSL&#xff09;视觉停电技术挑战赛鼓励团队“探索本地传感和处理&#xff0c;而不是非车载计算机和全球摄像机感知环境的…

非结构化数据库-MinIO基本集成

是什么 MinIO 是一个高性能的分布式对象存储服务&#xff0c;适合存储非结构化数据&#xff0c;如图片&#xff0c;音频&#xff0c;视频&#xff0c;日志等。对象文件最大可以达到5TB。 安装启动 mkdir -p /usr/local/minio cd /usr/local/minio# 下载安装包 wget https:/…

Spring之AOP的特性

一. AOP简介 AOP是Aspect-Oriented Programming的缩写&#xff0c;即面向切面编程。利用oop思想&#xff0c;可以很好的处理业务流程&#xff0c;但是不能把系统中某些特定的重复性行为封装到模块中。例如&#xff0c;在很多业务中都需要记录操作日志&#xff0c;结果我们不得…

互联网的边缘与核心部分

边缘部分是用户直接使用&#xff0c;用来进行通信和资源共享。 核心部分由大量网络和连接网络的路由器组成。这部分是为边缘部分提供服务的。 边缘部分 处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统(end system)。 主机间的通信其实是进程间…

(三)行为型模式:3、解释器模式(Interpreter Pattern)(C++示例)

目录 1、解释器模式&#xff08;Interpreter Pattern&#xff09;含义 2、解释器模式的UML图学习 3、解释器模式的应用场景 4、解释器模式的优缺点 5、C实现解释器模式的实例 1、解释器模式&#xff08;Interpreter Pattern&#xff09;含义 解释器模式&#xff08;Interp…

WebSocket服务端数据推送及心跳机制(Spring Boot + VUE)

一、WebSocket简介 HTML5规范在传统的web交互基础上为我们带来了众多的新特性&#xff0c;随着web技术被广泛用于web APP的开发&#xff0c;这些新特性得以推广和使用&#xff0c;而websocket作为一种新的web通信技术具有巨大意义。WebSocket是HTML5新增的协议&#xff0c;它的…

Linux Vm上部署Docker

创建ubutu虚拟机并远程连接&#xff0c; 参考 https://blog.csdn.net/m0_48468018/article/details/132267096 在终端中切换到root用户&#xff0c;并安装docker服务 2.1 切换到root用户 sudo su2.2 安装docker服务 , 参考 https://docs.docker.com/engine/install/ubuntu/ …

Dart 入门Hello world

1、下载Dart sdk IntelliJ & Android Studio | Dart 2、安装Dart 插件 3、安装后重启IDEA&#xff0c;创建Dart项目 4、创建dart文件 5、编写函数&#xff1a; void main() {print("Hello world"); } 6、运行&#xff1a; 官网学习&#xff1a;Dart 语言开发文…

Android漏洞之战——整体加壳原理和脱壳技巧详解

一、前言 为了帮助更加方便的进行漏洞挖掘工作&#xff0c;前面我们通过了几篇文章详解的给大家介绍了动态调试技术、过反调试技术、Hook技术、过反Hook技术、抓包技术等&#xff0c;掌握了这些可以很方便的开展App漏洞挖掘工作&#xff0c;而最后我们还需要掌握一定的脱壳技巧…

21.1 CSS 文字样式

1. 字体倾斜 font-style属性: 为文本设置字体样式.常用取值: normal: 正常显示文本. 快捷键: fstab. italic: 显示斜体文本. 快捷键: fsntab.<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>fo…

Linux系列讲解 —— 【debugfs】交互式文件系统调试器

手册上说debugfs可以用于检查和更改ext2、ext3或ext4文件系统的状态。似乎很牛的样子&#xff0c;但是我并没有试验出来它多么强大的功能&#xff0c;无非就是在某些文件损坏导致无法删除的时候&#xff0c;我用debugfs来删除这些文件而已&#xff0c;如果有人知道它其他的妙用…

ChatGLM2-6B安装部署(详尽版)

1、环境部署 安装Anaconda3 安装GIT 安装GUDA 11.8 安装NVIDIA 图形化驱动 522.25版本&#xff0c;如果电脑本身是更高版本则不用更新 1.1、检查CUDA 运行cmd或者Anaconda&#xff0c;运行以下命令 nvidia-smi CUDA Version是版本信息&#xff0c;Dricer Version是图形化…

分布式光伏运维平台在公益场馆屋顶光伏发电系统的应用分析

摘要&#xff1a;2021年9月&#xff0c;国家发改委印发烷善能源消费强度和总量双控制度方案》&#xff0c;提出鼓励可再生能源的使用&#xff0c;支持可再生能源发展。在这样的政策推动下&#xff0c;光伏发电市场无疑将迎来高质量发展的新机遇。现结合山东博物馆光伏电站日常管…

C#语音播报问题之 无法嵌入互操作类型SpVoiceClass,请改用适用的窗口

C#语音播报问题之 无法嵌入互操作类型SpVoiceClass&#xff0c;请改用适用的窗口 解决办法如下&#xff1a; 只需要将引入的Interop.SpeechLib的属性嵌入互操作类型改为false 改为false 即可解决&#xff01;

【Spring专题】Spring之Bean的生命周期源码解析——阶段二(二)(IOC之属性填充/依赖注入)

目录 前言阅读准备阅读指引阅读建议 课程内容一、依赖注入方式&#xff08;前置知识&#xff09;1.1 手动注入1.2 自动注入1.2.1 XML的autowire自动注入1.2.1.1 byType&#xff1a;按照类型进行注入1.2.1.2 byName&#xff1a;按照名称进行注入1.2.1.3 constructor&#xff1a;…

快速实现SAP的移动化和流程优化

热门议题&#xff1a; 1、企业如何快速解决人员移动办公的需求&#xff0c;比如在苹果安卓手机&#xff0c;平板电脑&#xff0c;MAC登录SAP。2、企业如何解决用户经常抱怨的流程复杂&#xff0c;操作繁琐&#xff0c;难以使用等问题 公司介绍&#xff1a; Synactive,Inc. 是…

【校招VIP】前端校招考点之vue底层特性

考点介绍&#xff1a; 大家在面试途中遇到的相对多的问题&#xff0c;也是难点的问题&#xff0c;一般都有vue底层原理。对于只会用但是不懂的小白来说真是太痛苦了&#xff0c;仅仅能说出来 一些 数据劫持&#xff0c;双向数据绑定&#xff0c;虚拟dom树的名词来说远远不够。 …