基于STM32的智能鞋柜设计与实现

摘要

随着人们生活品质的提升,鞋柜作为家庭必备家具,其功能已不再局限于存放鞋子,对鞋柜内环境的干燥、洁净、无菌需求日益突出。传统鞋柜存在通风不畅、温湿度无法控制、易滋生细菌、粉尘堆积等问题,难以满足现代家庭对健康生活的追求。本文设计并实现了一款基于STM32F103C8T6单片机的智能鞋柜系统,集成温湿度调节、粉尘检测、空气质量监测、消毒控制、照明控制、蓝牙远程交互等多项功能,旨在提供一种低成本、高可靠性、操作便捷的智能鞋柜解决方案。

系统以STM32F103C8T6为核心主控芯片,采用DHT11传感器检测鞋柜内温湿度,PM2.5传感器检测粉尘浓度,MQ-135传感器检测空气质量,光电红外传感器检测柜门状态,光敏传感器检测环境光照,通过OLED屏幕实时展示各项环境参数;支持自动与手动模式切换,按键可完成阈值调节、消毒时间设置及设备开关控制;自动模式下,根据温湿度、粉尘浓度、空气质量自动控制加热片、风扇、蜂鸣器工作,根据柜门状态和光照强度自动控制消毒灯、照明灯;手动模式下,可通过按键直接控制各执行设备;同时,通过BT04A蓝牙模块与手机APP建立通信,实现环境参数远程查看与设备远程控制。测试结果表明,该系统运行稳定可靠,各项检测精度满足设计要求,控制响应灵敏,操作便捷,可有效改善鞋柜内环境,抑制细菌滋生,提升用户使用体验,具有较高的实际应用价值与推广前景。

关键词:STM32F103C8T6;智能鞋柜;多传感器融合;蓝牙通信;自动控制;环境监测

第一章 绪论

1.1 研究背景与意义

鞋子作为人们日常生活的必需品,每天都会沾染灰尘、汗液、细菌等污染物,存放于传统鞋柜后,由于鞋柜密闭性强、通风不畅,易导致鞋柜内温湿度失衡、细菌滋生、异味产生,不仅会损坏鞋子,还可能影响室内空气质量,危害人体健康。尤其是在潮湿季节,鞋柜内湿度偏高,鞋子易发霉、产生异味,给用户带来诸多不便;长期存放的鞋子还可能积累粉尘,进一步影响环境洁净度。

传统鞋柜仅具备基础的存放功能,无法对内部环境进行监测与调节,需用户手动通风、清洁、消毒,操作繁琐且效果不佳。随着智能家居技术的快速发展,智能家电逐渐走进千家万户,智能鞋柜作为智能家居的重要组成部分,凭借其自动化、智能化的优势,能够有效解决传统鞋柜的弊端,实现温湿度自动调节、自动通风、自动消毒、粉尘监测等功能,为用户提供更便捷、健康的使用体验。

基于STM32单片机的智能鞋柜系统,结合多传感器融合技术、蓝牙通信技术与自动控制技术,具备成本低廉、功能完善、操作便捷、运行稳定等特点,能够满足现代家庭对智能鞋柜的核心需求。因此,设计一款功能完善、性能稳定的智能鞋柜系统,对于改善家庭居住环境、提升用户生活品质、推动智能家居普及具有重要的实际应用价值与研究意义。

1.2 国内外研究现状

国外智能家居产业发展较早,欧美、日本等发达国家已推出多种智能鞋柜产品,这类产品多具备温湿度调节、自动通风、紫外线消毒、异味去除等功能,部分高端产品还支持远程控制、智能场景联动等高级功能。国外产品在传感器精度、设备稳定性、用户体验等方面较为成熟,但存在价格偏高、核心技术封闭、适配性不足等问题,难以普及到普通家庭。

国内对智能鞋柜的研究多集中于基于单片机的低成本设计,主要面向普通家庭场景,核心技术以多传感器融合、嵌入式开发、无线通信为主。目前,多数设计采用STM32系列单片机作为主控芯片,搭配温湿度传感器、消毒灯等模块,实现基本的通风、消毒功能,但部分设计存在功能单一、检测参数不全面、控制逻辑不完善、无远程控制、阈值调节不灵活等问题,且在粉尘检测、空气质量监测与联动控制方面仍有提升空间。本文针对现有设计的不足,设计一款集成多参数环境监测、自动联动控制、蓝牙远程交互、模式切换的智能鞋柜系统,兼顾实用性、性价比与便捷性。

1.3 研究内容与目标

1.3.1 研究内容

本文围绕基于STM32的智能鞋柜系统的设计与实现展开研究,结合系统功能需求与元器件特性,具体研究内容如下:

  • 系统总体架构设计:明确系统的核心功能与模块划分,确定各模块的接口与交互逻辑,制定系统的工作流程,完成总体方案设计,确保各模块协同稳定工作。
  • 硬件电路设计:基于选用的元器件,设计STM32主控模块、环境参数采集模块(DHT11、PM2.5、MQ-135、光敏、光电红外传感器)、OLED显示模块、按键控制模块、蜂鸣器报警模块、继电器驱动模块(控制加热片、风扇、UV消毒灯、照明灯)、蓝牙通信模块的电路原理图与PCB板。
  • 软件程序设计:基于Keil MDK开发环境,编写主控程序、传感器数据采集与处理程序、OLED显示程序、按键控制程序、蜂鸣器报警程序、继电器控制程序、蓝牙通信程序及手机APP数据交互程序。
  • 系统测试与优化:搭建测试环境,对系统的各项功能、检测精度、通信稳定性、控制可靠性进行测试,针对存在的问题进行优化调整,确保系统稳定可靠运行,满足设计要求。

1.3.2 研究目标

设计一款功能完善、性能稳定、操作便捷、成本低廉的基于STM32的智能鞋柜系统,具体目标如下:

  • 实现多参数环境监测:通过DHT11、PM2.5、MQ-135、光敏、光电红外传感器,分别实现鞋柜内温湿度、粉尘浓度、空气质量、环境光照、柜门状态的实时采集,检测精度满足家庭使用需求。
  • 实现温湿度自动调节:自动模式下,温度低于预设阈值时开启加热片,湿度高于预设阈值时开启风扇通风,维持鞋柜内温湿度在适宜范围。
  • 实现污染报警与联动控制:PM2.5粉尘浓度高于预设最大值时,开启风扇通风并触发蜂鸣器报警;MQ-135检测到空气质量过高时,启动风扇通风并触发蜂鸣器报警。
  • 实现消毒灯智能控制:光电红外传感器检测到柜门关闭时,在预设定时范围内自动开启UV消毒灯;柜门打开时,消毒灯立即关闭,保障用户安全。
  • 实现照明灯智能控制:光敏传感器检测到光照值低于预设阈值且柜门打开时,自动开启照明灯;柜门关闭或光照充足时,照明灯关闭。
  • 实现模式切换与手动控制:支持自动与手动模式切换,按键可调节各项参数阈值、设置消毒开关时间;手动模式下,可通过按键直接控制加热片、照明、消毒灯和风扇的开关。
  • 实现实时显示功能:通过OLED屏幕,清晰、实时展示当前各项环境参数(温湿度、PM2.5浓度、空气质量、光照值)、设备工作状态及当前模式。
  • 实现蓝牙远程交互:通过BT04A蓝牙模块与手机APP建立连接,APP可实时查看各项环境信息数据,可下发模式切换、设备控制、阈值调节等指令。

1.4 论文结构安排

本文共分为6章,具体结构安排如下:

第1章:绪论,阐述研究背景与意义、国内外研究现状、研究内容与目标及论文结构安排,明确本文的研究方向与核心任务。

第2章:系统总体设计,介绍系统的功能需求、总体架构及各模块的功能划分,制定系统的工作流程,完成总体方案设计。

第3章:系统硬件设计,详细介绍各硬件模块的选型依据、电路设计原理及PCB板的设计与制作过程。

第4章:系统软件设计,详细介绍软件开发环境、软件总体流程及各模块程序的设计思路与实现方法。

第5章:系统测试与结果分析,搭建测试环境,对系统的各项功能与性能进行测试,分析测试结果并进行优化调整。

第6章:总结与展望,总结本文的研究成果,分析系统存在的不足,并对未来的改进方向进行展望。

第二章 系统总体设计

2.1 系统功能需求分析

结合智能鞋柜的实际使用场景与用户需求,本系统需实现9项核心功能,各项功能的具体要求如下:

  1. 主控核心功能:以STM32F103C8T6为核心,协调各模块工作,接收传感器数据、处理指令、控制执行机构,确保系统正常运行。
  1. 温湿度检测与调节功能:采用DHT11传感器,实时采集鞋柜内温度(测量范围0℃~50℃,误差≤±2℃)、湿度(测量范围20%~90%RH,误差≤±5%RH);自动模式下,温度低于阈值(可调节)时开启加热片,湿度高于阈值(可调节)时开启风扇通风,采集频率1次/秒。
  1. PM2.5粉尘检测与报警功能:采用PM2.5传感器,实时检测鞋柜内粉尘浓度(测量范围0~1000μg/m³,误差≤±10%);当粉尘浓度大于预设最大值(可调节)时,开启风扇通风并触发有源蜂鸣器报警,报警持续至粉尘浓度降至阈值以下。
  1. 空气质量检测与报警功能:采用MQ-135传感器,实时检测鞋柜内空气质量(主要检测甲醛、苯、氨气等有害气体);当空气质量值高于预设阈值(可调节)时,启动风扇通风并触发有源蜂鸣器报警,报警持续至空气质量恢复正常。
  1. 柜门状态检测与消毒控制功能:采用光电红外传感器,实时检测柜门开关状态;柜门关闭时,在预设定时时间范围内(可通过按键设置)自动开启UV消毒灯;柜门打开时,消毒灯立即关闭,防止紫外线伤害用户。
  1. 光照检测与照明控制功能:采用光敏传感器,实时检测环境光照值(测量范围0~1000lux);光照值低于阈值(可调节)且柜门打开时,自动开启照明灯;柜门关闭或光照值高于阈值时,照明灯关闭。
  1. 按键控制功能:通过独立按键实现模式切换(自动/手动)、阈值调节(温湿度、PM2.5、空气质量、光照)、消毒时间设置,以及手动模式下加热片、照明、消毒灯、风扇的开关控制;按键操作响应灵敏,具备防抖处理,避免误操作。
  1. OLED显示功能:采用OLED屏幕,清晰展示当前温湿度、PM2.5浓度、空气质量、光照值、柜门状态、设备工作状态及当前模式,界面简洁易读,更新频率与采集频率一致(1次/秒),无闪烁、黑屏等问题。
  1. 蓝牙APP交互功能:通过BT04A蓝牙模块与手机APP建立连接,APP可实时查看各项环境参数与设备工作状态;支持在APP端下发模式切换、设备控制、阈值调节、消毒时间设置等指令,实现远程控制。

2.2 系统总体架构设计

本系统以STM32F103C8T6单片机作为主控核心,采用模块化设计思想,将整个系统分为6个功能模块,各模块相互独立又协同工作,确保系统稳定、高效运行。系统总体架构分为三层:主控层、采集层、交互与执行层,总体架构如图2-1所示(论文中需补充架构图)。

各模块的具体功能划分如下:

  • 主控层:以STM32F103C8T6最小系统板为核心,是系统的“大脑”,负责接收各采集模块的数据,对数据进行滤波、校准、处理,执行控制逻辑,协调各模块正常工作;同时接收按键控制指令与手机APP指令,执行相应的操作(模式切换、阈值设置、设备控制等)。
  • 采集层:包含环境参数采集模块,由DHT11温湿度传感器、PM2.5粉尘传感器、MQ-135空气质量传感器、光敏传感器、光电红外传感器组成,负责实时采集鞋柜内及周边的各项环境参数与柜门状态,将采集到的数据传输至主控模块进行处理。
  • 执行层:包含继电器驱动模块、加热片、风扇模块、UV消毒灯、照明灯、有源蜂鸣器,负责接收主控模块的控制指令,执行加热、通风、消毒、照明、报警等动作,实现环境调节与异常预警。
  • 显示层:即OLED显示模块,负责实时展示主控模块处理后的各项环境参数、设备工作状态及当前模式,实现用户与系统的可视化交互。
  • 本地交互层:包含按键控制模块,负责实现用户的本地操作,包括模式切换、阈值调节、消毒时间设置、手动设备控制,是用户与系统进行本地交互的核心模块。
  • 远程交互层:包含BT04A蓝牙模块,负责与手机APP建立通信连接,将环境参数与设备状态上传至手机APP,同时接收APP发送的控制指令,实现远程数据查看与设备控制。

2.3 系统工作流程

系统上电后,首先进行初始化操作,包括STM32单片机初始化、各传感器初始化、OLED显示屏初始化、蓝牙模块初始化、继电器初始化、蜂鸣器初始化及按键初始化。初始化完成后,系统默认进入自动模式,初始化各项参数阈值(可通过按键或APP修改)、消毒定时时间(默认30分钟),开启各传感器的数据采集功能,同时启动蓝牙模块,等待与手机APP建立连接,开始执行以下工作流程:

  1. 采集模块实时采集数据:DHT11采集鞋柜内温湿度数据,PM2.5传感器采集粉尘浓度数据,MQ-135传感器采集空气质量数据,光敏传感器采集环境光照值,光电红外传感器采集柜门状态,将采集到的数据传输至主控模块。
  1. 主控模块对采集到的数据进行滤波、校准处理,去除干扰信号,确保数据准确性;将处理后的各项参数与设备状态存储至数据缓冲区。
  1. OLED显示屏实时更新显示:依次显示当前温度(单位℃)、湿度(单位%RH)、PM2.5浓度(单位μg/m³)、空气质量值、光照值(单位lux)、柜门状态(开启/关闭)、设备工作状态(加热/通风/消毒/照明)及当前模式(自动/手动),更新频率为1次/秒。
  1. 蓝牙模块与手机APP建立连接后,主控模块将数据缓冲区中的各项环境参数与设备状态发送至APP;同时接收APP发送的控制指令,解析指令后执行相应操作(模式切换、设备控制、阈值调节、消毒时间设置)。
  1. 自动模式逻辑执行:
            
  • 温湿度调节:将采集到的温湿度与预设阈值对比,温度低于阈值开启加热片,温度达到阈值关闭加热片;湿度高于阈值开启风扇通风,湿度降至阈值关闭风扇。
  • 污染报警与通风:PM2.5浓度高于预设最大值,开启风扇并触发蜂鸣器报警;MQ-135检测到空气质量过高,开启风扇并触发蜂鸣器报警;参数恢复正常后,关闭蜂鸣器,风扇持续运行一段时间后关闭(可预设)。
  • 消毒控制:柜门关闭时,启动消毒定时,在定时范围内开启UV消毒灯;定时结束或柜门打开时,立即关闭消毒灯。
  • 照明控制:光照值低于阈值且柜门打开时,开启照明灯;柜门关闭或光照值高于阈值时,关闭照明灯。
  1. 手动模式逻辑执行:用户通过按键切换至手动模式后,自动控制逻辑关闭,用户可通过按键分别控制加热片、风扇、UV消毒灯、照明灯的开启与关闭;蜂鸣器报警功能可手动开启/关闭(可选)。
  1. 用户可通过按键进行操作:按下模式切换按键,切换自动/手动模式;按下阈值调节按键,进入阈值设置模式,依次调整温湿度、PM2.5、空气质量、光照的阈值;按下消毒时间设置按键,调整消毒定时时间;手动模式下,按下对应设备按键,控制设备开关。
  1. 系统持续循环执行上述流程,直至断电或手动关机;若出现数据采集异常、蓝牙连接断开等情况,系统保持当前状态,重新上电后恢复正常初始化流程;若蓝牙连接断开,本地功能(采集、显示、按键控制、自动执行)仍正常运行。

第三章 系统硬件设计

3.1 硬件选型

结合系统功能需求、性能要求及成本控制,本系统各硬件模块选型严格遵循性价比高、稳定性好、易于开发、适配性强、检测精度满足家庭使用需求的原则,具体元器件选型及选型理由如下表3-1所示:

硬件模块

选型型号

选型理由

主控芯片

STM32F103C8T6

ARM Cortex-M3内核,主频72MHz,具备丰富的GPIO口、UART、IIC、ADC等通信接口,支持多种传感器与执行机构连接;性能稳定、功耗低、成本低廉,体积小巧,适合小型智能设备设计;资料丰富,便于开发调试,是单片机开发的主流选型,能够满足系统多模块协同工作的需求。

显示模块

OLED屏幕(4针IIC协议)

体积小、功耗低、亮度高、对比度强,4针IIC协议接口简单,占用GPIO口少,适合小型设备;分辨率128*64,可清晰显示多项环境参数与设备状态,界面简洁易读,且响应速度快,无残影,提升用户体验,适配系统实时显示需求。

温湿度传感器

DHT11

数字式温湿度传感器,单总线通信方式,接线简单,无需复杂的校准电路;测量范围适配鞋柜环境,精度满足家庭使用需求;功耗低、响应快,价格低廉,易于集成,适合鞋柜内温湿度的实时采集。

PM2.5粉尘传感器

GP2Y1010AU0F

红外散射式PM2.5传感器,输出模拟信号,可通过STM32的ADC接口采集;测量范围0~1000μg/m³,精度满足家庭场景需求;体积小巧,价格低廉,响应快,适合鞋柜内粉尘浓度的实时检测。

