stm32项目(4)——基于stm32的厨房安全检测系统

2024-02-14 14:59

本文主要是介绍stm32项目(4)——基于stm32的厨房安全检测系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 1.功能介绍

2.硬件方案

     1.单片机的选择

2.显示屏的选择

3.温湿度传感器

4.烟雾传感器

5.甲醛传感器

6.排气风扇

3.程序设计

        1.接线方式

        2.大致思路


 1.功能介绍

  本次设计的厨房安全检测系统的功能如下:

        利用单片机、烟雾传感器、甲醛传感器、温湿度传感器、OLED显示屏幕及其他元器件,实现厨房温湿度检测及显示,并可检测天燃气及甲醛气体浓度且显示,并在达到危害浓度时报警,同时启动排风扇将危害气体排出,同时LED灯亮。

        功能完成后的实物图如下:

        
        

 屏幕第一行左侧显示的是测到的实时温度数值,右侧是温度阈值。

         第二行左侧显示的是测到的实时湿度数值,右侧是湿度阈值。

        第三行左侧显示的是测到的实时烟雾数值,右侧是烟雾阈值。

        第四行左侧显示的是测到的实时甲醛数值,右侧是甲醛阈值。

2.硬件方案

     1.单片机的选择

        单片机选择的是stm32f103c8t6最小系统板,实物图如下:

        

        STM32F103C8T6是一款由STMicroelectronics公司生产的32位ARM Cortex-M3内核微控制器。以下是该芯片的一些特点:

        1. 32位ARM Cortex-M3内核:该芯片采用了32位的ARM Cortex-M3处理器,具有较高的性能和较低的功耗。

        2. 高主频运行:STM32F103C8T6芯片的主频可以高达72MHz,使其具备较快的运行速度。

        3. 64KB闪存和20KB RAM:该芯片内置64KB的闪存和20KB的RAM,可以存储程序代码和数据。

        4. 优秀的通信能力:STM32F103C8T6芯片支持多种通信接口,包括SPI、I2C和USART等,便于与外部设备进行通信。

        5. 丰富的外设资源:该芯片提供了多个GPIO引脚、定时器、PWM输出、ADC和DAC等外设资源,方便连接和控制外部设备。

        6. 低功耗模式:STM32F103C8T6芯片在休眠模式下具有低功耗特性,可有效延长电池寿命。

        7. 多种封装形式:该芯片提供了多种封装形式,如TQFP48和LQFP48等,适应不同的应用需求。

        综上所述,STM32F103C8T6具备较高的性能、丰富的外设资源和通信能力,是一款适用于嵌入式系统和物联网应用的微控制器。

2.显示屏的选择

        显示屏选择的是0.96寸OLED液晶屏幕,实物图如下所示:

         0.96寸OLED显示屏是一种较小尺寸的有机发光二极管(OLED)显示屏,具有以下特点:

        1. 高对比度:OLED显示屏可以实现真正的黑色,因为它的每个像素都可以独立发光或关闭。这使得它能够提供非常高的对比度,产生鲜明清晰的图像和文字。

        2. 自发光:OLED显示屏的每个像素都是自发光的,不需要背光源。这意味着它可以在没有背光的情况下显示图像,进一步提高对比度和能效。

        3. 宽视角:OLED显示屏具有很广的视角范围,即从不同的角度观察时图像的颜色和亮度变化较小。这使得它非常适合用于各种观看角度的应用场景。

        4. 快速响应时间:OLED显示屏具有快速的像素响应时间,可以在切换像素时呈现流畅的动态图像,不会出现拖影或模糊。

        5. 薄型轻便:OLED显示屏采用非常薄的物理结构,使得显示屏具有较小的厚度和重量。这使得它在需要轻薄设计的电子设备中具有很好的应用前景。

        6. 低功耗:OLED显示屏在显示黑色像素时消耗的能量较少,因为黑色像素可以完全关闭。这在显示大量黑色内容时可以显著节能。

综上所述,0.96寸OLED显示屏具有高对比度、自发光、宽视角、快速响应时间、薄型轻便和低功耗等特点,适用于需要小尺寸高质量显示的各种电子设备和应用。

