【单片机毕业设计选题24019】-基于STM32的安防监测灭火系统

系统功能:

1. 水泵喷水灭火功能:当火焰传感器监测到火焰时,蜂鸣器报警,水泵工作实现灭火。

2. 风扇功能:当烟雾传感器检测到CO或温度传感器检测到温度超过阈值时,蜂鸣器报警,

启动风扇进行驱散烟雾或降温。

3. 防盗功能介绍 :采用红外传感器,当有人靠近时就会报警。

4. 通过蓝牙实现在手机上显示温度、火焰、CO等参数并设置。

5. 通过OLED显示屏实时显示温度、火焰、CO。

主要功能模块原理图:

电源时钟烧录接口:

单片机和按键输入电路:

传感器采集电路:

资料获取地址:

https://shop272529339.taobao.com

系统主要功能模块代码

初始化代码:

  /* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init */InitVar();/* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();MX_ADC1_Init();/* USER CODE BEGIN 2 *///在HAL库初始化串口1后调用HAL_Delay(100);SetUart1RxToInput();HAL_Delay(50);//uart1打开接收中断HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart1RecBuff, 1);InitOled();InitOledDisp();ResetDHT11();/* USER CODE END 2 */

系统控制代码:

//系统信息更新void SystemControl(void){static uint8_t updateCnt = 0;updateCnt++;   if(updateCnt>=SYSTEM_UPDATE_INTER){updateCnt = 0;if(DHT11ReadData()==0)  //DHT11温湿度读取OK{;}UpdateBleData();}//读取并处理传感器值ReadSensorVal();//显示不同页面if(dispPageIndex==DISP_PAGE_1){OledDispPage1();}else if(dispPageIndex==DISP_PAGE_2){OledDispPage2();}else if(dispPageIndex==DISP_PAGE_3){OledDispPage3();}else if(dispPageIndex==DISP_PAGE_4){OledDispPage4();}}

蓝牙上报系统信息:

//更新BLE数据void UpdateBleData(void){//温湿度值printf("T:%02d.%01d  H:%02d.%01d\r\n", DHT11_Data.temp_int, DHT11_Data.temp_deci, DHT11_Data.humi_int, DHT11_Data.humi_deci);      //火焰报警状态if(fireAlarm==true){printf("Fire:Alarm\r\n");}else{printf("Fire:Normal\r\n");}//人体报警状态if(bodyAlarm==true){printf("body:Alarm\r\n");}else{printf("body:Normal\r\n");}  //传感器报警状态if(sensorAlarm==true){printf("Sensor:Alarm\r\n");}else{printf("Sensor:Normal\r\n");}    }

此设计提供的资料包含原理图PCB(包含PDF,AD,立创EDA三个版本),源代码,系统框图,主程序流程图,物料清单(包含使用到的器件手册),功能操作说明等。

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

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

相关文章

Springboot + Mybatis 实现sql打印

参照这个视频:https://www.bilibili.com/video/BV1MS411N7mn/?vd_source90ebeef3261cec486646b6583e9f45f5 实现mybatis对外暴露的接口Interceptor 使用Intercepts接口,这里的写法参照mybatis-plus中的拦截器写法 Intercepts({Signature(type Executor.class, m…

MDK-ARM 编译后 MAP 文件分析

本文配合 STM32 堆栈空间分布 食用更佳! 一图胜千言。。。

Java中setLineWrap(true)和setWrapStyleWord(true)优化TextArea

在 Java Swing 开发中,JTextArea 是一个多行的文本区域组件,常用于显示和编辑大量文本。当处理长文本时,默认行为是不换行并且出现水平滚动条,这通常会降低用户体验。幸运的是,JTextArea 提供了两个非常有用的方法&…

哈喽GPT-4o——对GPT-4o 提示词的思考与看法

目录 一、提示词二、常用的提示词案例1、写作助理2、改写为小红书风格3、英语翻译和改写4、论文式回答5、主题解构6、提问助手7、Nature风格润色8、结构总结9、编程助手10、充当终端/解释器 大家好,我是哪吒。 最近,ChatGPT在网络上广受欢迎&#xff0c…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 5G基站光纤连接问题(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 &#x1f…

刘亦菲新剧玫瑰的故事

刘亦菲新剧《玫瑰的故事》:开放结局,无限遐想 当刘亦菲再次踏入荧屏,与导演汪俊携手打造的《玫瑰的故事》便引发了无数观众的期待与关注。这部剧不仅汇聚了众多实力派演员,更以其独特的剧情和精致的制作成为了近期热门的话题。《…

Python中文自然语言处理(NLP)中文分词工具库之pkuseg使用详解

概要 在中文自然语言处理(NLP)中,分词是一个基础且关键的任务。pkuseg 是由北京大学开发的一个中文分词工具,专为处理现代汉语而设计。它采用了先进的深度学习技术,能够准确地进行中文分词,同时支持自定义词典和多领域分词。本文将详细介绍 pkuseg 库,包括其安装方法、…

[【机器学习】深度概率模型(DPM)原理和文本分类实践

1.引言 1.1.DPM模型简介 深度概率模型(Deep Probabilistic Models) 是结合了深度学习和概率论的一类模型。这类模型通过使用深度学习架构(如神经网络)来构建复杂的概率分布,从而能够处理不确定性并进行预测。深度概率…

机器学习第四十四周周报 SAMformer

文章目录 week44 SAMformer摘要Abstract1. 题目2. Abstract3. 网络架构3.1 问题提出3.2 微型示例3.3 SAMformer 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程 5. 结论6.代码复现小结参考文献 week44 SAMformer 摘要 本周阅读了题为SAMformer: Unlocking the Potential…

解决IDEA使用卡顿的问题,设置JVM内存大小和清理缓存

解决IntelliJ IDEA中卡顿问题,可以尝试以下几个常见且有效的步骤: 1 增加IDEA的JVM内存分配: 位于IDEA安装目录的bin文件夹下,找到对应的操作系统配置文件(idea64.exe.vmoptions(Windows)或id…

GD32错误调试篇:串口通讯乱码/stm32移植到GD32后串口通讯乱码等问题

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布: https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…

PostgreSQL源码分析——initdb

数据库初始化 在安装完数据库后,需要进行初始化数据库操作,对应PostgreSQL数据库中就是需要进行initdb后,才能对数据库进行启动。initdb的过程,其实就是创建数据库实例的过程,生成模板数据库和相应的目录、文件信息&a…

PCB设计中的via孔和pad孔

原文出自微信公众号【小小的电子之路】 在PCB设计过程中,经常会提到via孔和pad孔,下面就简单介绍一下二者的区别。 via称为过孔,主要起到电气连接的作用,用于网络在不同层的导线之间的连接。PCB设计中一般做盖油处理。 via孔 vi…

变电站智能巡检机器人解决方案

我国拥有庞大的电网体系,变电站数量众多,且近年来快速增长。然而目前我国变电站巡检方式仍以人工为主,存在效率低下、监控不全面等问题。变电站通常是一个封闭的系统空间,设备种类繁多、占地面积广阔,这对巡检人员实时…

react 自定义鼠标右键点击事件

功能:鼠标右键点击节点时,出现“复制”功能,点击其他部位,隐藏“复制”;鼠标右键事件的文案,始终在鼠标点击位置的右下方;点击复制,提示复制成功 效果图: 代码&#xff1…

DGit介绍

参考地址:http://githubengineering.com/introducing-dgit/ DGit是“Distributed Git”的简写,即分布式Git。 众所周知,Git本身就是分布式的,任何的Git仓库备份都是包含该项目所有历史版本的所有的文件,分支&#xff…

MySQL之优化服务器设置(五)

优化服务器设置 高级InnoDB设置 innodb_old_blocks_time InnoDB有两段缓冲池LRU(最近最少使用)链表,设计目的是防止换出长期很多次的页面。像mysqldump产生的这种一次性的(大)查询,通常会读取页面到缓冲池的LRU列表,从中读取需要的行&…

【对抗去偏】BiasAdv: Bias-Adversarial Augmentation for Model Debiasing

原文标题: BiasAdv: Bias-Adversarial Augmentation for Model Debiasing 原文代码: 暂无 发布年度: 2023 发布期刊: CVPR 摘要 Neural networks are often prone to bias toward spurious correlations inherent in a dataset, …

苹果手机短信删除了怎么恢复?有那些方法?

IPhone短信删除怎么恢复?现在大多数人都会使用社交软件沟通交流,短信的用武之地已经没以前那么多,但是它的重要性一点都不能忽视,有些重要的短信内容值得我们保留,如果不小心删除了这些短信内容该怎么恢复?…

摊牌了,我不装了~各种Amazon Bedrock小样儿、试用装,今天免费!

探索世界顶级的大模型、智能体、文生图、对话机器人……新手?还是专家?加入我们,解锁精彩内容: l 初体验:在 Amazon Bedrock Playground 直接调用强大的大模型,点亮生成式AI技能树。 l 文生图&#xff1a…