88-基于stm32单片机空调温湿度控制系统Proteus仿真+源码

news2024/11/22 16:04:24

资料编号:088

一:功能介绍:

1、采用stm32单片机+OLED显示屏+DHT11温湿度+电机+按键,制作一个温湿度采集,OLED显示相关数据,自动制冷制热空调;

2、通过按键设置温度值和工作模式(制冷/制热)

3、当在制热模式下,采集温度小于设置温度,开启制热电机,当在制冷模式下,采集温度大于设置湿度,开启制冷电机,达到自动温控系统空调标准;

4、OLED显示屏显示采集温湿度、设置温度和当前工作模式;

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

三:设计软件介绍

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

四:程序打开方法

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

3fba06bcaca228f2302c759bd88413aa.png

fcb1fe72c817a0684212751265b0b567.png

程序部分展示,有中文注释,新手容易看懂
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);//字符显示
    if(KEY1==1) //设置温度上限值
    {  
      while(KEY1!=0);
        buf1++;
      if(buf1>100) buf1=100,LCD_Init();
    }
    if(KEY2==1) //设置湿度下限值
    {    
      while(KEY2!=0);
        buf1--;  
      if(buf1<1) buf1=1,LCD_Init();      
    }
    if(KEY3==1) //设置模式
    {    
      while(KEY3!=0);
        buf3++;    
      if(buf3>1) buf3=0,LCD_Init();      
    }


    sprintf((char *)buf, "SET:%d", buf1);//整数转字符串 温度
    LCD_P6x8Str(80, 1, buf);//字符显示




      
    if(buf3==0&&temp<buf1)  MOTOR1=0;//加热模式下 温度低于设置  开启加热
    else MOTOR1=1;
    
    if(buf3==1&&temp>buf1)  MOTOR2=0;//制冷模式下 温度高于设置  开启制冷
    else MOTOR2=1;
    
    if(buf3==0)//显示设置状态
    {
      sprintf((char *)buf, "MODE%d:HEAT", 1);//整数转字符串 热
      LCD_P6x8Str(30, 6, buf);//字符显示
    }
    else //显示设置状态
    {
      sprintf((char *)buf, "MODE%d:COLD", 2);//整数转字符串 冷
      LCD_P6x8Str(30, 6, buf);//字符显示
    }

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

031f21fa70f753362fc9ea6025e93181.png

cde8a0c55916e1498cfd45442ae70825.png

988b3dfab904582783761eac2dd8ca28.png

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

638bf2422f149dc35bfd5fc7eb11e125.png

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

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

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

相关文章

MLC LLM:将LLMs部署到消费类硬件的优势、挑战以及解决方案

一、前言 随着生成人工智能&#xff08;AI&#xff09;和大语言模型&#xff08;LLM&#xff09;的快速发展&#xff0c;基于LLM的应用越来越普及。然而&#xff0c;大规模的模型需要密集计算和庞大的资源&#xff0c;使得许多公司无法承担从头开始训练模型的成本。目前&#…

计算机控制技术|17/8|16:27

目录 1. 什么是“纹波”现象&#xff1f;原因为何&#xff1f; 2. 如何解决最小拍控制器的“纹波”问题&#xff1f; 3. 解释“阻尼因子法”&#xff1f; 4. 大林算法控制器设计时&#xff0c;给定闭环系统传递函数模型离散化时为何要加入零阶保持器&#xff1f; 5. 何为“…

86-基于stm32单片机智能家居温湿度监测自动加湿器散热器Proteus仿真+源码

资料编号&#xff1a;086 一&#xff1a;功能介绍&#xff1a; 1、采用stm32单片机OLED显示屏DHT11温湿度电机按键蜂鸣器&#xff0c;制作一个温湿度采集、OLED显示相关数据&#xff0c; 2、通过按键设置温度上限、湿度下限、 3、当采集温度大于设置温度&#xff0c;开启散热电…

【广州华锐视点】VR线上教学资源平台提供定制化虚拟现实学习内容

虚拟现实&#xff08;VR&#xff09;技术的出现为我们提供了一种全新的在线教学方式。由广州华锐视点开发的VR线上教学资源平台&#xff0c;作为一个综合性的学习工具&#xff0c;正在教育领域迅速发展&#xff0c;并被越来越多的教育机构和学生所接受。那么&#xff0c;VR线上…

XDR解决方案成为了新的安全趋势

和当今指数倍增长的安全数据相比&#xff0c;安全人才的短缺带来了潜在的风险。几乎所有的公司&#xff0c;无论规模大小&#xff0c;在安全资源能力上都有限&#xff0c;需要过滤各种告警才能将分析量保持在可接受范围。但这样一来&#xff0c;潜在的威胁线索就可能被埋没&…

在一小时内构建您的深度学习应用程序

一、说明 我已经做了将近十年的数据分析。有时&#xff0c;我使用机器学习技术从数据中获取见解&#xff0c;并且我习惯于使用经典 ML。 虽然我已经通过了神经网络和深度学习的一些MOOC&#xff0c;但我从未在我的工作中使用过它们&#xff0c;这个领域对我来说似乎很有挑战性。…

爬虫的代理IP池写哪里了?

