134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

2023-12-05

资料编号:134

一:功能介绍

1、采用stm32单片机+LCD1602显示屏+独立按键+ds1302时钟+DHT11温湿度+电机+蜂鸣器,制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真;

2、通过DHT11传感器检测当前矿井的温湿度,并且显示到LCD1602显示屏上面;

3、通过DS1302时钟模块读取当前的时间,并且显示到LCD1602显示屏上面;

4、通过电位器调节模拟当前MQ4天然气浓度,通过stm32单片机ADC采集浓度,显示到LCD1602屏幕上面;

5、通过按键设置温度和天然气浓度阈值,当检测温度或者天然气浓度大于设置值,电机开启通风,蜂鸣器进行报警提醒;

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

134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序

三:设计软件介绍

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

四:程序打开方法

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

5219bbba411ad6dc7ed475ee8a77a9f9.png

61295b9715f763f745b2e3d9d1a7f883.png

程序部分展示,有中文注释,新手容易看懂
void Display(void)
{
  char xxx=0,yyy=0;
  //T1 温度
  WrByte1602(0,0,'T'); //.
  WrByte1602(0,1,'='); //.    
  WrByte1602(0,2,AsciiCode[wendu%100/10]);
  WrByte1602(0,3,AsciiCode[wendu%10]);
  WrByte1602(0,4,' ');  
  //T2 湿度
  WrByte1602(0,5,'H'); //.
  WrByte1602(0,6,'='); //.    
  WrByte1602(0,7,AsciiCode[shidu%100/10]);
  WrByte1602(0,8,AsciiCode[shidu%10]);
  WrByte1602(0,9,' ');    
  //T3 浓度
  WrByte1602(0,10,'N'); //.
  WrByte1602(0,11,'='); //.    
  WrByte1602(0,12,AsciiCode[nongdu%1000/100]);  
  WrByte1602(0,13,AsciiCode[nongdu%100/10]);
  WrByte1602(0,14,AsciiCode[nongdu%10]);
  WrByte1602(0,15,' ');    
  xxx=0;yyy=1;
  WrByte1602(yyy,xxx++,AsciiCode[shi%100/10]);//显示时间
  WrByte1602(yyy,xxx++,AsciiCode[shi%10]);
  WrByte1602(yyy,xxx++,':');    
  WrByte1602(yyy,xxx++,AsciiCode[fen%100/10]);
  WrByte1602(yyy,xxx++,AsciiCode[fen%10]);
  WrByte1602(yyy,xxx++,':');  
  WrByte1602(yyy,xxx++,AsciiCode[miao%100/10]);
  WrByte1602(yyy,xxx++,AsciiCode[miao%10]);


  WrByte1602(yyy,xxx++,' ');              //显示温度阈值
  WrByte1602(yyy,xxx++,'T');    
  WrByte1602(yyy,xxx++,AsciiCode[wendu1%100/10]);
  WrByte1602(yyy,xxx++,AsciiCode[wendu1%10]);
  WrByte1602(yyy,xxx++,' ');    
  WrByte1602(yyy,xxx++,'N');              //显示浓度阈值
  WrByte1602(yyy,xxx++,AsciiCode[nongdu1%100/10]);
  WrByte1602(yyy,xxx++,AsciiCode[nongdu1%10]);
  WrByte1602(yyy,xxx++,' ');  
}


