【Proteus仿真】【STM32单片机】自动除湿器系统

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用Proteus8仿真STM32单片机控制器,使用按键、LCD1602液晶、DHT11温湿度、继电器除湿模块等。

主要功能:
系统运行后,LCD1602显示DHT11传感器检测的湿度值阈值;可通过K1和K2键调节阈值;当检测湿度高于阈值,打开除湿器,否则关闭。


二、软件设计

/*
作者:嗨小易(QQ技术交流群:570487280)*///系统数据显示
void sys_data_show(void)
{while(1){	//温度显示lcd1602_show_nums(5,0,sys_ctrl.temp,2,0);//湿度显示lcd1602_show_nums(5,1,sys_ctrl.humi,2,0);//湿度阈值显示lcd1602_show_nums(13,1,sys_ctrl.humih,2,0);	break;			}
}//系统数据设置
void sys_data_set(void)
{u8 key=0;key=key_scan(0);//加if(key==KEY1_PRESS){sys_ctrl.humih++;if(sys_ctrl.humih>99)sys_ctrl.humih=0;	}//减if(key==KEY2_PRESS){sys_ctrl.humih--;if(sys_ctrl.humih<0)sys_ctrl.humih=99;	}
}//系统功能控制
void sys_fun_ctrl(void)
{//如果湿度高于上限,开启除湿if(sys_ctrl.humi>sys_ctrl.humih)CS_PIN=0;else CS_PIN=1;//关闭除湿
}//应用控制系统
void appdemo_show(void)
{u8 i=10;sys_parm_init();//系统参数初始化lcd1602_init();DHT11_Init();//读取温度数据,等待稳定while(i--){//读取DHT11温湿度值DHT11_Read_Data(&sys_ctrl.temp,&sys_ctrl.humi);delay_ms(100);	}sys_open_show();//系统开机界面显示while(1){	sys_data_get();//系统数据获取sys_data_show();//系统数据显示sys_data_set();//系统数据设置sys_fun_ctrl();//系统功能控制}
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

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

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

相关文章

10-2 HNCST - 多线程4 - 线程同步Condition——python

有一家店铺里有4个销售和2个搬运工&#xff0c;销售负责卖货&#xff0c;搬运工负责从仓库搬货物&#xff0c;已知该店铺的存货有size&#xff0c;当销售或搬运工做完所有商品数量后&#xff0c;他们各自就可以下班。销售可以同时卖货&#xff0c;但只能按照货架顺序每次卖出一…

基于SpringBoot的客户关系管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的客户管理系统,java项目…

[JS设计模式]Prototype Pattern

Prototype pattern Prototype pattern可便于同类型的多个对象共享属性。原型&#xff08;prototype&#xff09;是JS原生的对象&#xff0c;其他对象可以通过原型链&#xff08;prototype chain&#xff09;来访问原型。单独看这句描述可能还是有点儿抽象&#xff0c;下面通过…

深度解析ShardingJDBC:Java开发者的分库分表利器

一、ShardingSphere ShardingSphere 是一款起源于当当网内部的应用框架。2015年在当当网内部诞 生&#xff0c;最初就叫ShardingJDBC 。2016年的时候&#xff0c;由其中一个主要的开发人员张亮&#xff0c; 带入到京东数科&#xff0c;组件团队继续开发。在国内历经了当当网、电…

Unity 新版 Meta XR SDK 无法导入解决方法

文章目录 &#x1f4d5;教程说明&#x1f4d5;新版 SDK 说明&#x1f4d5;从 Meta 官网导入开发包⭐依赖包⭐如何导入⭐导入后包存放在哪里了&#xff1f;⭐场景样例文件去哪了&#xff1f; 此教程相关的详细教案&#xff0c;文档&#xff0c;思维导图和工程文件会放入 Spatia…

报表控件FastReport VCL 中的新 S3 传输 (Amazon)

在本文中&#xff0c;我们将探讨新的 S3 传输。从功能上来说&#xff0c;S3 与大多数人习惯使用的有很大不同&#xff0c;因此在本文的开头&#xff0c;我们将详细介绍它的主要功能。 FastReport .NET 是适用于.NET Core 3&#xff0c;ASP.NET&#xff0c;MVC和Windows窗体的全…

软件测试/测试开发丨Python内置库学习笔记

内置库 一、内置库OS 1、os概述 os: Operating Systemos 模块的常用功能跨平台的差异 2、os使用 导入 os 模块查看 os 模块使用文档 help(os)dir(os) import os# 查看os模块说明文档 help(os)# 查看os模块的属性和方法 print(dir(os))3、os 常用方法 &#xff08;1&…

全渠道客服系统推荐:选型指南与最佳实践分享

售后服务是影响客户满意度的最直接的因素。有些企业不注重产品的售后服务&#xff0c;不仅是对客户的伤害&#xff0c;更是对企业品牌的损害。所以&#xff0c;做好售后服务对于企业来讲至关重要。 企业谈到做好售后服务&#xff0c;少不了一款好用的客服系统工具。其中&#…

C# PrinterSettings修改打印机纸张类型,paperType

需求&#xff1a;直接上图&#xff0c;PrinterSettings只能改变纸张大小&#xff0c;打印质量&#xff0c;无法更改打印纸类型 爱普生打印机打印照片已经设置了最高质量&#xff0c;打印图片仍不清晰&#xff0c;需要修改打印纸类型&#xff0c;使用PrintDialog调出对话框&…

集合高级面试题

1. ArrayList 和 Vector 的区别&#xff1f; 参考答案 这两个类都实现了 List 接口&#xff08;List 接口继承了 Collection 接口&#xff09;&#xff0c;他们都是有序集合&#xff0c;即存储在这两个集合中的元素的位置都是有顺序的&#xff0c;相当于一种动态的数组&#x…

js获取某天日期

获取某天日期 getSomeDay(someDay) {let currentDate new Date();let targetday_milliseconds currentDate.getTime() 1000 * 60 * 60 * 24 * someDay;currentDate.setTime(targetday_milliseconds);const doHandleMonth (month) > {let m month;if (month.toString()…

2023-12-30 AIGC-LangChain介绍

摘要: 2023-12-30 AIGC-LangChain介绍 LangChain介绍 1. https://youtu.be/Ix9WIZpArm0?t353 2. https://www.freecodecamp.org/news/langchain-how-to-create-custom-knowledge-chatbots/ 3. https://www.pinecone.io/learn/langchain-conversational-memory/ 4. https://de…

SQL高级:存储过程和触发器

在前面的内容中,我们学习了视图的概念和使用,视图实际上代表了一种自定义的结果集,可以理解为一个虚拟表。它诠释了部分数据的逻辑关系,但并不会操作数据。 如果有一些需求可以通过多个DML SQL组合起来完成,我们就可以使用存储过程。存储过程可以类比其他编程语言中的方法…

乒乓球室计时计费软件,乒乓球馆怎么计时

一&#xff0c;软件程序问答 1、软件有计时功能吗&#xff0c;有会员管理功能吗&#xff1f; 如下图&#xff0c;软件以 佳易王乒乓球馆计时计费软件 为例说明 软件既可以既可以计时计费&#xff0c;也可以会员管理&#xff0c;会员可以用卡片也可以直接用手机号即可。 2、软…

2023年度总结——关于如何认清自己是个FW

前言 不到各位有没有今年过得特别快的感觉。写总结时候一整理&#xff0c;我敲&#xff0c;我今年这么忙&#xff1f; 从三月份开说 三月份 这段时间刚开学&#xff0c;还算比较懵懂。不过初生牛犊不怕虎&#xff0c;那个寒假学了点怎么挖edusrc&#xff0c;开学迫不及待地…

SpireCV项目实战——电诈园区人员及房屋情况识别

项目介绍前言 随着科技的进步和大数据时代的到来&#xff0c;计算机视觉技术逐渐渗透到各个行业领域&#xff0c;为人们的生活和工作带来了诸多便利。近年来&#xff0c;电信诈骗案件频发&#xff0c;给社会带来了巨大的经济损失和心理负担。电诈园区作为电信诈骗的高发区域&a…

弱电工程计算机网络系统基础知识

我们周围无时无刻不存在一张网&#xff0c;如电话网、电报网、电视网、计算机网络等&#xff1b;即使我们身体内部也存在许许多多的网络系统&#xff0c;如神经系统、消化系统等。最为典型的代表即计算机网络&#xff0c;它是计算机技术与通信技术两个领域的结合。 计算机网络的…

【QT】qt各模块描述

【未完待续】 QT主要版本&#xff0c;各个模块的作用描述。 QT5.12 版本(只有部分) qtgamepad: 提供了对游戏手柄的支持。qtandroidextras: 提供了一些特定于Android的功能。qtmacextras: 提供了一些特定于macOS的功能。qtx11extras: 提供了一些特定于X11的功能。qtsensors:…

spring ioc源码-refresh();

主要作用是刷新应用上下文 Override public void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) {// 启动刷新的性能跟踪步骤StartupStep contextRefresh this.applicationStartup.start("spring.context.refre…

Typescript面向对象

面向对象 面向对象是程序中一个非常重要的思想&#xff0c;它被很多同学理解成了一个比较难&#xff0c;比较深奥的问题&#xff0c;其实不然。面向对象很简单&#xff0c;简而言之就是程序之中所有的操作都需要通过对象来完成。 举例来说&#xff1a; 操作浏览器要使用windo…