智能药盒的设计与实现
实验题目:智能药盒的设计与实现
课程简要信息
课程名称:电子系统设计
课程学时:32学时
项目学时:课内8学时、课外8学时
适用专业:电气工程及其自动化、自动化、电子信息工程、通信工程
学生年级:二年级(第四学期)
实验内容与任务
自主设计智能药盒,可提醒使用者按时按量服药,同时监测健康和环境数据。完成硬件和软件设计方案,系统由单片机控制的智能药盒硬件和配套的移动APP组成。
(1)基本任务:基于 STM32,经过对单片机和时钟电路的程序设计控制对应的传感器,通过显示屏输出当前信息,通过传感器确定药盒盖状态,提示患者服药。
(2)提高任务:增加健康检测功能,收集每次的心率以及血氧饱和度,存入历史记录,方便监测人的身体健康。
(3)设计APP,可设置吃药时间、次数、粒数等,还可以实时显示空气中的温度、PM10以及PM2.5的浓度。
实验过程及要求
(1)实验准备
硬件方面,准备 STM32 单片机、时钟电路、各类传感器(如温湿度、PM 传感器、心率血氧传感器)、显示屏、药盒盖检测传感器、蜂鸣器等;软件方面,安装 Keil MDK 开发环境和 Android Studio 用于 APP 开发。
(2)基本任务实现
在 Keil MDK 中编写程序,对 STM32 和时钟电路进行编程,控制传感器采集数据,通过显示屏输出当前信息,如时间、温湿度等。利用药盒盖检测传感器确定药盒状态,若到服药时间未打开药盒,触发蜂鸣器提醒。
(3)提高任务实现
添加心率血氧传感器,编写程序收集心率和血氧饱和度数据,存储到历史记录中。
- 拓展任务实现
使用 Android Studio 开发 APP,实现吃药时间、次数、粒数的设置功能,实时显示空气中温度、PM10 和 PM2.5 浓度,同时与硬件端进行数据交互。
(4)实验要求
实验过程中要确保硬件连接正确,软件编程逻辑清晰,注意数据的准确性和稳定性。完成后对系统进行测试,保证各功能正常运行。撰写设计总结报告,并通过分组演讲,学习交流不同解决方案的特点。
相关知识及背景
随着人口老龄化加剧与慢性疾病患者增多,按时服药和健康监测愈发重要。智能药盒整合了单片机、传感器与移动应用技术,能为用户提供便捷、高效的健康管理方案。STM32 单片机凭借强大的处理能力与丰富的外设接口,为系统搭建了稳定的控制核心。传感器技术则负责采集健康和环境数据,配套 APP 借助蓝牙通信,实现服药计划定制与数据实时交互,全面满足使用者健康管理需求 。
实验环境条件
设计实施需要实验资源,包括实验装置功能、实验仪器设备、设计软件工具、主要电子元器件等。
(1)硬件条件
核心控制板:STM32 系列开发板,例如 STM32F103C8T6,性能稳定且外设资源丰富,能满足系统控制需求。
传感器:药盒盖检测传感器(如霍尔传感器)、温湿度传感器(如 DHT11)、PM2.5 和 PM10 传感器(如 GP2Y1010AU0F)、心率血氧传感器(如 MAX30102)。
显示模块:如 12864 液晶显示屏,用于输出当前信息。
提醒装置:语音模块或蜂鸣器或震动马达,用于提醒患者服药。
电源模块:提供稳定的电源供应,可使用电池或外接电源适配器。
蓝牙模块:如 HC - 05,实现与移动 APP 的数据通信。
其他:PC板或面包板、杜邦线、按键等用于搭建电路和操作。
(2)软件条件
开发环境:针对 STM32 开发,使用 Keil MDK 软件进行单片机程序的编写、编译和调试;对于移动 APP 开发,使用 Android Studio(开发安卓 APP)。
驱动程序:各传感器和模块的驱动程序,确保硬件正常工作。
通信协议:采用蓝牙通信协议,实现硬件与 APP 之间的数据传输。
(3)其他条件
知识储备:掌握 STM32 单片机编程、传感器原理及应用、蓝牙通信技术、Android 开发等相关知识。
实验场地:具备基本电子实验设备的实验室,如万用表、示波器等,用于电路调试和故障排查。
教学目标与目的
(1)知识目标
掌握 STM32 单片机的工作原理与应用、编程和调试方法;熟悉各类传感器(如温湿度、PM、心率血氧等)的功能与使用,掌握传感器数据的采集和处理;了解时钟电路的设计和程序控制,掌握时间管理和定时提醒功能的实现;掌握移动 APP 开发的基本流程和方法,实现与硬件的通信和数据交互。
(2)能力目标
从需求分析、方案设计、硬件搭建到软件编程和系统调试的完整过程,培养工程实践能力和项目管理能力;培养团队协作精神和沟通能力,能够在小组中分工合作,共同完成实验任务。
(3)素质目标
让学生认识到科技对改善人们生活和健康的重要作用,增强学生的社会责任感和使命感;通过实验的成功,培养学生的自信心和成就感,提高学生的学习积极性和主动性。
教学设计与实施进程
智能药盒项目的教学设计与实施进程,包含多个阶段,引导学生完成从理论到实践的学习。
(1)课程导入(课内2学时)
介绍智能医疗背景,展示智能药盒的应用案例,激发学生兴趣。讲解实验目的、意义和要求,明确教学目标。
(2)知识点学习(课外3课时)
STM32 单片机基础:了解 STM32 系列单片机的特点、架构和开发环境(Keil MDK),查阅GPIO、定时器、串口通信等基本外设的使用。
传感器原理与应用:温湿度传感器、PM 传感器、心率血氧传感器、药盒盖检测传感器的工作原理、接口电路和数据采集方法。
蓝牙通信技术:蓝牙通信协议和工作模式,HC - 05 蓝牙模块的使用方法和配置过程。
移动 APP 开发基础: Android 开发环境(Android Studio), Android 应用的基本架构、界面设计和数据交互方法。
(3)方案设计(课内2学时)
进行小组讨论,根据实验要求和所学知识,设计智能药盒的硬件电路和软件程序架构。绘制硬件电路图,编写软件流程图,确定各个模块的功能和接口。每个小组进行方案汇报,教师进行点评和指导,帮助学生完善设计方案。
(3)硬件搭建(课外3学时)
根据设计方案,选择合适的电子元件,在面包板上搭建智能药盒的硬件电路。对硬件电路进行测试,确保各个传感器和模块能够正常工作。
(4)软件编程(课外2学时)
根据软件流程图,使用 Keil MDK 编写 STM32 单片机的程序,实现传感器数据采集、时钟控制、药盒盖状态检测和提醒功能。使用 Android Studio 开发移动 APP,实现服药计划设置、数据显示和蓝牙通信功能。
(5)系统调试与优化(课内2学时)
将硬件和软件进行集成,对整个智能药盒系统进行联合调试。测试系统的各项功能,如服药提醒、数据采集、APP 交互等,发现并解决系统中存在的问题。根据测试结果,对系统进行优化和改进,提高系统的稳定性和可靠性。
(6)项目展示与评价(课内2学时)
每个小组进行智能药盒项目的展示,介绍项目的设计思路、实现功能和创新点。其他小组进行提问和交流,共同学习和分享经验。对各个小组的项目进行评价和总结,指出存在的问题和不足,提出改进建议和未来发展方向。
实验原理及方案
(1)实验原理
①核心控制原理
采用 STM32 单片机作为核心控制器,它具备强大的数据处理能力和丰富的外设接口。通过对其编程,可实现对各个模块的精确控制和数据交互。利用内部时钟电路提供精确的时间基准,以此为依据进行服药时间的判断和提醒。
②传感器检测原理
药盒盖状态检测:运用霍尔传感器,当药盒盖打开或关闭时,会使磁场发生变化,霍尔传感器根据磁场变化输出不同的电平信号,STM32 单片机读取该信号,从而判断药盒盖的状态。
温湿度检测:选用 DHT11 等温湿度传感器,其内部集成了感湿元件和测温元件,能将环境中的温湿度转换为数字信号,通过单总线协议与 STM32 进行通信。
PM2.5 和 PM10 检测:如 GP2Y1010AU0F 传感器,基于光学散射原理,当空气中的颗粒物通过检测区域时,会使光线发生散射,传感器通过检测散射光的强度来计算颗粒物的浓度,并将模拟信号转换为数字信号传输给 STM32。
心率血氧检测:以 MAX30102 传感器为例,采用光电容积脉搏波描记法(PPG)。通过发射特定波长的光到人体组织,再检测反射或透射回来的光信号,根据光信号的变化来计算心率和血氧饱和度。
③通信原理
蓝牙通信:使用 HC - 05 蓝牙模块,遵循蓝牙通信协议。它可以与 STM32 单片机进行串口通信,将采集到的数据发送到与之配对的移动 APP 上,同时也能接收 APP 发送的指令,实现数据的双向传输。
④提醒原理
当到达预设的服药时间且药盒盖未打开时,STM32 控制蜂鸣器发出声音或震动马达震动,以提醒患者服药。
(2)实验方案
①硬件方案
核心控制模块:选择合适的 STM32 开发板,如 STM32F103C8T6,连接时钟电路,为系统提供稳定的时钟信号。
传感器模块:将药盒盖检测传感器、温湿度传感器、PM2.5 和 PM10 传感器、心率血氧传感器分别连接到 STM32 的相应 GPIO 引脚,确保信号能够准确传输。
显示模块:可使用 12864 液晶显示屏,通过 GPIO 模拟串口通信协议与 STM32 连接,用于显示当前时间、温湿度、服药信息等。
提醒模块:将语音报警模块或蜂鸣器或震动马达连接到 STM32 的 GPIO 引脚,由单片机控制其工作。
通信模块:将 HC - 05 蓝牙模块与 STM32 的串口引脚相连,实现与移动 APP 的通信。
电源模块:采用电池或外接电源适配器为整个系统供电,确保电源稳定可靠。
② 软件方案
STM32 程序设计
初始化:对 STM32 的各个外设进行初始化,包括 GPIO、时钟、串口、定时器等。
传感器数据采集:编写程序定时读取各个传感器的数据,并进行处理和校准。
服药时间判断:根据内部时钟和预设的服药时间进行比较,当时间到达时触发提醒功能。
蓝牙通信:实现与蓝牙模块的通信协议,将采集到的数据发送到 APP 上,并接收 APP 发送的指令。
移动 APP 设计
界面设计:设计简洁美观的用户界面,包括服药时间设置、次数设置、粒数设置、数据显示等功能模块。
蓝牙连接:实现与 HC - 05 蓝牙模块的配对和连接,确保数据能够正常传输。
数据处理与显示:对接收到的数据进行处理和分析,并以直观的方式显示在界面上,如图表、数字等。
数据存储:将采集到的健康数据和环境数据存储到本地数据库,方便用户查看历史记录。
(3)设计样例
本设计采用模块化设计的方法,以单片机为核心设计一种智能药盒。采用电源模块为整个系统提供稳定直流电源,采用时钟模块负责计算当前实时时间,显示模块负责时间及其他参数的显示,蜂鸣器接收单片机发送来的信号完成声音信号的提醒,重量采集模块检测药盒是否有药,智能感应模块在吃药时间到后检测药盒是否打开,温湿度采集模块检测当前药盒环境,吃药时间到后报警模块进行声光提醒,通过按键还可以设置吃药的数量和种类。系统设计方案如图 1 所示。

图1 系统设计框图
智能药盒的整体硬件接线图如图 2 所示。

图2 系统硬件连接图
主控模块采用了 STM32F103C8T6 单片机。该单片机具有较高的计算能力和处理速度。核心板有 40 个可用引脚进行输出,另外还有程序下载口和单片机单独供电电源口。同时具有丰富的外设,包括多个通用 IO 口、定时器、串口、SPI、I2C 等,方便与其他设备进行通信和交互。STM32 特点:①STM32C8T6 系列的起振晶部分采用RTC,低负载的方式,而没有像传统的比较廉价的圆柱晶振。②工作频率为 72MHz。③具有 3 个普通定时器和1个高级定时器。④具有2个2位 /16 通道的 ADC 模数转换。⑤使用了 3.3V 稳压芯片,可以保证最大输出300mA电 流。⑥支持 ST-LINK和JTAG调试下载。存储资源为64kb byte FLASH和20byte Sram。
时钟模块采用了 DS1302 芯片,该芯片是一款高性能、低功耗的实时时钟芯片,附加31字节静态 RAM,采用SPI 三线接口与 CPU 进行同步通信,具有掉电保存,当给电路断电的时候时钟电路有一个电子,通过二极管单向导通可以使时钟保持行走。可以实时显示当前时间,并且不需要每次开机重新设置。
温湿度采集模块采用了DHT11 数字温湿度传感器,该传感器具有极高的可靠性与稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能 8 位单片机相连接。主要负责检测当前药盒所处环境的温湿度。以供使用者实时了解当前环境是否还能继续放置药物。具体流程图如图 3 所示。

