当前位置: 首页 > news >正文

STM32项目分享:智能厨房安全检测系统

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

PCB图 

五、程序设计 

六、实验效果 

七、资料内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

STM32智能厨房安全检测系统

(资料分享见文末) 

二、项目简介

1.功能详解

STM32智能厨房安全检测系统

功能如下:

  1. 单片机STM32F103C8T6核心板
  2. OLED显示当前烟雾浓度,当前环境温湿度
  3. 火焰传感器检测当前厨房是否发生火灾
  4. 按键可用于调节报警阈值
  5. 火灾、燃气泄漏、温度过高触发蜂鸣器报警
  6. 报警下触发执行动作:浇水灭火、打开窗、排风等
  7. 手机APP检测环境信息以及报警显示
  8. 手机APP可远程设置阈值大小

2.主要器件

  • STM32F103C8T6最小系统板
  • DS18B20温度传感器
  • OLED 屏幕
  • 火焰传感器
  • MQ-7一氧化碳传感器
  • ESP8266-01S模块(WIFI)
  • 继电器
  • 风扇模块
  • 水泵模块
  • 舵机

三、原理图设计

四、PCB硬件设计

PCB图 

五、程序设计 

int main(void)
{delay_init();	           //延时函数初始化	 NVIC_Configuration();	   //中断优先级配置I2C_Configuration();     //IIC初始化KEY_GPIO_Init();        //按键引脚初始化delay_ms(200); OLED_Init();             //OLED液晶初始化OLED_CLS();              //清屏OLED_ShowStr(0, 2, "   loading...   ", 2,0);//显示加载中ESP8266_Init();       //ESP8266初始化Adc_Init();           //adc初始化MOTOR_GPIO_Init();     //舵机初始化DS18B20_GPIO_Init();    //温度初始化DS18B20_Init();         //初始化显示delay_ms(1000);delay_ms(1000);OLED_CLS();              //清屏displayInitInterface(); //显示初始界面TIM3_Init(99,71);   //定时器初始化,定时100usGet_Temperature();   //获取温度delay_ms(100);Get_Temperature();   //获取温度delay_ms(1000);//Tout = ((arr+1)*(psc+1))/Tclk ; //Tclk:定时器输入频率(单位MHZ)//Tout:定时器溢出时间(单位us)while(1){ keyscan();  //按键扫描if(setn == 0){if(shuaxin == 1)   //大概300ms刷新一次数据{Get_Temperature();   //获取温度Get_Smoke();         //获取烟雾shuaxin = 0;}if(FLAME == 0)          //检测到火焰{delay_ms(10);if(FLAME == 0){if(flameFlag == 0){OLED_DrawBMP(88,4,120,8,(unsigned char *)BMP);  //显示火焰图片}flameFlag = 1;RELAY = 1;  //检测到有火,开启水泵}}else{if(flameFlag == 1){OLED_ShowStr(88, 4, "    ", 2,0);OLED_ShowStr(88, 6, "    ", 2,0);}flameFlag = 0;RELAY = 0;  //关闭水泵}if(temperature>=setTempValue || smoke>=setSmokeValue || flameFlag)BEEP=1;else BEEP=0;  //检测到温度烟雾超标火焰蜂鸣器报警if(temperature>=setTempValue || smoke>=setSmokeValue)FAN=1;else FAN=0;      //烟雾温度超标都开启风扇if(smoke>=setSmokeValue || flameFlag)PWM=15;else PWM=5;                    //烟雾超标或者是检测到火焰,舵机动作,模拟关闭阀门}UsartSendReceiveData();delay_ms(10);}
}

六、实验效果 

七、资料内容

项目分享

相关文章:

STM32项目分享:智能厨房安全检测系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: STM32智能厨房安全检测系统 (资料分…...

2025美赛数学建模MCM/ICM选题建议与分析,思路+模型+代码

2025美赛数学建模MCM/ICM选题建议与分析,思路模型代码,详细更新见文末名片 一、问题A:测试时间:楼梯的恒定磨损(Archaeological Modeling) 适合专业:考古学、历史学、数学、机械工程 难度:中等…...

高并发问题的多维度解决之道

‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​​‌​​‌​‍‌‌​​‌​‌​‍‌​‌​‌‌​​‍‌​‌​‌​​​‍‌​‌​‌​‌​‍‌​‌‌​​‌​‍‌​‌‌​​​​‍‌‌​​‌‌‌‌‍‌‌​​‌​‌‌‍‌​​​‌‌​​‍‌​​‌‌‌​​‍‌…...

Ubuntu环境 nginx 源码 编译安装

ubuntu 终端 使用 wget 下载源码 sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz解压刚下载的源码压缩包 nginx-1.24.0.tar.gz sudo tar -zxvf nginx-1.24.0.tar.gz 解压完成 产生 nginx-1.24.0 目录 进入该目录 cd ./nginx-1.24.0 目录下有一个可执行文件 con…...

K8S中的数据存储之基本存储

基本存储类型 EmptyDir 描述:当 Pod 被调度到节点上时,Kubernetes 会为 Pod 创建一个空目录,所有在该 Pod 中的容器都可以访问这个目录。特点: 生命周期与 Pod 绑定,Pod 删除时,数据也会丢失。适用于临时…...

编码器和扩散模型

目录 摘要abstract1.自动编码器2.变分编码器(VAE)3.论文阅读3.1 介绍3.2 方法3.3 结论 4.总结参考文献 摘要 本周学习了自动编码器(AE)和变分自动编码器(VAE)的基本原理与实现,分析其在数据降维…...

PAT甲级-1024 Palindromic Number

题目 题目大意 一个非回文数,加上它的翻转数所得的和,进行k次,有可能会得到一个回文数。给出一个数n,限制相加次数为k次,如果小于k次就得到回文数,那么输出该回文数和相加的次数;如果进行k次还…...

FS8405 Release FS0B

复位场景:FS8405正常工作后,RSTB后期产生拉低复位信号。 1 故障与PGOOD、RSTB和FS0B引脚的联系 FS8405出现故障时,会对PGOOD、RSTB和FS0B引脚产生不同的影响,具体影响如下: 橙色标记,反应是不可配置的。…...

IGBT的损耗计算的学习【2025/1/24】

可以通过示波器实测IGBT电压电流波形,然后通过示波器的math功能将电压电流波形乘积后积分求损耗。 软开管:给了导通信号,但是电流并没有从此IGBT流过 IGBT(绝缘栅双极晶体管)的损耗主要分为 导通损耗 和 开关损耗 两部…...

Unity|小游戏复刻|见缝插针1(C#)

准备 创建Scenes场景,Scripts脚本,Prefabs预制体文件夹 修改背景颜色 选中Main Camera 找到背景 选择颜色,一种白中透黄的颜色 创建小球 将文件夹里的Circle拖入层级里 选中Circle,位置为左右居中,偏上&…...

No.1|Godot|俄罗斯方块复刻|棋盘和初始方块的设置

删掉基础图标新建assets、scenes、scripts文件夹 俄罗斯方块的每种方块都是由四个小方块组成的,很适合放在网格地图中 比如网格地图是宽10列,高20行 要实现网格的对齐和下落 Node2D节点 新建一个Node2D 添加2个TileMapLayer 一个命名为Board&…...

SSM框架探秘:Spring 整合 SpringMVC 框架

搭建和测试 SpringMVC 的开发环境&#xff1a; web.xml 元素顺序&#xff1a; 在 web.xml 中配置 DisPatcherServlet 前端控制器&#xff1a; <!-- 配置前端控制器 --> <servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>…...

2025.1.20——二、buuctf BUU UPLOAD COURSE 1 1 文件上传

题目来源&#xff1a;buuctf BUU UPLOAD COURSE 1 1 目录 一、打开靶机&#xff0c;查看信息 二、解题思路 step 1&#xff1a;上传一句话木马.php文件康康回显 step 2&#xff1a;蚁剑连接 三、小结 一、打开靶机&#xff0c;查看信息 这里提示到了文件会被上传到./uplo…...

【架构面试】三、高可用高性能架构设计

高可用高性能架构设计 面试要点引入&#xff1a;架构原理、分布式技术等是面试必考领域&#xff0c;高可用高性能需求考察频繁。面试常通过询问系统架构设计来考察能力&#xff0c;讲解架构设计过程就是证明系统高可用的过程&#xff0c;其中涉及SLA指标。SLA指标详解 定义与衡…...

11.渲染管线——光栅化阶段

光栅化阶段是渲染管线中的一个关键步骤&#xff0c;负责将3D模型转换成屏幕上的2D像素。用通俗易懂的方式来解释&#xff1a; 通俗解释&#xff1a;光栅化就像把3D模型“投影”到2D屏幕上 想象你是一个画家&#xff0c;正在把3D场景画到2D画布上&#xff1a; 3D模型到2D屏幕的…...

【数据分享】1929-2024年全球站点的逐月平均能见度(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff01;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2024年全球气象站点…...

二叉树的深度

二叉树深度的定义&#xff1a; 二叉树的深度&#xff08;高度&#xff09;是指从根节点到最远叶子节点的最长路径上的节点数。例如&#xff0c;一个只有根节点的二叉树&#xff0c;其深度为1&#xff1b;如果根节点有两个子节点&#xff0c;且每个子节点又分别有两个子节点&…...

MySQL命令及用法(精华版)

目录 DDL&#xff08;数据定义语言&#xff09; 数据库操作 表操作 DML&#xff08;数据操作语言&#xff09; DQL&#xff08;数据查询语言&#xff09; 基本查询 条件查询 聚合函数 分组查询 排序查询 分页查询 DCL&#xff08;数据控制语言&#xff09; 用户…...

R语言学习笔记之高效数据操作

一、概要 数据操作是R语言的一大优势&#xff0c;用户可以利用基本包或者拓展包在R语言中进行复杂的数据操作&#xff0c;包括排序、更新、分组汇总等。R数据操作包&#xff1a;data.table和tidyfst两个扩展包。 data.table是当前R中处理数据最快的工具&#xff0c;可以实现快…...

将 OneLake 数据索引到 Elasticsearch - 第二部分

作者&#xff1a;来自 Elastic Gustavo Llermaly 及 Jeffrey Rengifo 本文分为两部分&#xff0c;第二部分介绍如何使用自定义连接器将 OneLake 数据索引并搜索到 Elastic 中。 在本文中&#xff0c;我们将利用第 1 部分中学到的知识来创建 OneLake 自定义 Elasticsearch 连接器…...

量子计算中Loschmidt回声相位测量的创新方法

1. 量子计算中的Loschmidt回声相位测量方法概述Loschmidt回声是量子动力学中一个重要的概念&#xff0c;它描述了量子系统在时间反演演化后与初始状态的相似程度。在量子计算领域&#xff0c;精确测量Loschmidt回声的相位信息对于理解量子系统的非平衡态行为、计算能量本征值以…...

Java数组工具类实战:设计不可实例化的静态工具类

实现一个工具类 MathUtils&#xff0c;满足以下要求&#xff1a; 1. 所有方法均为静态&#xff0c;且该类不能从外部实例化&#xff08;提示&#xff1a;使用私有构造器&#xff09;。 2. 提供三个静态方法&#xff1a;- maxArray(int[] arr)&#xff1a;返回较大值&#xff1b…...

别被忽悠了!2026亲测靠谱的AI论文网站|避坑精选版

2026 年学术写作工具已高度分化&#xff0c;千笔AI与ThouPen为全流程首选&#xff0c;豆包、DeepSeek 为专项强手&#xff1b;避坑关键&#xff1a;拒绝假文献、严控 AIGC 率、优先国内适配、免费试用先行。 一、TOP3 全流程首选&#xff08;亲测不踩雷&#xff09; 1. 千笔AI&…...

告别混乱绑定!在UE5 GAS中优雅管理技能输入(基于GameplayTag)

告别混乱绑定&#xff01;在UE5 GAS中优雅管理技能输入&#xff08;基于GameplayTag&#xff09;当你的UE5 RPG项目发展到中期&#xff0c;技能数量从十几个膨胀到几十个时&#xff0c;最痛苦的莫过于发现InputAction绑定已经变成一团乱麻。每次新增技能都要修改输入绑定逻辑&a…...

抖音内容批量下载实战:从零开始构建个人视频资料库

抖音内容批量下载实战&#xff1a;从零开始构建个人视频资料库 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support.…...

3步快速部署:智能茅台抢购平台的终极自动化解决方案

3步快速部署&#xff1a;智能茅台抢购平台的终极自动化解决方案 【免费下载链接】campus-imaotai i茅台app自动预约&#xff0c;每日自动预约&#xff0c;支持docker一键部署&#xff08;本项目不提供成品&#xff0c;使用的是已淘汰的算法&#xff09; 项目地址: https://gi…...

CentOS 8/Stream 8系统DNF换源后,安装软件还是慢?试试这几个排查命令和优化技巧

CentOS 8/Stream 8系统DNF换源后安装缓慢的深度排查与优化指南当你已经按照教程将CentOS 8/Stream 8的DNF源切换为国内镜像&#xff0c;却发现软件安装速度依然不尽如人意时&#xff0c;这种体验确实令人沮丧。作为长期使用CentOS系统的技术专家&#xff0c;我完全理解这种&quo…...

终极AMD Ryzen调试指南:为什么你需要SMUDebugTool这个免费神器?

终极AMD Ryzen调试指南&#xff1a;为什么你需要SMUDebugTool这个免费神器&#xff1f; 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. …...

终极指南:用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式

终极指南&#xff1a;用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否经常在多个窗口间来回切换&#xff0c;浪费宝…...

QKeyMapper完整指南:Windows上最强大的免费按键映射解决方案

QKeyMapper完整指南&#xff1a;Windows上最强大的免费按键映射解决方案 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper&#xff0c;Qt开发Win10&Win11可用&#xff0c;不修改注册表、不需重新启动系统&#xff0c;可立即生效和停止。支持游戏手柄映射到键鼠&…...