基于STM32的煙霧濃度檢測報警仿真設計(仿真+程序+講解視頻)

這里寫目錄標題

  • 📑1.主要功能
  • 📑2.仿真
  • 📑3. 程序
  • 📑4. 資料清單&下載鏈接
    • 📑[資料下載鏈接](https://docs.qq.com/doc/DS0VHTmxmUHBtVGVP)

基于STM32的煙霧濃度檢測報警仿真設計(仿真+程序+講解)

仿真圖proteus 8.9

程序編譯器:keil 5

編程語言:C語言

設計編號:C0085

📑1.主要功能

功能說明:

1、以STM32單片機和MQ-2控制核心設計煙霧濃度檢測報警設計;

2、通過液晶屏LCD1602和串口上位機顯示煙霧濃度,MV表示檢測值,ALM表示報警值;

3、可以通過按鍵設置煙霧濃度ALM報警值大小。

4、監測煙霧濃度大于報警值時蜂鳴器報警電路導通,蜂鳴器報警。撥動開關打開情況下,風扇轉動通風。

5、默認監測到煙霧濃度高于200ppm蜂鳴器報警。

主要硬件設備:STM32F103單片機

📑2.仿真

整體設計方案

本實驗利用STM32單片機的ADC、GPIO、定時器等資源,將軟、硬件有機地結合起來,使得系統能夠正確地進識別輸入模擬煙霧濃度傳感器的AD值,LCD1602能夠正確地顯示,蜂鳴器根據煙霧濃度報警值工作。需注意的是,proteus是沒有MQ-2等煙霧濃度傳感器的,本設計使用滑動變阻器模擬煙霧濃度變化,不能直接用于實物設計,有需要的需跟據實物調試。

本測試如下所示:

仿真運行情況:

開始仿真后LCD1602實時顯示檢測到的煙霧濃度,可以通過滑動變阻器改變測量值。可通過按鍵設置報警值濃度,按下設置鍵進入設置模式,通過設置+調高報警值,通過設置-調低報警值。蜂鳴器報警電路在煙霧濃度高于報警值時啟動,有嘟嘟報警聲,低于不啟動。

本設計采用電磁式蜂鳴器進行。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產生的音頻信號電流通過電磁線圈,使電磁線圈產生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發聲。因此需要一定的電流才能驅動它,單片機I/O引腳輸出的電流較小,單片機輸出的TTL電平基本上驅動不了蜂鳴器,因此需要增加一個電流放大的電路。蜂鳴器的正極接到VCC(+5V)電源上面,蜂鳴器的負極接到三極管的集電極C,三極管的基極B經過限流電阻后由單片機的BEEP引腳控制,當BEEP輸出低電平時,三級管QS截止,沒有電流流過線圈,蜂鳴器不發聲;當BEEP輸出高電平時,三級管導通,這樣蜂鳴器的電流形成回路,發出聲音。

下圖檢測到煙霧濃度是192ppm,低于報警值200,蜂鳴器電路不工作。

img

下圖檢測到煙霧濃度是204ppm,大于等于報警值,三極管導通,蜂鳴器報警img

📑3. 程序

程序是用keil5 mdk版本打開的,如果打開有問題,核實下keil的版本。程序是HAL庫版本編寫的,有注釋可以結合講解視頻理解。

img

img

📑4. 資料清單&下載鏈接

0、常見使用問題及解決方法–必讀!!!!

1、程序代碼

2、Proteus仿真

3、功能要求

4、講解視頻

Altium Designer 軟件資料

filename.bat

KEIL軟件資料

MQ135-2.jpg

MQ135.jpg

MQ系列傳感器工作原理.txt

Proteus軟件資料

單片機學習資料

答辯技巧

設計報告常用描述

鼠標雙擊打開查找更多51 STM32單片機課程畢業設計.url

img

📑資料下載鏈接

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/160598.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160598.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160598.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數據結構】B : DS圖應用--最短路徑

B : DS圖應用–最短路徑 文章目錄 B : DS圖應用--最短路徑DescriptionInputOutputSampleInput Output 解題思路:初始化主循環心得: AC代碼 Description 給出一個圖的鄰接矩陣,再給出指定頂點v0,求頂點v0到其他頂點的最短路徑 In…

SkyWalking配置報警推送到企業微信

1、先在企業微信群里創建一個機器人,復制webhook的地址: 2、找到SkyWalking部署位置的alarm-settings.yml文件 編輯,在最后面加上此段配置 !!!一定格式要對,不然一直報警報不出來按照網上指導…

JVM 堆外內存詳解

Java 進程內存占用除了JVM 運行時數據區,還有直接內存(Direct Memory)區域及 JVM 程序自身也會占用內存 直接內存(Direct Memory)區域:直接內存通過使用Native堆外內存來存儲數據,這意味著數據…

大數據平臺實踐之CDH6.2.1+spark3.3.0+kyuubi-1.6.0

前言:關于kyuubi的原理和功能這里不做詳細的介紹,感興趣的同學可以直通官網:https://kyuubi.readthedocs.io/en/v1.7.1-rc0/index.html 下載軟件版本 wget http://distfiles.macports.org/scala2.12/scala-2.12.16.tgz wget https://archi…

pikachu_php反序列化

pikachu_php反序列化 源代碼 class S{var $test "pikachu";function __construct(){echo $this->test;} }//O:1:"S":1:{s:4:"test";s:29:"<script>alert(xss)</script>";} $html; if(isset($_POST[o])){$s $_POST[…

基于python人臉性別年齡檢測系統-深度學習項目

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介簡介技術組成1. OpenCV2. Dlib3. TensorFlow 和 Keras 功能流程 二、功能三、系統四. 總結 一項目簡介 # Python 人臉性別年齡檢測系統介紹 簡介 該系統基…

用idea搭建一個spring cloud微服務項目

以下是使用 IntelliJ IDEA 搭建 Spring Cloud 微服務項目的步驟&#xff1a; 創建一個新的 Maven 項目。 在 pom.xml 文件中添加以下依賴&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-…

Android studio 遷移之后打開沒反應

把Android studio由d盤遷移到c盤&#xff0c;點擊沒反應&#xff1b; 需要把C:\Users\xxxx\AppData\Roaming\Google\AndroidStudio2022.3 目錄下的studio64.exe.vmoptions 修改為C:&#xff0c;刪除該文件會導致無法安裝app。 里面配置了一個

SpringMVC問題

文章目錄 SpringMVC運行流程MVC的概念與請求在MVC中的執行路徑&#xff0c;ResponsBody注解的用途SpringMVC啟動流程 SpringMVC運行流程 ? 客戶端&#xff08;瀏覽器&#xff09;發送請求&#xff0c;直接請求到 DispatcherServlet 。 ? DispatcherServlet 根據請求信息調用 …

SpringBoot問題

文章目錄 Springboot特性 Springboot特性 自動裝配&#xff1a;提供自動配置的“starter”項目對象模型&#xff08;POMS&#xff09;以簡化Maven配置。比如使用 MongoDB 時&#xff0c;只需加入 MongoDB 的 Starter 包&#xff0c;然后配置 的連接信息&#xff0c;就可以直接使…

【React-Router】路由導航

1. 概念 路由系統中的多個路由之間需要進行路由跳轉&#xff0c;并且在跳轉的同時有可能需要傳遞參數進行通信。 2. 聲明式導航 // /page/Login/index.jsimport { Link } from react-router-dom const Login () > {return <div>登錄頁{/* 解析成 a 鏈接 */}<Li…

php獲取表單以POST方式或GET方式提交的值

在php中存在兩個全局變量&#xff08;數組&#xff09;&#xff0c;其中$_GET數組用來記錄表單通過GET方式提交的數據&#xff0c;$_POST數組用來記錄表單通過POST方式提交的數據。 一、php獲取GET方式提交的值 在php中通過以下代碼來獲取&#xff1a; $_GET[name] //nam…

Windows平臺如何實現RTSP流二次編碼并添加動態水印后推送RTMP或輕量級RTSP服務

技術背景 我們在對接RTSP播放器相關的技術訴求的時候&#xff0c;遇到這樣的需求&#xff0c;客戶做特種設備巡檢的&#xff0c;需要把攝像頭拍到的RTSP流拉下來&#xff0c;然后添加動態水印后&#xff0c;再生成新的RTSP URL&#xff0c;供平臺調用。真個流程需要延遲盡可能…

Anthropic LLM論文閱讀筆記

研究時間&#xff1a;與Instrcut GPT同期的工作&#xff0c;雖然其比ChatGPT發布更晚&#xff0c;但是其實完成的時間比ChatGPT更早。與ChatGPT的應用區別&#xff1a;該模型比ChatGPT回答我不知道的概率更高。將強化學習用于大語言模型&#xff08;RLHF&#xff09;&#xff1…

6.基于蜻蜓優化算法 (DA)優化的VMD參數(DA-VMD)

代碼原理 基于蜻蜓優化算法 (Dragonfly Algorithm, DA) 優化的 VMD 參數&#xff08;DA-VMD&#xff09;是指使用蜻蜓優化算法對 VMD 方法中的參數進行自動調優和優化。 VMD&#xff08;Variational Mode Decomposition&#xff09;是一種信號分解方法&#xff0c;用于將復雜…

【數據結構】鏈表中二級指針的應用

&#x1f984;個人主頁:修修修也 &#x1f38f;所屬專欄:數據結構 ??操作環境:Visual Studio 2022 (注:為方便演示本篇使用的x86系統,因此指針的大小為4個字節) 目錄 &#x1f4cc;形參的改變不影響實參! 1.調用函數更改整型時傳值調用與傳址調用的區別 &#x1f38f;傳值…

微服務學習|初識Docker、使用Docker、自定義鏡像、DockerCompose、Docker鏡像倉庫

初識Docker 項目部署的問題 大型項目組件較多&#xff0c;運行環境也較為復雜&#xff0c;部署時會碰到一些問題 依賴關系復雜&#xff0c;容易出現兼容性問題 開發、測試、生產環境有差異 Docker如何解決依賴的兼容問題的? 將應用的Libs (函數庫)、Deps (依賴)配置與應用…

線性回歸的正則方法:嶺回歸和Lasso

線性回歸的正則方法包括嶺回歸&#xff08;Ridge Regression&#xff09;和Lasso回歸&#xff08;Least Absolute Shrinkage and Selection Operator Regression&#xff09;。這兩種方法都是為了解決線性回歸中可能存在的過擬合問題而提出的。 選擇使用嶺回歸還是Lasso回歸通常…

使用 goland 開發 golang 項目環境配置

方式1&#xff1a;使用 GOPATH 和 GOROOT 在 goland 中打開&#xff1a;Settings - Go&#xff0c;會看到 GOROOT、GOPATH&#xff0c;其相關解釋與配置如下&#xff1a; GOROOT&#xff1a;對應 go 的安裝路徑&#xff0c;例如&#xff1a;D:\go\binGOPATH&#xff1a;是我們…

JavaScript中的事件循環 為什么是微任務先運行

無意中看到這個問題&#xff0c;以下是個人的看法 1、性能和響應性&#xff1a; 微任務通常比宏任務執行得更快&#xff0c;因為微任務通常涉及更少的工作量。將微任務放在宏任務之前可以盡早執行那些需要快速響應的任務&#xff0c;提高系統的響應性能。 2、Promise 的異步特…