基于单片机的空气检测系统的设计
基于STM32的室內空氣檢測系統的設計
摘 ?要:為保證居民生活環境的安全性,應該對室內空氣質量參數進行檢測,使人們能夠及時了解室內的空氣質量,排除險情,該設計通過STM32單片機結合藍牙通信和溫濕度、空氣質量傳感器來實現,利用傳感器采集空氣數據,了解居住環境的空氣質量,將傳感器采集到的數據通過主控單元進行模數轉換,并輸入到OLED顯示器中顯示,將處理后的數據通過藍牙模塊發送到手機APP,用戶可以對數據進行實時檢測。當檢測到的數據超出設置范圍時,蜂鳴器報警,排風扇啟動,并通過藍牙模塊進行數據的傳輸,完成對室內空氣質量的檢測和改善。
關鍵詞:STM32,藍牙通信,智能報警通風,傳感器技術
1 系統總體設計
1.1系統總體框圖
該設計通過STM32單片機結合藍牙通信和溫濕度、空氣質量檢測傳感器來實現,通過藍牙模塊和手機APP的連接,能讓用戶更方便的查看室內空氣質量參數,當檢測到的數據出現異常時,蜂鳴器報警,風扇啟動,實現對室內進行自動通風。系統總體框圖如圖1-1所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1-1 系統總體框圖
1.2 系統功能實現
1.室內空氣檢測功能,通過空氣質量檢測模塊,實現氣體檢測傳感器對室內空氣的檢測功。
2.自動報警通風功能,通過設置閾值,當超過閾值時,實現蜂鳴器報警,自動通風功能。
3.顯示功能,通過OLED顯示屏顯示當前空氣質量參數以及溫濕度信息。
4.藍牙通信功能,通過藍牙模塊和手機APP的連接,實現數據的傳輸。
2硬件電路設計與實現
2.1單片機主控單元電路設計
本系統以STM32單片機作為主控單元,STM32F0系列單片機內核采用Cortex-M0,芯片內集成了定時器、ADC 模數轉換器、FLASH為64KB,SRAM為8KB,最大CPU頻率為48MHZ,工作電壓在2.0 V 到 3.6 V之間,具有低功耗、低成本、高性能的優勢,利用溫濕度傳感器模塊、空氣質量傳感器模塊采集數據、藍牙模塊用于數據的傳輸,利用各個模塊之間的聯系結合主控單元,以及按鍵模塊的控制,實現單片機主控單元電路的設計。圖2-1為主控單元引腳圖。
?圖2-1 主控單元引腳圖
2.2空氣質量檢測模塊
空氣質量傳感器電路由MQ135傳感器和MQ-2傳感器電路共同組成,用于對室內有害氣體的檢測,MQ-2對煙霧、甲烷、酒精、液化氣的靈敏度很高,MQ135也可以檢測到很多有害氣體,兩者具有低成本,壽命長的優點。MQ135空氣質量傳感器具有兩個輸出端口,DO為數字信號的輸出,映射著單片機的高低電平,就是超過設置的空氣質量參數閾值時,單片機輸出高電平,就能控制風扇的啟停,AO為模擬信號的輸出,兩者的參考電壓都為5V,本次設計用到的單片機的ADC為12位,因此電壓的分辨率很高,在對空氣質量數據采集時,采集到的數據對應的模擬電壓量,數據濃度越高對應的模擬電壓越高,再對模擬電壓進行數字化,同理MQ-2傳感器也具有類似的功能,利用STM32內部的ADC轉換對采集到數據進行處理,這就是空氣質量傳感器電路的原理與設計。
2.3 溫濕度傳感器模塊
本系統所用到的溫濕度檢測模塊為DHT11傳感器,有4個引腳,具有體積小低功耗的特點,供電電壓3~5V,有一條傳輸數據的總線與單片機相連,可以通過這一條總線讀取溫濕度,發命令,一個引腳懸空,另外 兩個引腳分別接VCC、GND,溫濕度傳感器電路還具有一個上拉電阻,目的是調節高低電平,如圖2-3所示。
DHT11數字溫濕度傳感器利用數字模塊采集技術進行數字信號的傳輸,采集的數據在傳感器內部要進行數字信號處理,以及校驗,并且具有嚴格的控制時序,這也是單總線協議的特點,數據采集及傳輸的過程中,在傳感器的內部進行了AD轉換,輸出的是數字信號,單片機上電后,主控單元發送一次開始信號后,DHT11將進入高速模式,并發送一次響應信號,將40bit的溫濕度數據發送給單片機,格式為8bit濕度整數數據+00000000+8bit溫度整數+00000000+校驗位,溫濕度小數部分默認為0,將前四字節相加得到的結果與校驗位進行比較,相等就代表正常接收數據,否則就表示接受數據失敗,完成一次數據采集后,DHT11進入低速模式。
?圖2-3 溫濕度傳感器電路
?
2.4 光強檢測電路設計
光強檢測框圖如圖2-4所示,對光照強度的檢測需要進行模數轉換。
圖2-4?光強檢測框圖
光強檢測電路由一個光敏電阻組成,電路構造簡單,與單片機的PB2端口連接,通過主控單元去檢測光強檢測電路的電壓變換,再將檢測到的模擬量利用ADC轉換,轉化為數字量輸出,光強檢測電路如圖3-8所示。
?圖2-5 光強檢測電路設計
2.5藍牙通信模塊
藍牙模塊與STM32單片機、手機APP可以進行數據傳輸,用戶可以通過手機APP連接藍牙模塊查看空氣質量數據,這里的手機APP是藍牙串口助手,如圖2-6所示。
?圖2-6?藍牙通信模塊設計
本設計所用到的通信模塊為JDY-31藍牙,一般用到的引腳有4個,只需連接VCC、GND、TXD、RXD就能實現藍牙通信功能,TXD為串口輸出引腳,RXD為串口輸入引腳,供電電壓為3.6~6V,如圖2-7所示。
藍牙無線通訊技術適用于短距離通信,主要優勢為低功耗、低成本,JDY-31藍牙工作頻段為2.4GHZ,通信接口為UART,支持通用傳輸協議SPP協議,藍牙模塊上有一個指示燈,未連接時一直閃爍,當連接配對成功時指示燈常亮,在進行藍牙數據傳輸時,必須有兩個角色,一個主角色,一個從角色,兩者剛開始進行通訊時,主機發現藍牙設備后,由主機查找配對,建立連接,匹配成功后,由空氣質量傳感器檢測到的數據,通過單片機的數據處理,再經過藍牙模塊進行數據的傳輸,就能實時顯示到手機APP上,用戶就能很方便的查看數據。
2-7藍牙模塊引腳圖
?
3 系統軟件設計
?圖3-1 主程序流程圖
本系統軟件程序實現流程如圖3-1所示,系統初始化,對系統時鐘和一些外設進行初始化,以及一些參數的配置,然后各模塊開始工作,空氣質量傳感器(MQ-2、MQ135)、溫濕度傳感器、光敏檢測電路采集數據,通過主控單元數據處理,數據超出閾值,蜂鳴器報警,風扇開啟,并顯示到OLED顯示屏,配置藍牙模塊與手機APP建立連接,將由主控單元處理好的空氣質量參數、溫濕度、光照強度數據通過藍牙模塊傳輸到手機APP。
4 系統測試結果
在不同環境內,空氣質量傳感器(MQ-2,MQ135)、溫濕度傳感器、光強檢測模塊采集到的數據經主控單元處理,顯示到OLED屏,空氣質量測試結果,這里的測試結果應在0-4095之間,每個不同的空氣質量檢測環境的檢測時間大于5S,如表4-1所示。
5-2 空氣質量檢測結果
| ????閾值2000 檢測環境 | 正常環境 | 煙霧測試 | 液化氣測試 |
| 空氣質量檢測(測試次數>10) | 60-600 | 2037-4095 | 2156-4095 |
| 是否超過空氣質量閾值 | 否 | 是 | 是 |
| 蜂鳴器是否報警 | 否 | 是 | 是 |
| 風扇是否轉動 | 否 | 是 | 是 |
藍牙與手機APP(藍牙串口)配對連接時,OLED顯示屏顯示的數據與藍牙模塊和手機APP(藍牙串口助手)傳輸的數據一致,檢測環境分別為正常室環境和、液化氣測試環境,正常室內檢測結果和手機APP接收到的數據如圖5-8所示,檢測到的空氣質量數據正常,蜂鳴器和風扇不工作。
圖5-8 正常檢測結果與數據傳輸
液化氣測試結果如圖5-9所示,檢測到的空氣質量數據超出閾值,蜂鳴器報警,風扇開啟。
圖5-9 異常檢測結果與數據傳輸
5 總結
本文以STM32F030C8T6為主控單元,結合藍牙通信和溫濕度、空氣質量檢測傳感器來實現,當檢測到的數據出現異常時,蜂鳴器自動報警,風扇自動開啟進行自動通風,通過藍牙模塊和手機APP的連接,能讓用戶更方便的查看室內空氣質量參數,實現了智能化的需求。
這里面用到的手機APP是藍牙串口助手,軟件方面主要通過串口服務函數去控制單片機,就是用手機發送數據,單片機通過藍牙接收數據,之后會執行相應的操作,下圖為控制單片機的手機APP制作,比如手機上發送的命令為1,當單片機通過藍牙模塊接收到數字1,就會把相應的端口置為高電平或者執行控制外圍設備的函數,風扇就會打開。
喜歡的小伙伴點個贊再走喲~~~?
?
?
總結
以上是生活随笔為你收集整理的基于单片机的空气检测系统的设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将数字划分为素数的乘积
- 下一篇: Android App 链式唤醒分析