int main(void)
{  
  char  i=0;
  float vol;//电压
  //时钟配置
  SystemInit();    
  SystemCoreClockUpdate();
  //引脚配置
  GPIO_Configuration();
  //LCD1602初始化
  Init1602();
  NVICConfig();
  //RCC时钟开启
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
  DS1302_Configuration();  
   //获取浓度值
   ADC_Set();  
  //DS1302数据编码格式需要进行转换
  ReadDS1302Clock(time_data);  
  shi = time_data[3]%16+time_data[3]/16*10;
  fen = time_data[4]%16+time_data[4]/16*10;  
  miao = time_data[5]%16+time_data[5]/16*10;  
  PBout(14)=PBout(6)=1;//电机和蜂鸣器默认关闭
  while (1)
  {    
    i++;
    delay_ms(10);
    if(i>=100)
    {  
      i=0;
         vol = ADC_GetConversionValue(ADC1);
         //根据阻值计算浓度
         nongdu = vol*(3.4/4096)*33;              


         //读取温湿度
         DHT11_receive(&shidu,&wendu);
          ReadDS1302Clock(time_data);  
          shi = time_data[3]%16+time_data[3]/16*10;
          fen = time_data[4]%16+time_data[4]/16*10;  
          miao = time_data[5]%16+time_data[5]/16*10;        
         //显示全部参数
         Display(); 
    }
    anjiansaomiao();//按键扫描
     //浓度大于阈值或者温度>阈值
     if(nongdu>nongdu1||wendu>wendu1 )
     {
       PBout(6)=0;//蜂鸣器提醒
       PBout(14)=0;//开启通风
     }
     else  
     {
       PBout(6)=1;//蜂鸣器关闭
       PBout(14)=1;//关闭通风
     }


  }
}

:仿真文件(采用Prot e us打开)

784ccb67dd54c3a2953777be50054125.png

3ba26e1860cedf0dda044da09ecd0f8c.png

9325954eea29bfe2f6d81efc69107f24.png

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

db3166fb93579c033b7c6f7701d6bc6a.png

资料分享链接(可点击)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序... 的相关文章

