81-基于stm32单片机DHT11温湿度MQ4可燃气体天然气浓度检测系统自动散热加湿排气Proteus仿真+源码...

news2024/12/24 21:10:47

资料编号:081

一:功能介绍:

1、采用stm32单片机+OLED显示屏+MQ4可燃气体浓度检测+DHT11温湿度+电机+按键,制作一个温湿度采集、MQ4可燃气体浓度采集,OLED显示相关数据,

2、通过按键设置温度上限、湿度下限、可燃气体浓度上限,

3、当采集温度大于设置温度,开启散热电机,当采集湿度小于设置湿度,开启加湿电机,当采集可燃气体浓度大于设置浓度,开启排气电机,

4、OLED显示屏显示采集温湿度、采集可燃气体浓度和设置的温湿度、可燃气体浓度阈值

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

三:设计软件介绍

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

四:程序打开方法

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

32f8ebe8b91133238e628fbfe1e97860.pnga3c98cec8675daaba4499b31b2835034.png

主程序部分展示:
int main(void)
{   
  int b,tmp,buf1=30,buf2=30,buf3=40;
  u8 temp = 0, hum = 0;
  unsigned char buf[100] = { 0 };
  delay_init();//下面都是初始化函数
  LCD_Init() ;   
  Adc_Init();
  DHT11_Init();
  KEY_Init();
  output_Init();
  while(1)
  {
    Get_Adc();
    b=ADC_GetConversionValue(ADC1);//读取MQ4浓度
    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, "MQ4:%d ppm  ", tmp);//整数转字符串  MQ4
    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) //设置MQ4上限值
    {    
      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);//整数转字符串  MQ4
    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;//MQ4浓度过高 开启排气
    else MORTOR3=1;
    
  }
}

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

0052c94058c849c518245392d19ac2ba.png

0ce01d4022ab81bcabb7f8b1ab0ab457.png

b9d3ba88e8c26f8c5ba34143c134dfa2.png

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

b479b3600915d2ea2fc248b8e3444149.png

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

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

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

相关文章

浅谈OCR中的David Shepard

在OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;中&#xff0c;David Shepard是一种早期的OCR技术&#xff0c;也被称为Shepards Method。 David Shepard是该OCR方法的原始作者。这种方法基于边界追踪算法&#xff0c;用于识别印刷体文本…

mkv视频格式怎么转换为mp4?

mkv视频格式怎么转换为mp4&#xff1f;实际上&#xff0c;我们将MKV格式的文件转换成 MP4格式之后&#xff0c;能够在很大程度上提高原文件的利用率&#xff0c;也保证了文件的兼容性。很多时候&#xff0c;由于格式限制问题&#xff0c;文件在某些设备和软件上无法正常播放。所…

❤ 全面解析若依框架vue2版本(springboot-vue前后分离--前端部分)

❤ 解析若依框架之前台修改 1、修改页面标题和logo 修改网页上的logo ruoyi-ui --> public --> favicon.ico&#xff0c;把这个图片换成你自己的logo 修改网页标题 根目录下的vue.config.js const name process.env.VUE_APP_TITLE || ‘若依管理系统’ // 网页标题 换成…

WebGL游戏站优化实录【myshmup.com】

myshmup.com 允许在浏览器中创建 shmup&#xff08;射击&#xff09;游戏。 你可以使用具有创意通用许可证的资源或上传自己的艺术作品和声音。 创建的游戏可以在网站上发布。 该平台不需要编码&#xff0c;游戏对象的配置是在用户界面的帮助下执行的。 后端是使用Django框架开…

实力演绎不凡服务,伊士曼漆面保护膜裁切数据系统焕新面世 创新成就不凡服务体验

中国&#xff0c;上海&#xff0c;近日——汽车后市场数字化服务新时代即将到来。全球性特种材料公司伊士曼正通过创新升级的全新漆面保护膜裁切数据系统「EMN CORE PATTERN」&#xff0c;应对汽车后市场转型趋势&#xff0c;以迈入全新阶段的漆面保护膜智能裁切技术。用更专业…

读SQL学习指南(第3版)笔记01_背景知识

1. 数据库 1.1. 一组相关信息 1.2. 电话簿肯定是最为普及且常用的数据库 2. 非关系型数据库系统 2.1. 层次数据库系统 2.1.1. 以一个或多个树形结构来表示数据 2.1.2. 提供了定位特定客户信息树的工具&#xff0c;并能够遍历该树找到所需的账户和/或交易 2.1.3. 树中的每…

VMWARE15.5.7安装RedHat 7.9黑屏

在win7上面最高版本为vmware15.5.7 我安装后&#xff0c;安装成功了redhat5.5 但是因为操作系统有点老。安装其他软件时遇到问题。想改为7.0以上linux。 但是遇到了问题。安装时&#xff0c;一直黑屏。包括再安装5.5也是同样效果。 找了很多方案都无济于事。后面搜到一个方案…

SpringBoot3.x Starter自动装配的坑