3.温湿度传感器

        温湿度传感器选择的是DHT11,实物图如下:

 

        DHT11是一种数字温湿度传感器,具有以下特点:

        1. 简单易用:DHT11是一款数字传感器,采用单总线数字信号接口,只需要一根信号线就可以与微控制器连接。它提供了简单的API和功能库,使用起来非常方便。

        2. 温湿度测量范围:DHT11可以测量的温度范围是0°C至50°C,并且湿度范围是20%RH至90%RH。这使得它适用于多种常见环境下的温湿度测量。

        3. 数字输出:DHT11以数字形式输出温度和湿度数据,无需进行模数转换或校准。它通过单总线协议将数据进行传输,简化了数据处理过程。

        4. 低功耗:DHT11的工作电压范围广泛,从3V到5V都可以工作,且在测量过程中的功耗非常低。这使得它非常适合用于低功耗或电池供电的应用中。

        5. 响应速度快:DHT11传感器具有较快的响应速度,可以在几秒内获取温湿度数据,使得实时监测和控制变得更加高效。

        6. 低成本:DHT11是一种经济实惠的温湿度传感器,因其简单的设计和低成本的制造,使得它成为许多嵌入式项目的选择之一。

        需要注意的是,DHT11虽然简单易用且成本低廉,但其精度相对较低。如果对于高精度温湿度测量有要求,可以考虑使用更高级别的温湿度传感器。

4.烟雾传感器

        烟雾传感器选择的是MQ2,实物图如下:

        

 

        MQ2是一种烟雾传感器,常用于检测可燃气体和烟雾。它具有以下特点:

        1. 多功能性:MQ2传感器可以检测多种可燃气体,如甲烷、液化气、丙烷、氢气等,同时也可以检测烟雾和一些易挥发的气体。

        2. 高灵敏度:MQ2传感器具有高灵敏度,可以快速、准确地检测到目标气体的存在。它能够检测到低浓度的气体,并产生输出信号以进行进一步的处理。

        3. 快速响应:MQ2传感器响应速度快,可以在很短的时间内检测到气体浓度变化,并及时输出相应的信号。

        4. 低功耗:MQ2传感器的功耗较低,适合在低功耗或电池供电的应用中使用。

        5. 易于使用:MQ2传感器采用模拟输出方式,输出信号可直接连接到微控制器的模拟输入引脚上。它还可以通过调整电路中的电位器来设置传感器的灵敏度。

        6. 廉价实惠:MQ2传感器价格相对较低,而且易于获得,使得它成为许多嵌入式项目和家庭安防系统中的常用传感器之一。

        需要注意的是,MQ2传感器对于不同的气体有不同的灵敏度和响应特性,因此在具体应用中需要根据需要对传感器进行校准和配置,以获取准确的检测结果。此外,MQ2传感器不具备用于定量测量气体浓度的能力,一般用于发现气体存在和预警的目的。

5.甲醛传感器

检测甲醛的传感器选择的是SGP30,实物图如下:

 

        SPG30是一款气体颗粒物传感器,用于检测空气中的颗粒物浓度。以下是SPG30的一些特点:

        1. 高灵敏度:SPG30传感器具有高灵敏度,能够快速、准确地检测空气中的微小颗粒物浓度。它可以检测到直径为1微米的颗粒物。

        2. 多功能性:SPG30传感器可以检测多种颗粒物,包括可吸入颗粒物(PM2.5和PM10),细颗粒物(PM1.0),以及粗颗粒物(PM10-PM2.5)。它适用于各种环境中的颗粒物监测。

        3. 数字输出:SPG30传感器采用数字输出方式,通过I2C接口输出颗粒物浓度数据。这使得数据的读取和处理变得更加方便。

        4. 可编程性:SPG30传感器具有一些可编程的特性,如传感器的工作模式和测量周期可以通过I2C接口进行设置和调整。

        5. 实时监测:SPG30传感器可以实时监测颗粒物浓度的变化,并及时输出测量结果。这有助于进行空气质量监测和预警。

        6. 低功耗:SPG30传感器的功耗较低,适合在低功耗或电池供电的应用中使用。

        7. 小尺寸:SPG30传感器体积小巧,便于集成到各种设备和系统中。

        需要注意的是,SPG30传感器提供的是颗粒物浓度的相对值,不具备绝对定量测量能力。在实际应用中,可能需要进行校准和与其他传感器进行比较,以获取准确的颗粒物浓度数据。

6.排气风扇

         这种风扇自带驱动,直接用单片机IO口就可以控制它的转动,非常方便,不需要外加驱动模块,可以大大提高便利性。

3.程序设计

        1.接线方式

/*
连线方式: OLED-->SCL   PA6
          OLED-->SDA   PA7
          
 烟雾传感器的模拟输出口---->PA0
 电机模块 INA--->GND   INB--->PB5
 
 DHT11的信号输出口:----->PA5
 甲醛传感器:     SDA--->PB1
                 SCL--->PB0
*/

        2.大致思路

定义一些变量及阈值

初始化必要的外设

 

各变量的检测与显示,及其相应的控制逻辑:

 

        需要完整代码的请私信。 

这篇关于stm32项目(4)——基于stm32的厨房安全检测系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708809

相关文章

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc