欢迎光临
我们一直在努力

基于STM32的智能药盒管理系统设计与实现(完整项目)

基于STM32的智能药盒管理系统设计与实现

摘要

随着社会老龄化程度加深、慢性病患者群体不断扩大,日常用药管理成为保障健康的重要环节。针对传统药盒功能单一、无法定时提醒、缺少药品存储环境监测、药品余量无法实时感知、易出现漏服忘服等问题,本文设计并实现了一款基于STM32F103C8T6单片机的智能药盒管理系统。系统以STM32单片机为控制核心,集成环境温湿度监测、药品余量检测、人体吃药状态识别、实时时钟显示、多组定时吃药提醒、语音播报、缺药报警及蓝牙APP远程控制功能,全方位满足用户用药管理需求。

本文详细阐述系统总体设计、硬件电路搭建、软件程序开发、系统调试与测试全过程。经测试验证,该系统运行稳定、数据采集准确、提醒响应及时,可有效提升用户用药依从性,保障药品存储质量,操作便捷且成本亲民,适用于老年人、慢性病患者等各类人群,具有较强的实用价值与推广意义。

关键词:STM32F103C8T6;智能药盒;温湿度监测;定时提醒;语音播报;蓝牙APP控制

目录

第1章 绪论 ……………………………………………………….. 1

1.1 研究背景与意义 ………………………………………………. 1

1.2 国内外研究现状 ………………………………………………. 2

1.3 研究内容与设计目标 …………………………………………….. 3

1.4 论文结构安排 ………………………………………………… 4

第2章 系统总体设计 ………………………………………………… 5

2.1 系统整体架构 ………………………………………………… 5

2.2 系统功能需求分析 …………………………………………….. 6

2.3 核心元器件选型 ………………………………………………… 7

2.4 系统工作流程 ………………………………………………… 9

第3章 系统硬件设计 …………………………………………………. 11

3.1 主控核心电路 ………………………………………………… 11

3.2 温湿度监测模块电路 …………………………………………… 13

3.3 药品余量检测模块电路 …………………………………………… 14

3.4 吃药状态监测模块电路 …………………………………………… 15

3.5 显示模块电路 ………………………………………………… 16

3.6 定时与语音播报模块电路 …………………………………………… 17

3.7 报警模块电路 ………………………………………………… 18

3.8 蓝牙通信模块电路 …………………………………………… 19

3.9 电源模块电路 ………………………………………………… 20

第4章 系统软件设计 …………………………………………………. 22

4.1 软件开发环境 ………………………………………………… 22

4.2 软件总体架构 ………………………………………………… 23

4.3 主程序流程设计 ………………………………………………… 24

4.4 各模块软件设计 ………………………………………………… 25

4.5 蓝牙通信与APP交互协议 …………………………………………… 29

第5章 系统调试与功能测试 ……………………………………………. 31

5.1 硬件调试 ……………………………………………………. 31

5.2 软件调试 ……………………………………………………. 32

5.3 系统功能测试 ………………………………………………… 33

5.4 测试结果与分析 ………………………………………………… 36

第6章 总结与展望 …………………………………………………… 38

6.1 研究总结 ……………………………………………………. 38

6.2 不足与未来展望 ………………………………………………… 39

参考文献 ……………………………………………………….. 41

致谢 ……………………………………………………….. 43

第1章 绪论

1.1 研究背景与意义

现代生活节奏加快,中老年群体、慢性病患者需长期规律服药,而传统药盒仅具备简单收纳功能,无法解决用药过程中的诸多痛点:其一,用户易忘记服药时间,出现漏服、误服,影响治疗效果;其二,部分药品对存储温湿度敏感,环境不适易导致药品失效,传统药盒无环境监测功能;其三,药品剩余量无法实时感知,易出现断药、缺药情况,耽误正常用药;其四,无法确认用户是否按时取药服药,用药依从性难以保障。

与此同时,嵌入式技术、传感器技术、无线通信技术快速发展,为智能家用医疗设备研发提供了技术支撑。基于单片机的智能药盒,可集成监测、提醒、报警、远程控制等功能,针对性解决传统用药管理难题。

