基于STM32的温湿度检测TFT屏幕proteus恒温控制仿真系统
一、引言
本文介绍了一个基于STM32的恒温控制箱检测系统,该系统通过DHT11温湿度传感器采集环境中的温湿度数据,并利用TFT LCD屏幕进行实时显示。通过按键切换页面显示,通过按键切换实现恒温控制箱的恒温控制。为了验证系统的可靠性和稳定性,我们采用了Proteus仿真软件进行了系统仿真。如果觉得我的文章对你有帮助,不妨点赞关注,谢谢!
墨小羽ovo个人主页
系统实现
1.该系统通过DHT11温湿度传感器采集环境中的温湿度数据,并利用TFT LCD屏幕进行实时显示
2 第三个第四个按键实现温度阈值增减的控制,第一个和第二个按键进行LCD屏幕页面切换。


3.通过第一个和第二个按键进行PWM调速,实现电机转动速度的调节,进行恒温控制
项目教程资料分享
本项目用到的资料源码已经放到交流群中,需要的可以加群获取。一起学习,互相进步。

项目实现
二、系统设计
2.1 硬件模块组成
1.STM32F103RCT6单片机
2.DHT11温湿度传感器
3.TFT LCD屏幕和按键组成。
4.L298N电机驱动模块
5.LED灯模块
2.2 软件部分组成
1.KEIL5开发环境2.Proteus仿真软件
2.3 系统硬件电路

2.4 软件设计
2.4.1 系统初始化

2.5 DHT11运行检测函数


2.6 按键运行检测函数


2.7 pwm调节温度