空气质量传感器

MQ-135

半导体式空气质量传感器,可检测甲醛、苯、氨气等多种有害气体,输出模拟信号,适配STM32的ADC接口采集;灵敏度高,响应快,价格低廉,易于集成,适合鞋柜内空气质量的实时监测。

光电红外传感器

E18-D80NK

漫反射式光电传感器,检测距离可调(3~80cm),输出数字信号,接线简单;响应快,可靠性高,可准确检测柜门的开关状态,价格低廉,易于集成,适配系统的柜门状态检测需求。

光敏传感器

光敏电阻+分压电路

光敏电阻灵敏度高,能快速响应环境光照变化,价格低廉、易于获取;搭配简单的分压电路,即可将光照强度转换为模拟电压信号,传输至STM32的ADC接口进行采集,适配系统的光照检测需求。

蓝牙模块

BT04A

基于蓝牙4.0协议,支持UART通信,传输距离远(10-20米),功耗低、兼容性强;无需复杂的配置,默认自动配对模式,可轻松与手机APP建立连接,实现数据传输与指令交互,适配系统的远程控制需求。

加热模块

5V加热片

输入电压5V,功率适中,加热速度快,适合鞋柜内温度调节;体积小巧,易于安装,通过继电器驱动控制,可实现自动开启与关闭,适配系统的温湿度调节需求。

通风模块

5V风扇模块

输入电压5V,风量适中,噪音小,适合鞋柜内通风换气;体积小巧,易于安装,通过继电器驱动控制,可实现自动与手动开启,适配系统的通风需求。

消毒模块

5V UV消毒灯

输入电压5V,消毒效果好,可有效杀灭鞋柜内细菌;体积小巧,易于安装,通过继电器驱动控制,配合柜门状态检测实现智能开关,保障用户安全,适配系统的消毒需求。

照明模块

5V LED照明灯

功耗低、亮度高、响应快,价格低廉、易于集成;通过继电器驱动控制,配合光照检测与柜门状态实现智能开关,为用户取放鞋子提供照明,适配系统的照明需求。

报警模块

有源蜂鸣器

无需额外的驱动电路,只需通过GPIO口输出高低电平即可控制发声;音量适中,响应快,价格低廉,易于集成;当粉尘浓度、空气质量异常时,能够快速发出报警声,提醒用户及时处理,适配系统的报警需求。

驱动模块

5V 4路继电器模块

输入电压5V,与STM32GPIO口输出电压兼容,接线简单;4路独立控制,可分别驱动加热片、风扇、UV消毒灯、照明灯;具备光耦隔离功能,减少外部干扰,保护主控芯片,稳定性好,适合系统的执行控制需求。

手动控制模块

独立按键

操作简单、可靠性高、价格低廉,易于集成;采用6个独立式按键设计,分别实现模式切换、阈值调节、消毒时间设置、加热片开关、风扇开关、消毒灯/照明灯开关功能,适配系统的本地手动操作需求;具备防抖设计,避免误触发。

电源模块

5V USB电源、AMS1117-3.3V

5V USB电源方便用户供电,兼容性强;AMS1117-3.3V稳压芯片可将5V电压稳压至3.3V,为STM32单片机、传感器、OLED屏幕、BT04A模块等需要3.3V电压的模块供电;加热片、风扇、消毒灯、照明灯、继电器、蜂鸣器采用5V直接供电,确保其正常工作;具备过流、过压保护功能,确保系统安全稳定运行。

表3-1 系统硬件材料清单及选型理由

3.2 主控模块电路设计

主控模块以STM32F103C8T6最小系统板为核心,是系统的核心控制单元,主要包括电源电路、复位电路、晶振电路及下载接口电路,负责协调各模块工作,处理数据与控制指令,是系统稳定运行的基础。

3.2.1 电源电路

系统采用5V USB电源供电,通过AMS1117-3.3V稳压芯片将5V电压稳压至3.3V,为STM32F103C8T6单片机、DHT11传感器、OLED屏幕、BT04A蓝牙模块、光敏传感器、PM2.5传感器、MQ-135传感器、光电红外传感器等需要3.3V电压的模块供电;加热片、风扇、UV消毒灯、照明灯、继电器、有源蜂鸣器采用5V直接供电,确保其输出足够的功率。电源电路中加入100nF滤波电容,减少电压波动,滤除电源干扰,确保系统稳定工作;同时设计电源指示LED,用于指示系统是否上电,方便用户查看系统工作状态。

