1. 项目背景与核心需求
这个毕设项目的核心在于利用STM32微控制器构建一个可通过WiFi远程控制的温控风扇系统。在当前智能家居和物联网快速发展的背景下,这类结合环境感知与远程控制的项目具有很高的实用价值。
我选择这个方向主要基于几个现实需求:
- 传统风扇无法根据环境温度自动调节转速
- 物理按键控制方式在智能家居场景中显得落后
- 需要一种低成本、易实现的温度监控解决方案
系统需要实现三个核心功能:
- 温度数据的实时采集与处理
- WiFi网络的稳定连接与数据传输
- 风扇转速的PWM精确控制
2. 硬件选型与电路设计
2.1 主控芯片选择
经过对比常见的几种方案,最终选定STM32F103C8T6作为主控芯片,主要考虑因素包括:
- 充足的GPIO资源(37个I/O口)
- 内置12位ADC(用于温度采集)
- 多个定时器(用于PWM生成)
- 性价比高(约15-20元/片)
注意:STM32有多个系列,F1系列外设丰富且资料多,特别适合学生项目。避免选择新型号如F4/F7,虽然性能更强但开发环境配置更复杂。
2.2 温度传感器选型
对比了三种常见方案:
| 传感器类型 | 精度 | 接口 | 价格 | 最终选择 |
|---|---|---|---|---|
| DS18B20 | ±0.5℃ | 单总线 | 中 | ✓ |
| DHT11 | ±2℃ | 数字 | 低 | × |
| LM35 | ±1℃ | 模拟 | 最低 | × |
选择DS18B20的原因:
- 精度满足需求(±0.5℃)
- 单总线协议节省IO口
- 防水型号可直接用于潮湿环境
2.3 WiFi模块选型
ESP8266是最佳选择,具体型号为ESP-01S,考虑点包括:
- 内置TCP/IP协议栈
- 支持AT指令控制
- 价格仅10元左右
- 体积小巧(24.5mm×14.5mm)
连接方案:
code复制STM32 USART2 ↔ ESP8266
(PA2-TX, PA3-RX)
3. 系统软件架构设计
3.1 主程序流程图
c复制void main() {
hardware_init(); // 硬件初始化