本文设计的基于STM32的智能药盒管理系统,具备环境监测、余量检测、定时提醒、语音播报、缺药报警、蓝牙APP控制等功能,既能帮助用户规律服药、保障药品存储安全,又能实现远程管控,操作简便、成本低廉,有效提升日常用药管理的智能化水平,对保障用户健康、提升生活质量具有重要的现实意义。

1.2 国内外研究现状

国外智能药类设备研发起步较早,产品功能完善,部分集成服药提醒、数据云端同步、家属远程监控等功能,但整体造价高昂、操作流程复杂,更偏向医疗专业场景,难以适配普通家庭日常使用,普及度受限。

国内智能药盒相关研究近年来持续增多,多数产品具备基础定时提醒、声光报警功能,但存在明显短板:部分产品缺少环境温湿度监测,无法保障药品存储条件;部分无药品余量检测功能,不能及时提醒补药;部分不支持语音播报与远程APP控制,使用便捷性不足,难以满足用户全方位用药管理需求。

基于现有研究短板,本文选用性价比极高的STM32F103C8T6单片机,整合多类型传感器、语音模块、蓝牙模块,设计一款功能全面、成本可控、操作简单的智能药盒管理系统,弥补现有产品功能缺陷,贴合普通用户日常使用需求。

1.3 研究内容与设计目标