3.2.2 复位电路

采用手动复位与上电复位相结合的方式,复位电路由电阻、电容及复位按键组成。上电时,电容充电,产生复位信号,使单片机完成上电复位,确保系统上电后正常初始化;当系统出现异常(如程序卡死、数据采集异常)时,按下复位按键,产生手动复位信号,使单片机重启,恢复正常工作。复位电路设计简单、可靠性高,确保系统在异常情况下能够快速恢复,提升系统的稳定性。

3.2.3 晶振电路

采用外部晶振电路,晶振频率为8MHz,通过分频电路为STM32单片机提供72MHz的系统时钟,确保单片机的运算速度与各模块的同步工作。晶振电路中加入两个22pF电容,用于稳定晶振频率,减少外界电磁干扰,确保系统计时准确、数据处理高效,为传感器采集、数据传输、指令执行提供稳定的时钟支撑。

3.2.4 下载接口电路

采用USB-TTL下载方式,通过CH340芯片将USB接口转换为UART接口,连接STM32单片机的USART1接口(PA9-TX、PA10-RX),实现程序的下载与调试。下载接口同时支持串口通信,可用于调试过程中的数据打印与指令交互,方便开发人员排查问题、调试程序,提升开发效率。

3.3 环境参数采集模块电路设计

3.3.1 温湿度采集模块(DHT11)

DHT11传感器采用单总线通信方式与STM32单片机连接,其DATA引脚连接STM32的PB0引脚,VCC引脚接3.3V电源,GND引脚接地。单总线通信方式接线简单,只需一根信号线即可实现数据传输,适合小型设备设计,且无需额外的信号转换电路。

为确保采集数据的准确性,在DHT11的VCC与GND之间加入100nF滤波电容,减少电源干扰;同时在DATA引脚与VCC引脚之间加入10KΩ上拉电阻,确保数据传输稳定,避免信号失真。单片机通过DATA引脚发送复位脉冲与应答脉冲,控制DHT11采集温湿度数据,传感器将采集到的数字温度数据反馈给单片机,单片机对数据进行处理后存储并显示。

3.3.2 PM2.5粉尘采集模块(GP2Y1010AU0F)

PM2.5传感器输出模拟信号,采用模拟信号采集方式,连接STM32的ADC接口(PA1引脚)。PM2.5传感器的VCC引脚接5V电源,GND引脚接地,VO引脚(模拟输出)连接STM32的PA1引脚,同时在VO引脚与GND之间并联100nF滤波电容,减少信号干扰,确保采集数据稳定。

传感器的输出电压与PM2.5浓度呈线性关系(0~5V对应0~1000μg/m³),STM32通过ADC接口采集VO引脚的模拟电压,将其转换为12位数字信号(0~4095),再通过标定的换算公式,将数字信号转换为PM2.5浓度值(μg/m³),为系统的阈值对比与报警提供数据支撑。

3.3.3 空气质量采集模块(MQ-135)

MQ-135传感器采用模拟信号输出,连接STM32的ADC接口(PA2引脚)。MQ-135传感器的VCC引脚接5V电源,GND引脚接地,AO引脚(模拟输出)连接STM32的PA2引脚,同时并联100nF滤波电容,滤除信号干扰,确保采集精度。

MQ-135传感器的输出电压与空气质量呈正相关(空气质量越差,输出电压越高),STM32通过ADC接口采集AO引脚的模拟电压,转换为数字信号后,通过线性换算公式转换为空气质量值,实现鞋柜内空气质量的实时检测。采集过程中,可通过软件校准,进一步提高检测精度。

3.3.4 光敏采集模块(光敏电阻)

光敏采集模块由光敏电阻、分压电阻及滤波电容组成,采用模拟信号采集方式,连接STM32的ADC接口(PA3引脚)。光敏电阻的一端接3.3V电源,另一端通过分压电阻接地,中间节点连接STM32的PA3引脚,同时并联100nF滤波电容,减少信号干扰。

当环境光照强度变化时,光敏电阻的阻值随之变化,导致分压节点的电压发生变化,STM32通过ADC接口采集该电压信号,将其转换为数字信号,再通过算法转换为光照强度值(lux),为照明灯的智能控制提供数据支撑。

3.3.5 光电红外采集模块(E18-D80NK)

