知識中心

STM32智慧模組開發:溫溼度與人體感應感測控制整合全攻略

本文詳細介紹基於STM32的溫溼度與人體感應感測控制模組開發流程,包括感測器選型、硬體設計、軟體程式設計及實際應用案例。透過分層架構與智慧控制演算法,實現環境自適應調節與安全預警,適用於智慧家居、農業監測等場景。

知識中心 2026-04-09 穩格科技
文章正文知識中心

在智慧家居、工業自動化及環境監測領域,基於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分鐘後熄燈),節能率達到專案要求。

提交專案需求

留下聯絡方式和需求簡述,便於我們判斷技術方向、交付範圍和溝通方式。

線上諮詢
電話諮詢
13910119357
微信諮詢
WhatsApp
穩格科技 WhatsApp 二維碼 掃碼或點選聯絡
回到頂部