研究内容:

  • 完成智能药盒管理系统整体方案设计,划分功能模块,确定核心元器件;
  • 设计硬件电路,包含主控电路、传感器采集电路、显示电路、报警电路、语音电路、蓝牙通信电路、电源电路等;
  • 完成系统软件编程,实现温湿度采集、药品余量检测、吃药状态识别、实时时钟、定时提醒、语音播报、报警、蓝牙数据交互等功能;
  • 开展系统软硬件调试,测试各项功能稳定性与准确性,优化系统性能;
  • 撰写完整毕业论文,梳理系统设计思路、实现流程与测试结果。
  • 设计目标:

  • 以STM32F103C8T6为核心,实现系统各模块稳定协同运行;
  • 实时监测药盒内环境温湿度,保障药品存储环境;
  • 通过称重模块精准检测药品余量,余量为零时自动触发蜂鸣器报警;
  • 通过光电红外传感器识别用户吃药状态,判断是否按时取药;
  • 实现实时时间显示,支持5组独立定时吃药提醒,可单独开关每组定时;
  • 定时时间到达后,自动进行语音播报提醒;
  • 通过蓝牙模块与手机APP连接,APP可查看监测数据、远程设置定时参数;
  • 系统成本低廉、运行稳定、操作简便,适合家庭日常使用。
  • 1.4 论文结构安排

    第1章为绪论,阐述研究背景、意义、国内外现状,明确研究内容与设计目标,规划论文整体结构。

    第2章为系统总体设计,搭建系统整体架构,拆解功能需求,完成核心元器件选型,梳理系统完整工作流程。

    第3章为系统硬件设计,详细介绍各模块电路设计、元器件接线、硬件连接方案,保障硬件系统可靠运行。

    第4章为系统软件设计,说明开发环境,搭建软件架构,阐述主程序及各模块程序设计思路与实现逻辑。

    第5章为系统调试与功能测试,开展软硬件调试,逐项测试系统功能,分析测试结果,验证系统是否达标。

    第6章为总结与展望,总结系统设计成果,指出设计不足,提出后续优化与功能拓展方向。

    第2章 系统总体设计

    2.1 系统整体架构

    本智能药盒管理系统采用模块化设计理念,以STM32F103C8T6单片机为核心控制单元,统筹协调所有模块运行,整体分为主控模块、环境监测模块、药品余量检测模块、吃药状态监测模块、实时时钟模块、显示模块、定时提醒模块、语音播报模块、缺药报警模块、蓝牙通信模块、电源模块。

    各模块功能如下:

    • 主控模块:接收各模块数据、处理指令、控制外设运行,是系统核心;
    • 环境监测模块:采集药盒内部温湿度数据,上传至单片机;
    • 药品余量检测模块:通过重量感知药品剩余量,传输重量数据;
    • 吃药状态监测模块:通过红外感应识别用户取药动作,判断服药状态;
    • 实时时钟模块:提供精准时间,为定时提醒提供基准;
    • 显示模块:显示实时时间、温湿度、药品余量、定时状态等信息;
    • 定时提醒模块:支持5组服药时间设置,定时时间到达触发提醒;
    • 语音播报模块:定时时间到后播放提醒语音,提升提醒效果;
    • 缺药报警模块:药品余量为零时,蜂鸣器报警提醒补药;
    • 蓝牙通信模块:实现药盒与手机APP双向数据传输,支持远程控制;
    • 电源模块:为整个系统提供稳定供电,保证系统持续运行。

    2.2 系统功能需求分析

    结合用户日常用药管理需求,系统核心功能如下:

  • 核心控制功能:采用STM32F103C8T6单片机作为主控,协调各模块稳定运行,处理数据与控制指令,响应快速、运行可靠。
  • 多维度监测功能:实时监测药盒内环境温湿度,避免药品因环境不适失效;通过重量检测精准获取药品余量;通过光电红外传感器判断用户是否按时取药服药。
  • 缺药报警功能:当称重模块检测药品重量为零时,单片机控制有源蜂鸣器自动报警,提醒用户及时补充药品。
  • 实时时间显示:显示精准实时时间,既可方便用户查看,也为定时提醒提供准确时间基准。
  • 多组定时提醒:支持设置5组独立服药提醒时间,每组时间可单独开启或关闭,适配不同用药频次需求。
  • 语音播报提醒:设定时间到达后,自动启动语音播报,直观提醒用户服药,适用于各类人群。
  • 蓝牙APP远程控制:通过蓝牙模块连接手机APP,APP端可查看温湿度、药品余量等监测数据,远程设置定时时间、开关定时,实现便捷远程管控。
  • 2.3 核心元器件选型

    依据系统功能需求、性能要求及成本控制原则,核心元器件选型如下:

  • STM32F103C8T6单片机:系统主控芯片,基于ARM Cortex-M3内核,主频最高72MHz,具备丰富GPIO接口、串口、定时器等外设,性能稳定、功耗低、性价比极高,可完美满足系统多模块控制与数据处理需求。
  • 0.96英寸OLED显示屏:采用I2C通信接口,自发光、视角广、显示清晰、功耗低、响应速度快,可清晰显示时间、温湿度、药品余量、定时状态等信息,适配药盒小巧结构。
  • DHT11温湿度传感器:数字式温湿度传感器,单总线通信,电路简单、成本低、性能稳定,测温范围0-50℃,湿度范围20%-90%RH,满足药品日常存储环境监测需求。
  • 光电红外传感器:用于监测人体吃药状态,通过红外反射识别用户取药动作,响应速度快、灵敏度高,电路简洁,可精准判断服药行为。
  • HX711称重模块:高精度24位A/D转换器芯片,配合称重传感器使用,抗干扰能力强、测量精准,可实时采集药品重量,精准判断药品余量。
  • JR6001语音模块:专用语音播报模块,支持串口控制,可播放预设语音内容,音质清晰、控制简单,实现服药提醒语音播报。
  • BT04A蓝牙模块:低功耗蓝牙串口模块,兼容BLE协议,通信稳定、传输距离远,实现药盒与手机APP之间的数据双向传输。
  • 有源蜂鸣器:缺药报警器件,通电即可发声,音量适中、响应迅速,单片机直接控制电平即可驱动报警。
  • 2.4 系统工作流程

    系统上电后,首先完成STM32单片机及所有外设模块初始化,包括传感器、显示屏、蓝牙、语音模块、定时器等。

    初始化完成后,系统进入循环运行状态:

    1. 实时数据采集:DHT11采集环境温湿度、HX711采集药品重量、光电红外传感器监测用户取药状态,数据同步上传至单片机;

    2. 数据处理与显示:单片机处理采集数据,计算药品余量,判断吃药状态,控制OLED屏幕显示实时时间、温湿度、药品余量、定时状态等信息;

    3. 报警判断:单片机实时判断药品重量,若重量为零,立即驱动有源蜂鸣器进行缺药报警;

    4. 定时提醒判断:系统实时比对当前时间与设定的服药时间,若时间匹配,立即触发JR6001语音模块进行播报提醒;

    5. 蓝牙通信:蓝牙模块持续处于待机状态,与手机APP建立连接后,将监测数据上传至APP,同时接收APP下发的定时设置、开关控制指令,更新系统参数;

    6. 用户本地操作:支持通过按键手动设置时间、调整定时参数,系统同步响应并保存参数。

    系统持续循环上述流程,直至断电关闭,全程稳定实现用药管理全功能。

    第3章 系统硬件设计

    3.1 主控核心电路

    主控电路以STM32F103C8T6为核心,包含最小系统电路,保证单片机正常启动与运行,主要由电源电路、复位电路、时钟电路、下载接口组成。

    1. 电源电路:采用3.3V稳压供电,为单片机提供稳定工作电压,并联滤波电容,滤除电压纹波,保障供电稳定;

    2. 复位电路:由按键与电容组成,实现上电自动复位与手动复位,系统异常时可手动复位重启,保证系统可靠性;

    3. 时钟电路:外接8MHz晶振,配合两个22pF负载电容,为单片机提供精准时钟信号,通过内部倍频至72MHz,满足系统运算与通信需求;

    4. 下载接口:采用SWD下载接口,用于程序烧录与调试,方便后续软件更新与调试。

    单片机GPIO口分别连接各外设模块,实现数据传输与控制:串口1连接蓝牙模块、串口2连接语音模块;GPIO口连接DHT11、HX711、光电红外传感器、OLED显示屏、蜂鸣器、功能按键,实现信号采集与外设控制。

    3.2 温湿度监测模块电路

    温湿度监测模块选用DHT11数字传感器,采用单总线通信方式,电路连接简洁。传感器VCC引脚接3.3V电源,GND引脚接地,DATA数据引脚接STM32单片机指定GPIO口。

    DATA引脚外接上拉电阻,保证数据传输稳定,避免信号干扰。单片机通过DATA引脚发送起始信号,DHT11接收到信号后,实时采集环境温湿度数据,并将数字信号回传给单片机,完成数据采集。电路无需复杂外围器件,布线简洁,适合药盒内部紧凑布局。

    3.3 药品余量检测模块电路

    药品余量检测由称重传感器与HX711模块配合实现,HX711作为核心处理芯片,完成重量信号的模数转换。称重传感器输出端连接HX711模拟信号输入端,HX711的VCC接5V供电,GND接地;DOUT与SCK引脚分别连接STM32单片机GPIO口,实现数据输出与时钟控制。

    系统上电后,HX711实时采集称重传感器的压力信号,转换为数字重量数据,通过DOUT引脚传输至单片机,单片机根据重量数值判断药品剩余量,当重量为零时,立即输出报警信号驱动蜂鸣器。模块具备高精度、强抗干扰性,保证药品余量检测精准可靠。

    3.4 吃药状态监测模块电路

    吃药状态监测采用光电红外传感器,由红外发射管、红外接收管组成。传感器VCC接3.3V,GND接地,信号输出端接单片机GPIO口。

    传感器安装于药盒取药口位置,正常状态下,红外光线无遮挡,传感器输出固定电平;当用户伸手取药时,遮挡红外光路,传感器输出电平发生翻转,单片机检测到电平变化后,判定用户处于取药吃药状态,并记录状态信息,实现吃药行为识别。电路灵敏度可调,可适配不同使用场景,避免误检测。

    3.5 显示模块电路

    显示模块采用0.96英寸I2C接口OLED显示屏,仅需四根接线即可完成通信。显示屏VCC接3.3V,GND接地,SDA(串行数据)、SCL(串行时钟)分别连接单片机I2C对应GPIO口。

    I2C通信方式占用IO口少、布线简单,显示屏可清晰显示汉字、字符、数字,用于展示实时时间、环境温湿度、药品余量、定时组数、报警状态等信息,界面布局简洁直观,方便用户快速查看各类信息。

    3.6 定时与语音播报模块电路

    定时功能依托单片机内部定时器实现,结合软件时钟算法,保证时间精准,无需额外硬件时钟芯片,简化硬件电路。通过外接独立按键,实现时间校准、定时参数设置、定时开关控制,每组定时均可独立配置。

    语音播报模块采用JR6001语音模块,模块VCC接5V供电,GND接地,TX、RX引脚连接单片机串口,实现串口指令控制。模块内置预设提醒语音,当单片机判定到达设定服药时间,通过串口发送播报指令,JR6001模块驱动扬声器播放语音,完成服药提醒。模块音量适中、音质清晰,特别适合老年用户使用。

    3.7 报警模块电路

    报警模块采用有源蜂鸣器,蜂鸣器VCC通过三极管控制,基极通过限流电阻连接单片机GPIO口,发射极接地,集电极连接蜂鸣器负极,蜂鸣器正极接5V电源。

    正常状态下,单片机GPIO口输出低电平,三极管截止,蜂鸣器不工作;当HX711检测药品重量为零,单片机GPIO口输出高电平,三极管导通,蜂鸣器通电发声,实现缺药报警。用户补充药品后,系统自动停止报警,也可通过按键手动关闭报警,使用灵活。

    3.8 蓝牙通信模块电路

    蓝牙通信选用BT04A蓝牙串口模块,模块VCC接3.3V,GND接地,TX引脚接单片机RX引脚,RX引脚接单片机TX引脚,实现串口双向数据通信。

    模块默认波特率与单片机串口配置一致,上电后自动进入待机配对状态,用户通过手机APP搜索蓝牙信号完成连接。连接成功后,单片机将温湿度、药品余量、定时状态等数据,通过蓝牙上传至手机APP;APP下发的定时设置、开关控制指令,也通过蓝牙传输至单片机,实现远程控制。模块通信稳定、功耗低,满足短距离无线通信需求。

    3.9 电源模块电路

    电源模块支持两种供电方式:USB 5V直接供电、3.7V锂电池供电,适配不同使用场景。采用AMS1117-3.3V稳压芯片,将5V或锂电池电压转换为稳定3.3V电压,为单片机、传感器、OLED显示屏、蓝牙模块供电;5V电压直接供给蜂鸣器、JR6001语音模块、HX711模块。

    电源电路输入端接入滤波电容、稳压二极管,实现电压滤波、防反接、过压保护,避免电压波动损坏元器件,保证整个系统供电稳定、安全可靠。同时支持锂电池充电管理,可通过USB口直接充电,提升设备便携性。

    第4章 系统软件设计

    4.1 软件开发环境

    系统软件开发采用Keil MDK5开发环境,该环境支持STM32系列单片机程序开发,具备代码编辑、编译、调试、烧录等完整功能,操作便捷、编译效率高。

    编程语言采用C语言,代码结构清晰、可读性强、便于移植与调试。开发过程中,搭建STM32标准库开发环境,调用标准库函数配置单片机外设、实现模块驱动,简化开发流程,提升代码稳定性与开发效率。程序编译完成后,通过SWD下载器将二进制文件烧录至STM32单片机,即可运行调试。

    4.2 软件总体架构

    系统软件采用模块化编程设计,按功能划分为多个独立子模块,各模块分工明确、便于调试维护,整体包含:主程序模块、系统初始化模块、温湿度采集模块、药品重量采集模块、吃药状态检测模块、OLED显示模块、定时处理模块、语音播报模块、报警控制模块、蓝牙通信模块、按键处理模块。

    软件架构遵循“高内聚、低耦合”原则,主程序统筹调用各子模块,子模块独立实现对应功能,模块间通过全局变量、函数调用实现数据交互,保证程序运行高效、稳定,便于后续功能拓展与代码优化。

    4.3 主程序流程设计

    主程序是系统软件运行核心,统筹整个系统运行流程,具体执行步骤如下:

  • 系统上电,进入程序入口,首先执行系统初始化,包含单片机系统时钟初始化、GPIO口初始化、串口初始化、定时器初始化、外设模块初始化(OLED、DHT11、HX711、蓝牙、语音模块);
  • 初始化完成后,执行开机自检,自检通过后,OLED屏幕显示系统欢迎界面,延时后跳转至主界面;
  • 进入主循环,依次调用数据采集函数,获取温湿度、药品重量、吃药状态数据;
  • 对采集数据进行处理、校准,判断药品是否缺药、定时时间是否到达;
  • 调用显示函数,将处理后的数据、时间、状态信息刷新至OLED屏幕;
  • 若判定缺药,调用报警函数,驱动蜂鸣器报警;若定时时间到达,调用语音播报函数,启动提醒;
  • 调用蓝牙通信函数,上传监测数据至APP,接收并解析APP下发指令;
  • 扫描按键状态,响应本地按键操作,完成参数设置、定时调整;
  • 循环执行上述步骤,持续稳定运行,实现全功能控制。
  • 4.4 各模块软件设计

    4.4.1 数据采集模块

    1. 温湿度采集:编写DHT11驱动函数,单片机发送起始信号,等待传感器响应,读取40位数据(湿度整数、湿度小数、温度整数、温度小数、校验和),校验数据准确性,剔除异常数据,获取有效温湿度值。

    2. 药品重量采集:编写HX711驱动函数,初始化模块后,读取24位AD转换数据,通过校准公式转换为实际重量值,多次采集取平均值,提升重量检测精度,实时判断重量是否为零,触发缺药标志位。

    3. 吃药状态检测:循环读取光电红外传感器IO口电平,设定防抖判断逻辑,连续多次检测到电平翻转,判定用户取药吃药,置位吃药状态标志位,避免外界干扰导致误判。

    4.4.2 显示模块

    编写OLED显示屏驱动函数,实现I2C通信、清屏、字符显示、数字显示、汉字显示功能。设计界面布局,分区域显示实时时间(年/月/日 时:分)、环境温度、环境湿度、药品剩余重量、定时组数及开关状态,定时刷新界面,保证显示数据实时、准确,界面简洁易懂。

    4.4.3 定时处理模块

    依托单片机定时器,实现毫秒级定时中断,构建软件实时时钟,支持时间校准。开辟存储区域,存放5组定时服药时间及开关状态,每组参数可独立修改、开关。系统实时比对当前时间与设定定时时间,时间完全匹配且定时开启状态下,置位提醒标志位,触发语音播报。

    4.4.4 语音播报模块

    编写JR6001语音模块串口驱动函数,预设播报指令对应提醒语音。当定时提醒标志位置位,单片机通过串口发送播报指令,模块接收指令后,驱动扬声器播放“请您按时服药”等语音,播报完成后自动关闭,降低功耗。

    4.4.5 报警控制模块

    编写蜂鸣器控制函数,实时监测缺药标志位。当药品重量为零,缺药标志位置位,单片机控制IO口输出高电平,驱动蜂鸣器间歇性报警;用户补充药品后,重量恢复正常,标志位清零,蜂鸣器停止报警;同时支持按键手动关闭报警,提升使用体验。

    4.4.6 按键处理模块

    设置功能按键,包含设置键、加键、减键、确认键,编写按键扫描与防抖函数。通过按键实现本地参数设置:校准实时时间、设置5组定时服药时间、开启/关闭定时、手动关闭报警,操作逻辑简单,适配各类用户操作习惯。

    4.5 蓝牙通信与APP交互协议

    蓝牙通信采用串口透传模式,数据传输遵循自定义简单协议,保证数据传输稳定、解析准确。

    1. 上行数据(药盒→APP):系统定时将温湿度、药品重量、吃药状态、定时状态数据打包,通过蓝牙上传至手机APP,数据格式简洁,包含数据头、数据内容、校验位,方便APP解析显示。

    2. 下行数据(APP→药盒):APP下发定时时间修改、定时开关、远程关机等指令,单片机接收指令后,解析指令内容,执行对应操作,更新系统参数,并返回应答指令至APP,确认指令执行完成。

    蓝牙通信设置超时重发机制,避免数据丢包,保证远程控制可靠有效,实现数据无缝交互。

    第5章 系统调试与功能测试

    5.1 硬件调试

    硬件调试采用分步调试法,逐一排查各模块硬件电路问题,保障硬件正常工作:

    1. 电源调试:通电后测量各模块供电电压,3.3V、5V电压正常,无短路、过压情况,稳压电路运行稳定;

    2. 主控调试:烧录简单测试程序,单片机正常运行,复位、时钟电路工作正常;

    3. 传感器调试:分别测试DHT11、HX711、光电红外传感器,供电正常、信号输出稳定,数据采集正常;

    4. 外设调试:OLED显示屏显示正常、无乱码;蜂鸣器响应正常;语音模块播报清晰;蓝牙模块可正常配对连接;

    5. 整体联调:连接所有模块,检查接线无误,无短路、虚焊问题,各模块协同供电正常。

    硬件调试过程中,解决了传感器信号干扰、蓝牙通信接触不良、显示花屏等问题,优化布线、加固接线,最终硬件系统运行稳定。

    5.2 软件调试

    软件调试结合Keil在线调试与实物运行调试,分步验证各模块程序功能:

    1. 模块化调试:单独调试每个模块驱动程序,验证数据采集、显示、控制、通信功能,确保单模块程序无bug;

    2. 联调测试:整合所有模块程序,进入主循环调试,排查模块间数据冲突、逻辑错误,优化数据处理流程;

    3. 异常调试:模拟缺药、定时到达、蓝牙断开等场景,调试报警、提醒、重连逻辑,保证系统异常处理正常;

    4. 参数优化:校准传感器数据,调整定时精度、语音播报延时、报警响应时间,提升系统性能。

    软件调试解决了数据采集偏差、定时不准、蓝牙数据丢包、显示卡顿等问题,优化代码逻辑,降低系统功耗,最终软件运行流畅、响应及时。

    5.3 系统功能测试

    软硬件调试完成后,搭建测试环境,对系统各项核心功能进行逐项测试,验证是否达到设计目标。

    5.3.1 监测功能测试

    测试环境温湿度监测:将药盒置于常温环境,观察OLED显示与手机APP温湿度数据,数据显示正常,与实际环境一致,监测稳定。

    测试药品余量检测:放置药品、逐步减少药品直至清空,观察重量数据变化,重量显示精准;药品清空时,系统立即触发蜂鸣器缺药报警,报警响应及时。

    测试吃药状态监测:模拟伸手取药动作,传感器快速检测,系统准确识别吃药状态,状态显示同步更新,无误判、漏判情况。

    5.3.2 定时与提醒功能测试

    通过本地按键与APP分别设置5组定时服药时间,开启/关闭每组定时,系统均能正常保存参数;设定时间到达时,语音模块立即播报提醒,播报清晰、响应无延时,提醒功能正常。

    5.3.3 实时时间显示测试

    校准系统时间后,长时间运行测试,时间走时精准,无明显误差,OLED屏幕显示清晰,满足时间显示与定时基准需求。

    5.3.4 缺药报警功能测试

    清空药盒内药品,称重模块检测重量为零,系统1秒内启动蜂鸣器报警;补充药品后,报警自动停止,也可通过按键手动关闭报警,报警逻辑正常。

    5.3.5 蓝牙APP远程控制测试

    打开手机蓝牙,搜索并连接药盒蓝牙模块,连接速度快、连接稳定;APP端可正常接收温湿度、药品余量、吃药状态数据;通过APP远程设置定时时间、开关定时,系统同步响应并更新参数,远程控制功能正常。

    5.3.6 整体稳定性测试

    系统连续通电运行24小时,全程无死机、重启、数据丢失情况,各模块协同运行稳定,功能响应正常,续航满足日常使用需求。

    5.4 测试结果与分析

    对系统各项功能测试结果进行汇总分析,结果如下:

    测试功能

    测试结果

    是否达标

    温湿度监测

    数据准确、传输稳定

    达标

    药品余量检测

    称重精准、缺药报警及时

    达标

    吃药状态识别

    识别准确、无误判

    达标

    实时时间显示

    走时精准、显示清晰

    达标

    5组定时提醒

    定时精准、可独立开关

    达标

    语音播报

    播报清晰、响应及时

    达标

    缺药报警

    报警灵敏、启停正常

    达标

    蓝牙APP控制

    连接稳定、远程控制有效

    达标

    系统稳定性

    长时间运行无异常

    达标

    测试结果表明,本基于STM32的智能药盒管理系统,所有设计功能均正常实现,系统运行稳定、数据准确、响应及时,完全达到前期设计目标,可满足日常用药管理需求。

    第6章 总结与展望

    6.1 研究总结

    本文完成了基于STM32的智能药盒管理系统的设计、开发、调试与测试全过程。系统以STM32F103C8T6单片机为核心,整合多类型传感器、语音模块、蓝牙模块、报警模块,实现了环境温湿度监测、药品余量检测、吃药状态识别、实时时钟、5组定时提醒、语音播报、缺药报警、蓝牙APP远程控制全套功能。

    在硬件设计上,采用模块化电路设计,布线简洁、成本低廉、运行稳定,适配药盒小巧结构;在软件设计上,采用模块化编程,逻辑清晰、便于调试,实现了数据精准采集、智能提醒、远程交互。经系统测试,系统各项功能均达标,运行稳定可靠,操作简便,能够有效解决用户漏服忘服药品、药品存储环境不佳、药品余量无法感知等问题,提升用药依从性,具备很强的实用性。

    本次设计完成了既定研究目标,掌握了STM32单片机外设开发、传感器驱动、无线通信、嵌入式程序开发等相关技术,积累了完整的嵌入式系统设计经验。

    6.2 不足与未来展望

    本系统虽完成核心功能设计,但仍存在一定不足,后续可从以下方面优化改进:

  • 功能拓展:当前仅支持基础用药管理,后续可增加药品保质期提醒、用药记录存储、温湿度超标报警、多药盒分类管理等功能,进一步完善用药管理体系;
  • 性能优化:提升传感器采集精度,优化低功耗算法,延长锂电池续航时间,提升设备便携性;
  • 交互升级:优化手机APP界面,增加用药数据统计、历史记录查询、家属提醒推送等功能,提升用户体验;
  • 结构优化:优化药盒机械结构,提升防水、防尘性能,适配更多使用场景,提升设备耐用性。
  • 未来,可结合物联网、云端存储技术,实现用药数据云端同步、远程健康监护,让智能药盒具备更完善的健康管理功能,更好地服务于中老年群体、慢性病患者,为日常健康管理提供更强大的支持。

    参考文献

    [1] 王田苗, 魏洪兴. 嵌入式系统设计与实例开发[M]. 北京: 清华大学出版社, 2020.

    [2] STM32F103C8T6 datasheet[Z]. STMicroelectronics, 2018.

    [3] 刘同海. 单片机原理及接口技术(STM32篇)[M]. 北京: 电子工业出版社, 2021.

    [4] 赵锐. 传感器原理及嵌入式应用[M]. 西安: 西安电子科技大学出版社, 2020.

    [5] 蓝牙串口通信模块应用技术手册[Z]. 2019.

    [6] 李刚. 基于STM32的家用智能医疗设备设计[J]. 电子技术应用, 2022, 48(05): 89-93.

    赞(0)
    未经允许不得转载:171主机测评 » 基于STM32的智能药盒管理系统设计与实现(完整项目)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址