光电红外传感器输出数字信号,连接STM32的PB1引脚。传感器的VCC引脚接5V电源,GND引脚接地,OUT引脚(数字输出)连接STM32的PB1引脚。当柜门关闭时,传感器被遮挡,OUT引脚输出低电平;当柜门打开时,传感器未被遮挡,OUT引脚输出高电平,单片机通过检测PB1引脚的电平变化,判断柜门的开关状态。

为确保检测信号稳定,在传感器的VCC与GND之间加入100nF滤波电容,减少电源干扰;同时在OUT引脚与GND之间加入下拉电阻,避免信号抖动,确保柜门状态检测的准确性。

3.4 执行模块电路设计

3.4.1 继电器驱动模块

采用5V 4路继电器模块,其VCC引脚接5V电源,GND引脚接地,4路IN引脚(控制端)分别连接STM32的PB2、PB3、PB4、PB5引脚,分别控制加热片、风扇、UV消毒灯、照明灯。继电器模块具备光耦隔离功能,可有效隔离外部干扰,保护主控芯片。

当STM32对应的GPIO引脚输出高电平时,继电器吸合,对应的执行设备(加热片/风扇/消毒灯/照明灯)通电工作;当GPIO引脚输出低电平时,继电器断开,执行设备断电停止工作。为确保安全,在继电器输出端并联续流二极管,防止继电器吸合与断开时产生的反向电动势损坏继电器与主控芯片,提升系统的可靠性。

3.4.2 蜂鸣器报警模块

采用有源蜂鸣器,其VCC引脚接5V电源,GND引脚通过NPN三极管连接STM32的PB6引脚,三极管的基极通过1KΩ电阻连接PB6引脚,用于控制蜂鸣器的开启与关闭。当单片机检测到PM2.5浓度或空气质量异常时,PB6引脚输出高电平,三极管导通,蜂鸣器通电发声,发出报警提示;当参数恢复正常或切换至手动模式关闭报警时,PB6引脚输出低电平,三极管截止,蜂鸣器停止发声。

为避免蜂鸣器干扰其他模块工作,在蜂鸣器的VCC与GND之间加入100nF滤波电容,减少电源干扰;同时在三极管的发射极与GND之间加入下拉电阻,确保三极管工作稳定,避免误触发。

3.4.3 各执行设备连接

  • 加热片:一端接5V电源,另一端连接继电器模块的输出端,通过PB2引脚控制继电器吸合/断开,实现加热片的开关控制。
  • 风扇模块:一端接5V电源,另一端连接继电器模块的输出端,通过PB3引脚控制继电器吸合/断开,实现风扇的开关控制。
  • UV消毒灯:一端接5V电源,另一端连接继电器模块的输出端,通过PB4引脚控制继电器吸合/断开,实现消毒灯的开关控制。
  • LED照明灯:一端接5V电源,另一端连接继电器模块的输出端,通过PB5引脚控制继电器吸合/断开,实现照明灯的开关控制。

3.5 交互与显示模块电路设计

3.5.1 OLED显示模块

OLED显示屏采用4针IIC协议,其SDA引脚连接STM32的PB7引脚,SCL引脚连接STM32的PB8引脚,VCC引脚接3.3V电源,GND引脚接地。IIC总线采用主从模式,STM32单片机作为主设备,OLED显示屏作为从设备,单片机通过IIC总线向显示屏发送指令与数据,控制显示屏显示相关信息。

OLED显示屏的分辨率为128*64,将屏幕分为6个显示区域,分别显示温度(格式:温度:XX.XX℃)、湿度(格式:湿度:XX.XX%RH)、PM2.5浓度(格式:PM2.5:XXXμg/m³)、空气质量(格式:空气质量:XX)、光照值(格式:光照:XXXlux)、柜门状态与当前模式(格式:柜门:开启/关闭 模式:自动/手动),界面设计简洁、清晰,便于用户查看各项参数与系统工作状态。

3.5.2 按键控制模块

手动控制模块采用6个独立按键,分别实现模式切换、阈值调节、消毒时间设置、加热片开关、风扇开关、消毒灯/照明灯开关功能。按键1(模式切换)连接STM32的PA4引脚,按键2(阈值调节)连接PA5引脚,按键3(消毒时间设置)连接PA6引脚,按键4(加热片开关)连接PA7引脚,按键5(风扇开关)连接PA8引脚,按键6(消毒灯/照明灯开关)连接PA9引脚;每个按键的一端接地,另一端通过10KΩ上拉电阻连接对应的GPIO引脚,当按键按下时,引脚电平变为低电平,单片机检测到电平变化后,执行相应的操作。