图3 温湿度采集流程图
显示模块采用LCD,它具有体积小、功耗低、超薄等优点,被广泛用于各种电子产品中。所以本文采用了液晶屏,液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,通电后就可以显示出图形、文字。
无线传输模块采用 ESP8266 无线串口模块作为数据发送模块。ESP8266 模块是一款超低功耗的 UART-WiFi透传模块,功能非常强大,通信距离很远,价格低,体积小,方便嵌入任何产品,功能强大内部跑 LWIP 协议,支持 AP,STA,AP+STA 三 种 模 式,简洁高效的AT指令。ESP8266 无线模块工作电压是 3.3V,单片机5V 电压满足其工作电压要求,而且体积很小,价格非常便宜。在本次设计中用于单片机和手机之间的无线通信,通过WiFi 模块,单片机将温湿度和药品重量值发送给手机端,最后显示在 APP 上。
具体流程为首先初始化波特率为 115200,配置 WiFi 模式为 AP 热点模式,设置 WiFi名称和密码,通过串口把指令发送出去,建立多路连接模式(可由一个或者是多个 ESP8266向手机端发送数据),配置端口号为 8080,开始发送数据,发送完成。
手机 APP 模块,可以远程进行时间设置和药物名称和数量的设置,并同步于药盒。在药盒到达吃药时间或药物缺少时手机 APP 将会进行智能语音播报,还可同时远程关闭药盒警报。具体操作流程为:①进入手机 APP 连接药盒自带WiFi。②点击连接与药盒进行连接。③进行时间以及药物设置。④点击传输将设置数据同步于药盒。⑤在到达吃药时间后点击已经吃药关闭所有报警。
软件所实现的功能是:首先 WiFi 模块串口初始化,DHT11 温湿度传感器初始化采集当前环境温湿度,HX711压力采集当前药盒重量,DS1302 初始化完成后显示当前的时间,并实时地显示在 LCD1602 上,在系统记录下3 次用药时间,调节好系统时钟后系统开始运行,在运行的过程中,报警模块进行声光报警提醒吃药,并且判断相应的数量和种类是否确定,同时智能感应模块开始运行检测药盒是否打开,打开后自动关闭报警。在这个过程的同时也实时检测当前药盒药物数量,当检测到药盒中药物缺失时便会发声光提醒,提醒使用者增添药物,并在增添药物后自动关闭报警。在打开手机APP并和药盒连接后,WiFi模块开始运行将所有数据传送至手机APP;当手机APP有新数据时,WiFi模块再次运行将数据同步至药盒。系统软件流程图如图4所示。