随机推荐

  • 139-基于stm32单片机老人居家监护报警系统Proteus仿真+源程序

    资料编号 139 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 MQ4传感器 电位器模拟 MQ2传感器 电位器模拟 蜂鸣器 电机 制作一个基于stm32单片机老人居家监护报警系统Proteus仿真 2 通过MQ2传
  • OpenGL学习(一)绘制一个图形

    本文使用Qt进行操作演示 注意 坐标原点位于屏幕中心 坐标参数 0 0f 1 0f 颜色参数 0 0f 1 0f OpenGL提供了几种用于绘制几何图形的绘制模式 下面是一些常用的绘制模式 点 GL POINTS 绘制单个点 线 GL LI
  • Record 002 # Leetcode 2545 根据第K场考试的分数排序

    Record 002 Leetcode 2545 根据第K场考试的分数排序 链接附上 2545 根据第K场考试的分数排序 闲谈叨叨叨 开始焦虑未来就业了 那就空闲时间刷刷题吧 跟着 算法4 按章节复习数据结构和算法 第一章从排序开始 学一个
  • 文件或文件夹上传至云盘

    在工作当中 难免会遇到需要自动将生成的文件上传至指定的云盘或共享盘当中 那这就无可避免的需要去书写一份上传的代码 以下是我自己的示列可供参考 主函数 static void Main string args DataSaveToServer
  • OpenCV 笔记(9):常用的边缘检测算子—— Roberts、Prewitt、Sobel

    在本文开始之前 我们先了解一下算子的概念 算子 英语是 Operator 它是一个函数空间到函数空间上的映射 O X X 广义上的算子可以推广到任何空间 函数 是从数到数的映射 泛函 是从函数到数的映射 算子 是从函数到函数的映射 算子不等
  • 2023年最火副业;python爬虫兼职,一周赚7800元,一天只要两小时 !

    现在学习python的人越来越多了 跟大家简单如何利用python搞副业赚钱的 想要利用 Python 赚钱的方式还是比较多的 其中接单和投稿算是两种比较简单的方式了 如果你是业余学python爬虫 可以去淘宝上加了找了几个店铺直接问需要爬
  • 卧槽!做Python兼职又接了一个大单!

    每年的第四季度 是Python兼职接单的高潮期 近段时间 电商行业对爬虫类和数分类服务的需求量呈指数级的暴增 圈子里的朋友双休都没闲着 趁着旺季接单大赚一笔 所以 最近在后台咨询技术变现 兼职接单问题的朋友也越来越多 最近十天收到了六百多条
  • 牙髓干细胞实验室装修

    牙髓干细胞研究 作为生物医学领域的前沿科技 其实验室装修的重要性不容忽视 SICOLAB喜格 一个优秀的实验室装修方案 既要满足功能性需求 也要符合法规和安全标准 更能通过良好的环境与设施促进科研效率 nbsp 一 明确需求与规划 装修之前
  • 历时半年,研发了这款毕业设计作品 - 免费的 AI 镜像网站,欢迎体验,知无不言

    历时半年 研发了这款毕业设计作品 免费的 AI 镜像网站 欢迎体验 知无不言 网址 https ai cocoai top 使用魔法后体验效果更佳 ai浪潮火了快两年了 在这信息变革的当下 我决定为我的大学生涯画上一个完美的句号 开发一款可
  • QTableWidget中嵌套下拉显示框(QComboBox实现)

    在已经有 QTableWidget 的情况下 创建一个CustomComboBox对象 wheer speed comboBox new QComboBox 向CustomComboBox添加选项 for int i 0 i
  • 基于大语言模型的垂直领域知识问答系统流程学习

    什么是垂直领域大语言模型应用 当前基于大模型的知识问答十分火热 大模型虽然能回答大多数通用问题 但在垂直领域中 回答的深度 准确度及时效性均有限 因此为了解决这一问题 可以结合 本地 知识结合大模型来解决 垂直领域即在某个领域内专有的知识问
  • pdf转word怎么转换?看完这篇你就知道了

    你是否有过这样的困扰 收到一份重要的pdf 需要对其中的内容进行编辑或修改 却苦于pdf格式的限制 或者是需要将pdf中的文字内容提取出来 却不知道如何操作 别担心 这时候就轮到pdf转word软件登场了 这个便捷的工具能够将pdf文件迅速
  • pdf转word怎么转换?快来看看这些方法

    相信大家都知道 pdf是一种非常常见的文档格式 它的优点是可以在不同的设备和操作系统上保持格式的一致性 然而 有时我们可能会遇到需要编辑pdf文档的情况 而pdf格式又不太容易进行编辑和修改 所以 我们需要一款能够将pdf转换为word文档
  • Radix Tree用法

    目录 一 radix tree定义 二 radix tree操作 参考资料 一 radix tree定义 对于长整型数据的映射 如何解决Hash冲突和Hash表大小的设计是一个很头疼的问题 radix树就是针对这种稀疏的长整型数据查找 能快
  • Tektronix泰克示波器

    一 what s the oscilloscope ref https www tek com cn blog what is an oscilloscope 二 基础知识 1 带宽 100Mhz 采样率 2 5GS s 1GS s指的是采
  • 第一节:安装

    Node js 命令行的TypeScript编译器可以使用Node js包来安装 安装 npm install g typescript 编译 tsc helloworld ts 由于 无法直接运行TypeScript 所以会将 ts文件
  • 【网络安全】网络安全概念及重要性

    网络安全的定义 网络安全 顾名思义 是指在网络环境中 保护数据和系统免受各种威胁 确保网络服务正常运行 防止网络攻击 防止数据被窃取或篡改 保证网络的可用性 机密性和完整性 简单来说 就是我们要保护我们的网络和网络中的信息不受到不应有的侵害
  • VIM中替换光标所在行文字内容

    s old new g 将光标所在行的所有的old字符替换为new字符 n s old new g 从第n行开始到文件尾 将每一行中的old字符替换为new字符
  • 机器人制作开源方案 | 校园餐具回收分类机器人

    作者 梁桥 吴振宇 凌福海 李清轩 姜晓敏 单位 华北科技学院 指导老师 韩红利 张伟杰 1 场景调研 1 1 项目实施目的 受新冠病毒引起的影响 人们生产生活发生了巨大的改变 现处于疫情防控常态化阶段 为应对点状爆发 减少人员接触 目前在
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH