在智慧家居、工業自動化及環境監測領域,基於STM32的智慧模組憑藉其高效能、低功耗和豐富的外設介面,成為整合溫溼度、人體感應等感測器的理想平臺。透過即時資料採集與智慧控制,可實現環境自適應調節、安全預警等功能。本文將詳細解析STM32智慧模組的開發流程,涵蓋感測器選型、硬體設計、軟體程式設計及實際應用案例,助力開發者快速構建穩妥可靠的感測控制系統。
一、核心感測器選型與原理
1.1 溫溼度感測器:DHT11/DHT22 vs SHT3x
DHT11/DHT22:
數字輸出,整合溫溼度感測與訊號處理電路,介面簡單(單匯流排協議)。
DHT11:精度±2℃(溼度±專案要求範圍內),測量範圍0-50℃(20-專案要求範圍內RH),價格低廉。
DHT22:精度±0.5℃(溼度±專案要求範圍內),測量範圍-40~80℃(0-較高比例RH),適合精度要求較高的場景。
SHT3x:
I2C介面,支援CRC校驗,抗干擾能力強,精度達±0.3℃(溼度±專案要求範圍內),適用於工業級應用。
選型建議:
消費級產品(如智慧溫控器)優先選擇DHT22,兼顧成本與效能。
工業環境(如倉庫溫溼度監測)推薦SHT3x,有助於支援資料可靠性。
1.2 人體感應感測器:PIR與毫米波雷達
PIR(熱釋電紅外感測器):
檢測人體紅外輻射變化,輸出數字訊號,成本低(<1美元),但易受環境溫度干擾。
典型應用:智慧照明、安防報警。
毫米波雷達:
透過發射電磁波檢測目標距離與速度,支援多目標識別,抗干擾能力強,但成本較高(>10美元)。
典型應用:無人零售、智慧養老看護。
選型建議:
簡單場景(如走廊燈控制)選擇PIR,價效比高。
複雜場景(如人員定位與行為分析)需毫米波雷達,提供更豐富的資料。
二、STM32智慧模組硬體設計
2.1 較小系統設計
以STM32F103C8T6為例,核心電路包括:
電源管理:LDO(如AMS1117-3.3)將5V輸入轉換為3.3V,為MCU及感測器供電。
時鐘電路:8MHz外部晶振提供主時鐘,32.768kHz晶振用於RTC即時時鐘。
除錯介面:SWD介面連線ST-Link,支援程式下載與除錯。
2.2 感測器介面電路
DHT22連線:
DATA引腳透過4.7kΩ上拉電阻連線至STM32的PA0引腳,有助於支援訊號穩定性。
示例程式碼(基於HAL庫):
c#include "dht22.h"DHT22_DataTypeDef dht22_data;if (DHT22_Read(&dht22_data) == DHT22_OK) { printf("Temp: %.1f℃, Humi: %.1f%%\r\n", dht22_data.Temperature, dht22_data.Humidity);}PIR感測器連線:
OUT引腳連線至STM32的PA1(外部中斷引腳),檢測到人體時觸發中斷。
中斷服務函式示例:
cvoid EXTI1_IRQHandler(void) { if (EXTI->PR & EXTI_PR_PR1) { HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); // 檢測到人體時翻轉LED狀態 EXTI->PR |= EXTI_PR_PR1; // 清除中斷標誌 }}
2.3 擴充套件功能設計
無線通訊:透過ESP8266(Wi-Fi)或CC1310(Sub-1GHz)實現資料上傳至雲端。
本地儲存:外接W25Q128(16MB Flash)儲存歷史資料,支援斷網續傳。
人機互動:整合OLED螢幕(SSD1306驅動)即時顯示溫溼度及人體檢測狀態。
三、軟體架構與控制邏輯
3.1 分層架構設計
硬體抽象層(HAL):封裝感測器驅動(如DHT22_Read、PIR_Init)。
業務邏輯層:實現環境閾值判斷與控制策略(如溫溼度超標時啟動風扇)。
應用層:提供使用者介面(如手機APP、Web端)配置引數並檢視資料。
3.2 智慧控制演算法示例
溫溼度聯動控制:
cvoid Env_Control(float temp, float humi) { if (temp > 30.0) { HAL_GPIO_WritePin(FAN_GPIO_Port, FAN_Pin, GPIO_PIN_SET); // 啟動風扇 } else if (temp < 25.0) { HAL_GPIO_WritePin(HEATER_GPIO_Port, HEATER_Pin, GPIO_PIN_SET); // 啟動加熱器 } else { FAN_OFF(); HEATER_OFF(); // 關閉所有裝置 } if (humi > 70.0) { HAL_GPIO_WritePin(DEHUMIDIFIER_GPIO_Port, DEHUMIDIFIER_Pin, GPIO_PIN_SET); // 啟動除溼機 } else { DEHUMIDIFIER_OFF(); }}人體感應防盜報警:
cuint8_t alarm_enabled = 1;void PIR_Callback(void) { if (alarm_enabled) { HAL_UART_Transmit(&huart1, (uint8_t*)"ALARM: Intruder detected!\r\n", 28, 100); // 可擴充套件:傳送簡訊/推送通知至使用者手機 }}四、實際應用案例
4.1 智慧溫室監控系統
硬體:STM32F407 + SHT3x(溫溼度) +土壤溼度感測器 + 繼電器模組(控制灌溉泵)。
功能:
即時監測溫溼度與土壤溼度,超限時自動啟動灌溉。
資料透過LoRa模組上傳至雲端,支援遠端檢視與歷史曲線分析。
4.2 辦公區域智慧照明
硬體:STM32L051 + PIR感測器 + 光敏電阻 + LED驅動電路。
功能:
白天光線充足時關閉照明,夜間檢測到人體時自動開燈。
支援延時關閉(如無人移動10分鐘後熄燈),節能率達到專案要求。
線上諮詢
電話諮詢
微信諮詢
回到頂部