图4 系统软件流程图
实物如图5所示。

图5 实物图
手机APP如图6所示。




图6 手机APP设置
实验报告要求
实验报告需要反映以下工作:
(1)标题与摘要
标题:需简洁明了,准确反映实验主题,如 “基于 STM32 的智能药盒设计与实现”。
摘要:概括实验目的、方法、主要结果和结论,篇幅控制在 200 - 300 字。内容要突出实验的创新点和关键成果,让读者快速了解实验的核心内容。
(2)引言
研究背景:阐述智能药盒在医疗健康领域的重要性,介绍当前智能药盒的发展现状,分析现有产品存在的问题或不足,说明开展本实验的必要性。
实验目的:清晰、具体地描述实验想要达成的目标,如设计并实现一个具有服药提醒、健康和环境数据监测功能的智能药盒,掌握 STM32 单片机、传感器及移动 APP 开发等相关技术。
(3)实验原理
核心控制原理:介绍 STM32 单片机的工作原理,说明其在智能药盒系统中的核心作用,以及如何通过编程实现对各模块的控制。
传感器原理:分别阐述药盒盖状态检测传感器、温湿度传感器、PM2.5 与 PM10 传感器、心率血氧传感器的工作原理,包括传感器的类型、工作方式、输出信号等。
通信原理:讲解蓝牙通信协议在智能药盒系统中的应用,说明 STM32 单片机与移动 APP 之间如何通过蓝牙模块进行数据传输。
提醒原理:解释系统如何根据预设的服药时间和药盒盖状态,触发提醒功能。
(4)实验方案
①硬件方案
硬件选型:列出实验所使用的主要硬件设备,包括 STM32 开发板、传感器、显示屏、蓝牙模块等,并说明选型的依据。
硬件电路设计:绘制详细的硬件电路图,标注各元器件的型号、参数和连接方式,对关键电路进行说明,如电源电路、传感器接口电路等。
②软件方案
软件架构设计:描述智能药盒系统的软件架构,包括 STM32 单片机程序和移动 APP 的整体框架,说明各模块之间的关系和数据流向。
程序设计思路:分别阐述 STM32 单片机程序和移动 APP 的设计思路,包括主要功能模块的实现方法、算法流程等。提供关键代码片段,并进行详细注释,说明代码的功能和实现原理。
(5)实验过程与结果
实验过程:按照实验的实际操作步骤,详细描述实验过程,包括硬件搭建、软件编程、系统调试等环节。记录实验过程中遇到的问题及解决方法,展示解决问题的思考过程和实践经验。
实验结果:以图表、数据等形式展示实验结果,如传感器采集到的温湿度数据、PM2.5 和 PM10 浓度数据、心率血氧数据等,以及服药提醒功能的测试结果。对实验结果进行分析和讨论,判断实验是否达到预期目标。
(6)总结与展望
总结:对整个实验进行全面总结,回顾实验目的、方法和主要结果,分析实验的成功之处和不足之处,总结实验过程中获得的经验和教训。
展望:对智能药盒的未来发展方向提出自己的见解和建议,如进一步优化系统功能、提高数据准确性、拓展应用场景等。
(7)参考文献
列出在实验报告撰写过程中引用的参考文献,包括书籍、论文、网站等,按照规范的引用格式进行标注。
考核要求与方法
全面评估学生在理论知识、实践操作、团队协作等维度的表现。从多个方面制定考核要求与方法,具体考核要求与方法如下表所示。
| 考核内容 | 考核细则 | 考核方法 | 分值 |
系统功能实现情况 (50分) |
系统能够实现对温湿度检测和提示用药时间,小药盒开关可以通过内部软件设定,问题回答准确。(缺少一个功能扣5分)(基本要求) | 演示和答辩 | 30 |
| 系统能够现场通过检测心率、血氧,能够通过终端按键任意修改药盒提示时间,提示后可以自动开启对应小盒,问题回答准确。(缺少一个功能扣5分)(进阶要求) | 演示和答辩 | 10 | |
| 能够将数据显示在手机APP上,可以在手机APP上显示大气质量,问题回答准确。(缺少一个功能扣5分)(拓展要求) | 演示和答辩 | 10 | |
电路焊接情况 (20分) |
所有元器件均已焊接好,系统可以正常运行。 | 演示 | 10 |
| 元件布局整齐美观。 | 演示 | 5 | |
| 利用PCB板完成电路。 | 演示 | 5 | |
实验报告 (30分) |
实验报告内容完整、文字表达通顺。 | 纸质报告 | 10 |
| 实验过程记录详实,数据结果和问题分析具体。 | 纸质报告 | 10 | |
| 对方案优缺点以及方案改进有详细的阐述 | 纸质报告 | 10 |
项目特色或创新
(1)多场景功能融合:将服药提醒与健康、环境监测功能整合,可提醒用户按时服药,还能持续收集心率、血氧等健康数据以及环境温湿度、颗粒物浓度数据,实现对使用者健康的全方位守护,满足多样化健康管理需求。
(2)个性化定制体验:配套 APP 可自由设置服药时间、次数与粒数,可生成专属健康报告,方便用户复盘和调整健康管理策略,让健康管理更贴合个人习惯 。
(3)拓展性强:基于开源的 STM32 平台开发,预留多个接口,便于后续功能拓展,如添加血糖检测模块、疾病预警功能等,适应未来医疗需求变化。
12.教学特色与创新
(1)以实际应用项目为背景,激发学生学习兴趣;
(2)案例任务层次化,因材施教;
(3)学生自主选择器件,给学生发挥空间,培养创新能力;
(4)两次演示和答辩,注重过程化考核,实现多元化考核;
(5)全过程思政融入,激励引导学生顺利完成实验任务。