最近有个写IAM平台的设想&#xff0c;里面涉及到了行为审计&#xff0c;就在思考如果其他各个模块都去写一遍审计平台的配置和方法&#xff0c;那多麻烦&#xff0c;不如写个工具类。但是一般的工具类要使用方法就得实例化&#xff0c;十分的繁琐。于是写一个Starter的想法应运…

docker run 命令30个常用参数详解

文章目录 0.前言docker run 命令示例 2.Docker run 多种用法知其然知其所以然1. 基本用法2. 启动交互式容器3. 映射端口4. 挂载文件/目录5. 设置环境变量6. 指定容器名称7. 后台运行容器8. 重启策略9. 其他参数 2. docker run 命令参数详解1. -d&#xff1a;以后台模式&#xf…

C# SolidWorks二次开发-第100篇 属性卡刷新方案

SolidWorks推出属性卡应该很多年了吧&#xff0c;毕竟可以用户自己定义界面&#xff0c;而且方便修改&#xff0c;毕竟点击自带的的属性按钮再去修改要操作好几次。 我们今天讲一个很简单的功能要求&#xff0c;就是在SolidWorks中实现零件的编码问题。 毕竟设计好的东西后面需…

修改el-table行悬停状态的背景颜色

.content:deep().el-table tr:hover>td {background-color: #f5f5f5 !important; /* 设置悬停时的背景颜色 */ }/*这一点很重要&#xff0c;否则可能会导致hover行时操作列还是原来的背景色*/ .content:deep().el-table__body tr.hover-row>td{background-color: #f5f5f5…

编写一个俄罗斯方块

编写俄罗斯方块 思路。 1、创建容器数组&#xff0c;方块&#xff0c; 2、下落&#xff0c;左右移动&#xff0c;旋转&#xff0c;判断结束&#xff0c;消除。 定义一个20行10列的数组表示游戏区。初始这个数组里用0填充&#xff0c;1表示有一个方块&#xff0c;2表示该方块固…

k8s容器加入host解析字段

一、通过edit或path来修改 kubectl edit deploy /xxxxx. x-n cattle-system xxxxx为你的资源对象名称 二、添加字段 三、code hostAliases:- hostnames:- www.rancher.localip: 10.10.2.180

【多目标跟踪】 FairMOT 耗时三天!!!单句翻译

多目标跟踪 FairMOT Abstract Multi-object tracking (MOT) is an important prob-lem in computer vision which has a wide range of applica-tions. Formulating MOT as multi-task learning of object de-tection and re-ID in a single network is appealing since ital…

Java minecraft(我的世界)环境部署

Java minecraft&#xff08;我的世界&#xff09;环境部署 博主博客 https://blog.uso6.comhttps://blog.csdn.net/dxk539687357 本文主要讲解我的世界的环境搭建&#xff0c; 包括搭建服务端和客户端&#xff0c; 为了避免不必要的麻烦最好是遵守 MINECRAFT 使用准则&#x…

AcrelEMS-SW智慧水务能效管理平台解决方案-安科瑞黄安南

系统概述 安科瑞电气具备从终端感知、边缘计算到能效管理平台的产品生态体系&#xff0c;AcrelEMS-SW智慧水务能效管理平台通过在污水厂源、网、荷、储、充的各个关键节点安装保护、监测、分析、治理装置&#xff0c;用于监测污水厂能耗总量和能耗强度&#xff0c;重点监测主要…

vue3和vue2 语法差异之v-model详细说明

文章目录 0.前言1.参考文档2.详细说明介绍2.x 语法使用 v-bind.sync 3.x 语法v-model 参数v-model 修饰符 迁移策略 3.总结 0.前言 在 Vue 3 中&#xff0c;v-model 的使用方式与 Vue 2 有一些差异。下面是 Vue 3 中 v-model 的一些主要变化&#xff1a; 组件上的默认绑定&…

信捷 XD PLC 16位整数转换为双精度浮点数

完成16位整数转换为双精度浮点数&#xff0c;信捷XD PLC需要两个指令&#xff0c;逐步转换&#xff0c;一个指令搞不定。 具体的: 第1步&#xff1a;int16->int32 第2步&#xff1a;int32->Double 例子&#xff0c;比如说将D0转换成浮点数放到D100~D103

卷积操作后特征图尺寸,感受野,参数量的计算

文章目录 1、输出特征图的尺寸大小2、感受野的计算3、卷积核的参数量 1、输出特征图的尺寸大小 如果包含空洞卷积&#xff0c;即扩张率dilation rate不为1时&#xff1a; 2、感受野的计算 例如&#xff0c;图像经过两个3*3&#xff0c;步长为2的卷积后感受野为&#xff1a; co…

linux--epoll

epoll 参考文献 https://www.cnblogs.com/lojunren/p/3856290.html https://www.51cto.com/article/717096.html linux下的I/O复用epoll详解 要深刻理解epoll&#xff0c;首先得了解epoll的三大关键要素&#xff1a;mmap、红黑树、链表。 IO多路复用 首先需要了解什么是IO多…