3. 函数实现
3.1 温湿度检测dht11库函数
#include "dht11.h"#include "delay.h"//切换数据线模式输入输出PB6void DHT11_ChangeMode(__DHT11_MODE mode){RCC_APB2PeriphClockCmd(DHT11_CLK, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Pin = DHT11_PIN;if(mode == MODE_OUTPUT)GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出elseGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入GPIO_Init(DHT11_PORT, &GPIO_InitStructure); }__DHT11_DATA dht_data;__DHT11_DATA test;//读取数据//失败返回 0//成功返回 1u8 DHT11_ReadData(__DHT11_DATA * dht11){u8 result = 0;u8 count = 0;u8 data[5] = {0};DHT11_ChangeMode(MODE_OUTPUT);//切换输出模式DHT11_OUTPUT(1);//开始信号DHT11_OUTPUT(0);Delay_ms(20);//延时,持续输出低电平18~30msDHT11_OUTPUT(1);//等待响应DHT11_ChangeMode(MODE_INPUT);//切换输入模式while(DHT11_ReadPinState() == 1){count++;Delay_us(1);if(count >= 100) return 0;}count = 0;while(DHT11_ReadPinState() == 0){count++;Delay_us(1);if(count >= 100) return 0;}count = 0; for(u8 i=0; i<40; i++){while(DHT11_ReadPinState() == 1){count++;Delay_us(1);if(count >= 100) return 0;}count = 0;while(DHT11_ReadPinState() == 0){count++;Delay_us(1);if(count >= 100) return 0;}count = 0; Delay_us(30);if(DHT11_ReadPinState() == 1){data[i/8] |= (1<<(7-(i%8))); //置一}else{data[i/8] &= ~(1<<(7-(i%8)));//清零}}//校验if(data[0]+data[1]+data[2]+data[3] == data[4]){dht11->Hum = data[0];dht11->Tem = data[2];result = 1;}else{result = 0;}return result;}
3.2 系统定时器中断
//系统定时器中断服务函数void SysTick_Handler(void) //1mS{RunTime++;Led_RunTime++;DHT11_RunTime++;GUI_Time++;}
3.3 按键检测函数
//按键检测函数 按键松开后才会响应
/*
0 没有按键按下,1 :PA1对应的按键
*/
u8 Get_KeyValue(void)
{u8 keyvalue = 0;if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==RESET){while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==RESET){}keyvalue = 1;}if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)==RESET){while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)==RESET){}keyvalue = 2;flag=1;}if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)==RESET){while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)==RESET){}keyvalue = 3;}if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)==RESET){while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)==RESET){}keyvalue = 4;}return keyvalue;
}
四、总结
本博客介绍了基于STM32的恒温控制箱检测系统,通过DHT11传感器采集温湿度数据,TFT LCD屏幕实时显示,并使用按键进行页面切换和温度阈值调整。Proteus仿真验证了系统的可靠性。未来可考虑引入PID控制算法提升控制精度。希望本教程对您有所帮助,
觉得实用不妨点赞关注。在编写博客的过程中,我尽量保持内容的准确性和完整性,但也难免会有疏漏或错误之处。欢迎各位读者指出其中的问题,帮助我不断进步。
相关文章:
基于STM32的温湿度检测TFT屏幕proteus恒温控制仿真系统
一、引言 本文介绍了一个基于STM32的恒温控制箱检测系统,该系统通过DHT11温湿度传感器采集环境中的温湿度数据,并利用TFT LCD屏幕进行实时显示。通过按键切换页面显示,通过按键切换实现恒温控制箱的恒温控制。为了验证系统的可靠性和稳定性&…...
【Qt+opencv】编译、配置opencv
文章目录 前言下载opencv编译opencvmingw版本 总结 前言 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它包含了超过2500个优化的算法。这些算法可以用来检测和识别面部,识别对象&#x…...
RDMA建链的3次握手和断链的4次挥手流程?
文章目录 基础信息建链 3次握手断链4次挥手建联状态active端passive端 报文结构函数关系其他后记 基础信息 CM: Communication Management 通信管理 连接管理SIDR: Service ID Resolution Protocol. 作用: enables users of Unreliable Datagram service to locate …...
实验4 图像空间滤波
1. 实验目的 ①掌握图像空间滤波的主要原理与方法; ②掌握图像边缘提取的主要原理和方法; ③了解空间滤波在图像处理和机器学习中的应用。 2. 实验内容 ①调用 Matlab / Python OpenCV中的函数,实现均值滤波、高斯滤波、中值滤波等。 ②调…...
独辟蹊径:我是如何用Java自创一套工作流引擎的(下)
作者:后端小肥肠 创作不易,未经允许严禁转载。 姊妹篇:独辟蹊径:我是如何用Java自创一套工作流引擎的(上)_java工作流引擎-CSDN博客 1. 前言 在上一篇博客中,我们详细介绍了如何利用Java语言从…...
【Python】pycharm常用快捷键操作
目录 一.pycharm自定义修改快捷键 二.pycharm默认常用快捷键 一.pycharm自定义修改快捷键 在file-setting-keymap中可以修改快捷键,建议刚开始没特殊需求就不用修改,先熟悉系统默认的常用快捷键,但是以下情况可以考虑修改: 之前使用其他I…...
es6语法复习一
es6语法 1.var 变量提升 2.let 不存在变量提升,只能定义一次 3.const 先定义再使用,定义好来不能修改 4.解构赋值 [a,b,c][1,2,3],{a,b,c}{a:1,b:2,c:3} 5.模版字符串 let aaa; ${a} is ok 6.对象简化写法 const school{ name, change, improve(){ cons…...
【python入门】自定义函数
文章目录 定义自定义函数的基本语法参数类型示例代码函数作用域匿名函数(Lambda)闭包装饰器 Python中的自定义函数允许你编写一段可重用的代码块,这段代码可以带参数(输入),并可能返回一个值(输…...
ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验
文章目录 什么是ONLYOFFICE ?ONLYOFFICE 桌面编辑器 8.1 发布:新功能和改进功能强大的 PDF 编辑器幻灯片版式功能从右至左语言支持多媒体功能增强无缝切换工作模式其他改进和优化总结 什么是ONLYOFFICE ? https://www.onlyoffice.com/zh/off…...
ESP32实现UDP连接——micropython版本
代码: import network import socket import timedef wifiInit(name, port):ap network.WLAN(network.AP_IF) # 创建一个热点ap.config(essidname, authmodenetwork.AUTH_OPEN) # 无需密码ap.active(True) # 激活热点ip ap.ifconfig()[0] # 获取ip地址print(…...
Windows Ternimal
Windows Ternimal 安装 Windows 终端概述 | Microsoft Learn wt --help在当前目录打开 lextm/windowsterminal-shell: Install/uninstall scripts for Windows Terminal context menu items 打开指定目录 wt -d %USERPROFILE% ohmyposh 美化 1 安装 2 添加 ohmyposh bin…...
Unity扩展编辑器功能的特性
1.添加分组标题 用于在Unity的Inspector视图中为属性或变量组创建一个自定义的标题或头部,有助于在Inspector中组织和分类不同的属性,使其更易于阅读和管理。 [Header("Common Properties")] public float MouseSensitivity 5; public float…...
API类别 - UI核心
API类别 - UI核心 引言 在当今的数字时代,用户界面(UI)是任何软件或应用成功的关键因素之一。UI核心API作为构建用户界面的基础,提供了丰富的功能和工具,使得开发者能够创建出既美观又实用的用户界面。本文将深入探讨UI核心API的不同类别,以及它们如何影响现代软件开发…...
Redis-主从复制-配置主从关系
文章目录 1、修改配置文件中的 bind ,注释该配置,取消绑定仅主机登录2、修改protected-mode 为no,取消保护模式3、查看redis的进程状态4、配置6380是6379的从机5、配置6381是6379的从机6、查看主机 6379 的主从信息 1、修改配置文件中的 bind ,注释该配置,取消绑定仅主机登录 …...
DigiRL:让 AI 自己学会控制手机
类似于苹果此前发布的Ferret-UI 的安卓开源平替。主要用于在 Android 设备上识别 UI 和执行指令,不同的是它利用了离线到在线强化学习(Offline-to-Online RL),能够快速适应应用更新或 UI 变化。...
04.Ambari自定义服务开发-自定义服务配置文件在Ambari中的设置方法
文章目录 设置方法配置文件设置Custom xxx配置文件详细的配置方法.xml文件的整体格式基础参数格式value-attributes配置介绍设置属性在服务安装后不可修改设置允许字段为空是否显示配置名称参数类型设置字符串类型PasswordBooleanIntFloatDirectoryDirectoriesContent-多行文本…...
LSTM时间序列基础学习
时间序列 时间序列可以是一维,二维,三维甚至更高维度的数据,在深度学习的世界中常见的是三维时间序列,这三个维度分别是(batch_size,time_step,input_dimensions)。 其中time_step是时间步,它…...
『Z-Workshop』 6月22日线下ALCOVE分享活动
2024 求是创新 ZJUBCA Sponsored by the ALCOVE Community TIME:2024/06/22 ADD:浙江大学紫金港校区 --- Alcove 是 Aptos 公链与 Alibaba Cloud 共同打造的亚洲首个 Move 开发者社区,致力于支持开发者使用 Move 语言构建下一代 Web3 应用&am…...
【机器学习】机器学习重要方法——迁移学习:理论、方法与实践
文章目录 迁移学习:理论、方法与实践引言第一章 迁移学习的基本概念1.1 什么是迁移学习1.2 迁移学习的类型1.3 迁移学习的优势 第二章 迁移学习的核心方法2.1 特征重用(Feature Reuse)2.2 微调(Fine-Tuning)2.3 领域适…...
uniapp, [TypeError] “Failed to fetch dynamically imported module“ 报错解决思路
文章目录 1. 背景2. 报错3. 解决思路4. 思考参考1. 背景 最近基于uniapp开发一款设备参数调试的APP软件,在使用第三方插件的过程中,出现下面的报错。 2. 报错 [plugin:vite:import-analysis] Cannot find module ‘D:/leaning/uniapp/demo/jk-uts-udp示例/uni_modules/uts-…...
Nuxt.js Tailwind CSS 模块:零配置快速启动现代Web开发
Nuxt.js Tailwind CSS 模块:零配置快速启动现代Web开发 【免费下载链接】tailwindcss Tailwind CSS module for Nuxt 项目地址: https://gitcode.com/gh_mirrors/tai/tailwindcss Nuxt.js Tailwind CSS 模块是一个专为Nuxt框架设计的Tailwind CSS集成解决方案…...
书成紫微动,律定凤凰驯:别信 “阿紫受控” 的鬼话,海棠山铁哥才是这句诗的正主
“书成紫微动,律定凤凰驯”本是华夏文德盛世的正统谶语, 却在流量的漩涡里被篡改成权谋剧本。 剥离谣言滤镜,回归文本与现世, 世人终将看清: “阿紫受控”纯属无稽, 海棠山铁哥,才是这句古辞唯一…...
CellProfiler:生物图像分析的瑞士军刀,让科研更智能更高效
CellProfiler:生物图像分析的瑞士军刀,让科研更智能更高效 【免费下载链接】CellProfiler An open-source application for biological image analysis 项目地址: https://gitcode.com/gh_mirrors/ce/CellProfiler 你是否曾经面对成百上千张细胞图…...
图像处理入门避坑:拉普拉斯锐化中的‘标定’到底在做什么?用NumPy手撕一遍就懂了
图像处理入门避坑:拉普拉斯锐化中的‘标定’到底在做什么?用NumPy手撕一遍就懂了 当你第一次尝试用拉普拉斯算子锐化图像时,可能会遇到一个令人困惑的现象:明明按照教程写了代码,输出的却是一张全黑或全白的图片。这不…...
Fast-GitHub终极指南:如何将GitHub下载速度从KB/s提升到MB/s
Fast-GitHub终极指南:如何将GitHub下载速度从KB/s提升到MB/s 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否曾因…...
Coding爆发打破「AI泡沫论」,MiniMax能否卡位下一个Google?
【Coding爆发打破「AI泡沫论」】 Coding的爆发,彻底断绝了「AI泡沫论」,这已成为共识。阿里财报显示MaaS ARR超过80亿元,年底还有望再涨三倍以上,意味着只有投入没有回报的周期已过去,能开始盈利,大小玩家都…...
终极R3nzSkin换肤工具:英雄联盟国服免费皮肤自定义完整指南
终极R3nzSkin换肤工具:英雄联盟国服免费皮肤自定义完整指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 你是否曾经羡慕别人拥有稀有皮肤…...
3步完成Android Studio中文界面配置:告别英文困扰,提升开发效率
3步完成Android Studio中文界面配置:告别英文困扰,提升开发效率 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack…...
【限时技术白皮书】ElevenLabs希伯来文语音工程手册(v2.3.1):含BERT-Heb分词器适配补丁、ta’amei ha-miqra韵律注入模块及CI/CD集成脚本
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs希伯来文语音工程概览 ElevenLabs 作为前沿的文本转语音(TTS)平台,自2023年起逐步扩展对希伯来语(Hebrew)的支持,涵盖音…...
G-Helper风扇控制终极指南:从静音办公到狂暴游戏的全场景调校
G-Helper风扇控制终极指南:从静音办公到狂暴游戏的全场景调校 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenb…...