亲爱的程序员小伙伴们&#xff0c;想要提高爬虫效率和稳定性&#xff0c;组建一个强大的代理IP池是非常重要的一步&#xff01;今天我就来和你分享一下&#xff0c;代理IP池到底应该写在哪里&#xff0c;以及如何打造一个令人瞩目的代理IP池&#xff01;准备好了吗&#xff1f;…

【最新可用】VMware中ubuntu与主机window之间使用共享文件夹传输大文件

一、VMware设置共享文件夹 &#xff08;1&#xff09;虚拟机关机情况下&#xff0c;创建一个共享文件夹 &#xff08;2&#xff09;ubuntu中挂载共享文件夹 1、如果之前已经挂载 hgfs&#xff0c;先取消挂载 sudo umount /mnt/hgfs2、重新使用以下命令挂载 sudo /usr/bin/vmh…

11、BigKey

BigKey 阿里广告平台&#xff0c;海量数据里查询某一固定前缀的key 小红书&#xff0c;你如何生产上限制keys */flushdb/flushall等危险命令以防止误删误用&#xff1f; 美团&#xff0c;MEMORY USAGE 命令你用过吗&#xff1f; BigKey问题&#xff0c;多大算big&#xff1f;你…

数据库名字添加中文

Jetbrains 可以呀&#xff0c;这个ui 相当棒 from database import Sqlite3Database from googletrans import Translator import csvif __name__ "__main__":TRANS_EN2ZH Falsetranslator Translator()sqlite Sqlite3Database("./drurmu.db")sqlite.r…

深入篇【C++】手搓模拟实现二叉搜索树(递归/非递归版本)常见应用场景(K模型与KV模型)

深入篇【C】手搓模拟实现二叉搜索树(递归/非递归版本&#xff09;&&常见应用场景 Ⅰ.二叉搜索树概念Ⅱ.二叉搜索树模拟实现(递归与非递归)①.定义结点②.构造二叉树③.插入结点④.删除结点(重要)⑤.查找结点⑥.析构二叉树⑦.拷贝二叉树⑧.二叉树赋值 Ⅲ.二叉搜索树应用…

Cadence+硬件每日学习十个知识点(38)23.8.18 (Cadence的使用,界面介绍)

文章目录 1.Cadence有共享数据库的途径2.Cadence启动3.Cadence界面菜单简介&#xff08;file、edit、view、place、options&#xff09;4.Cadence界面的图标简介5.我的下载资源有三本书 1.Cadence有共享数据库的途径 答&#xff1a; AD缺少共享数据库的途径&#xff0c;目前我…

Apache-DBUtils

目录 封装方法 引出dbutils 案例 当关闭connection后&#xff0c;resultset结果集就无法使用了&#xff0c;这就使得resultset不利于数据的管理 封装方法 我们可以将结果集先存储在一个集合中&#xff0c;当connection关闭后&#xff0c;我们可以通过访问集合来访问结果集 …

Educational Codeforces Round 110 (Rated for Div. 2) C. Unstable String

dp写法&#xff1a;f[i][j]表示第i位&#xff0c;当前位为j&#xff0c;能往前找的最大的合法长度。 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int> PII; type…

Redis进阶篇 - 04发布订阅、布隆过滤器、过期策略、回收机制、管道...核心知识原理

Redis底层原理篇&#xff0c;​让学习绚丽多彩起来&#xff01;&#xff01;&#xff01;&#xff08;需要原图私信&#xff09;

【服务器】Strace显示后台进程输出

今天有小朋友遇到一个问题 她想把2331509和2854637这两个进程调到前台来&#xff0c;以便于在当前shell查看这两个python进程的实时输出 我第一反应是用jobs -l然后fg &#xff08;参考这里&#xff09; 但是发现jobs -l根本没有输出&#xff1a; 原因是jobs看的是当前ses…

【Docker】Docker Desktop配置资源:cpu、内存等(windows环境下)

Docker Desktop配置资源&#xff1a;cpu、内存等&#xff08;windows环境下&#xff09; 一、WSL2 以及 hyper-v区别&#xff0c;二者安装docker desktop1.WSL2和hyper-v区别2.安装Docker Desktop 二、docker desktop限额配置&#xff0c;资源配置方法 Docker 是指容器化技术&a…

Redis进阶底层原理- Redis结构图与底层数据编码结构

Redis底层原理篇&#xff0c;​让学习绚丽多彩起来&#xff01;&#xff01;&#xff01;&#xff08;需要原图私信&#xff09;

DAMO-YOLO:实时目标检测设计的报告

ReadPaperhttps://readpaper.com/pdf-annotate/note?pdfId4748421678288076801eId1920373270663763712 Abstract 在本报告中&#xff0c;我们提出了一种快速准确的目标检测方法&#xff0c;称为DAMO-YOLO&#xff0c;它比最先进的YOLO系列实现了更高的性能。DAMO-YOLO 通过…

并发编程系列 - ReadWriteLock

实际工作中&#xff0c;为了优化性能&#xff0c;我们经常会使用缓存&#xff0c;例如缓存元数据、缓存基础数据等&#xff0c;这就是一种典型的读多写少应用场景。缓存之所以能提升性能&#xff0c;一个重要的条件就是缓存的数据一定是读多写少的&#xff0c;例如元数据和基础…