为避免按键误触发,在程序中加入按键防抖处理(延时10ms),同时在每个按键两端并联小电容,进一步减少外界干扰,确保按键操作的可靠性;当进入阈值设置模式时,通过按键2切换需要调整的参数(温湿度、PM2.5、空气质量、光照),通过按键4、5调整阈值的大小(增加/减少);进入消毒时间设置模式时,通过按键4、5调整定时时间。

3.5.3 蓝牙通信模块(BT04A)

BT04A蓝牙模块采用UART通信方式与STM32单片机连接,其TXD引脚连接STM32的USART2_RX引脚(PA10),RXD引脚连接STM32的USART2_TX引脚(PA9),VCC引脚接3.3V电源,GND引脚接地,KEY引脚悬空(默认自动配对模式)。

蓝牙模块初始化完成后,进入可配对模式,等待与手机APP建立连接;单片机通过USART2接口实时检测蓝牙模块的连接状态。连接成功后,单片机将处理后的环境参数与设备状态按照自定义通信协议发送至蓝牙模块,蓝牙模块将数据传输至手机APP;同时,单片机开启USART2接收中断,接收手机APP发送的控制指令,解析指令后执行相应操作(模式切换、设备控制、阈值调节、消毒时间设置)。

3.6 PCB板设计与制作

根据硬件电路原理图,采用Altium Designer软件设计PCB板,设计过程中遵循布局合理、布线规范、预留接口、安全防护的原则,确保PCB板的稳定性、实用性与安全性,具体设计原则如下:

  • 布局合理:将主控模块、采集模块、执行模块、交互模块分开布局,减少模块之间的干扰;传感器模块(DHT11、PM2.5、MQ-135)尽量靠近鞋柜内部,便于采集准确数据;执行模块(继电器、加热片、风扇)远离传感器模块,避免电磁干扰;蓝牙模块与其他模块保持一定距离,避免无线信号干扰。
  • 布线规范:电源线、地线尽量粗(≥1mm),减少电阻损耗;信号线尽量短,避免交叉,减少信号干扰;ADC采集信号线(PA1、PA2、PA3)采用屏蔽布线,提高采集精度;UART总线、IIC总线采用差分布线,提高通信稳定性;所有布线避免锐角,减少信号反射;继电器、加热片、风扇的布线尽量远离传感器采集信号线,避免电磁干扰。
  • 预留接口:预留各传感器、蓝牙模块、下载接口、继电器、蜂鸣器、执行设备的焊接位置,便于后期调试与更换模块;预留电源接口,方便用户供电;在PCB板上预留测试点,便于后期测试各模块的电压与信号;预留传感器与执行设备的接口,便于安装与维护。
  • 安全防护:PCB板表面采用防腐蚀涂层处理,防止鞋柜内潮湿导致短路;继电器、加热片的布线加装绝缘保护,避免短路;电源接口与执行设备接口分开布局,防止误接导致设备损坏;加入过流、过压保护电路,确保系统安全稳定运行。

PCB板设计完成后,进行打样制作,焊接各元器件,焊接完成后进行通电测试,检查各模块是否正常工作,确保PCB板无短路、虚焊、漏焊等问题;同时进行防潮测试,确保PCB板在鞋柜潮湿环境中能够稳定工作,为系统软件调试奠定硬件基础。

第四章 系统软件设计

4.1 软件开发环境

本系统软件开发采用Keil MDK5.29开发环境,基于C语言进行编程,结合模块化设计思想,将软件分为多个独立模块,便于开发、调试与维护。同时,配合手机APP开发工具,实现蓝牙数据交互与远程控制功能。主要开发工具及软件如下:

  • Keil MDK5.29:用于编写、编译、调试STM32单片机程序,支持STM32F103C8T6芯片,具备代码编辑、语法检查、仿真调试、程序下载等功能,是STM32单片机开发的主流工具,能够满足系统多模块程序的开发需求。
  • Altium Designer:用于硬件电路原理图与PCB板设计,配合软件开发完成系统硬件与软件的协同设计,确保硬件与软件的兼容性,避免出现硬件与软件不匹配的问题。
  • 串口调试助手:用于调试串口通信,查看单片机发送的数据(传感器采集数据、指令执行状态),验证数据传输的准确性;同时可模拟蓝牙模块发送指令,调试指令解析功能,方便开发人员排查问题。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