多功能智能药盒

文章目录[隐藏]

多功能智能药盒

本设计选取的主控芯片是 STM32F103C8T6 最小单片机系统,利用蓝牙模块实现智能药盒与手机 APP 之间的通讯,达到数据同步和控制。而 APP 的主要功能是服药时间的设定、管理药盒实时采集的用户服药情况以及环境温湿度信息显示等。系统功能框图
硬件设计方案
采用电子元件、材料简单化的操作,如采用 LED 灯、蜂鸣器及纽扣开关的方式来代替药盒,LED 灯亮蜂鸣器报警代表服药时间到,纽扣向下拨动则代表药盒打开,向上拨动代表药盒关闭。因此,根据主要的设计思路,本设计的蓝牙药盒主要有八个电路模块模块的设计,其中最主要为中央控制电路,另外还有 HC-05 蓝牙数据收发电路、OLED显示电路、蜂鸣器驱动报警电路、LED 灯提醒电路、拨动开关采集电路、电源及降压电路、温湿度传感器采集电路
请添加图片描述
原理图
请添加图片描述
APP 及软件方案设计
根据本作品的设计思路 APP 程序主要实现了在药盒外部设置服药时间、药物相关信息以及查看用户的服药历史。这样方便了用户的使用,同时保证用户的人身安全。其具体的工作流程是:首先启动手机 APP,这样就能进去到 APP 主界面。其次点击“连接”对话框,APP 系统就会切换到蓝牙查找界面,点击右上角的“搜索”栏目,找到多功能药盒的蓝牙设备并进行连接,若连接成功,则提醒“设
备连接成功”并可以进行下一步操作,否则手机 APP 提示“设备未连接成功”并不能进行下一步操作。再次输入各药盒的服药时间,并点击“设置药盒 1、2、3”等按钮,再点击“同步”按钮,这样就完成了服药时间的设置,同时可以在手机 APP界面和多功能药盒的 OLED 屏幕看到各药盒的服药时间。最后,当用户服药成功后,可以在历史记录栏查看到用户的服药状态,如药盒 1 在 20 点 20 分被打开,
表示用户在这个时间点进行服药。
在这里插入图片描述
硬件程序部分设计
STM32 主控芯片的代码编写是使用 Keil5 开发平台,总体的设计流程为启动电源开关后,单片机首先会对各串口和定时器进行初始化,检测 HC-05 蓝牙模块是否于 APP 连接,检测为“否”则 APP 会进行提示“未连接设备”并且蓝牙模块指示灯会处于闪烁状态。当系统检测到通讯后,可以与手机 APP 进行数据传输的,进入主程序运行。此时用户可以在 APP 上设置药盒的服药时间以及同步当前时间、温湿度等信息。然后,系统比对 APP 设定吃药时间与手机系统时间,若两者时间一致时,系统则会采集模拟药盒的开关当前的情况,否则跳过当前的
检测步骤,直接到下一步骤。接下来,设定服药时间到时,然后与多功能药盒本身的 RTC 时钟进行比对,若匹配一致的话,获取 RTC 时间,否则跳过获取 RTC时间。最后通过蓝牙模块将数据传统给 APP,若当服药时间到,则驱动蜂鸣器报警、LED 灯亮起,同时 OLED 屏幕显示相应的信息等,否则不驱动其相关硬件模块,并且主系统继续循环。该部分的核心是利用 RTC 计时与蓝牙模块通信使用,以下是蓝牙模块的通信流程图。
在这里插入图片描述
HC-05 蓝牙模块通过串口进行数据的收发,而 STM32 主控芯片利用定义引脚,然后就可以与蓝牙模块连接并进行无线通信,整个通信和数据收发的流程如下所述:首先多功能药盒系统通过蓝牙模块与手机 APP 软件连接,双方连接成功后,就可以通过系统软件程序设计串口互相收发相关数据。其中,手机 APP利用 HC-05 蓝牙模块和 STM32 单片机进行通信是利用编写串口中断函数程序来实现的。以下是连接并利用 RTC 进行配置计时的中断函数,接收移动端发送过来三个药盒的定时信息。
实现效果
首先点击智能药盒 APP 如图所示,启动药盒应用软件,同时接通多功能药盒的电源。观察 APP 主界面功能是否完整,确认一切无误后,进行功能的调试。点击“连接”按钮,进行搜索多功能药盒蓝牙设备,并观察智能药盒与 APP的连接情况。如果 APP 的与智能药盒成功连接,APP 则会进行提醒“设备连接成功”,否则就会显现“连接设备失败”,并且 APP 也没办进行下一步操作。

在这里插入图片描述
在这里插入图片描述
然后在设定服药时间区域按照格式输入服药时间,然后按下同步发送按钮,把服药时间信息发送至药盒,最后查看历史记录,看到刚才设定的服药时间信息,表明了 APP 一切功能运行正常。手机 APP 的主界面与服药时间设置界面如图。
在这里插入图片描述 进一步进行整体调试,在整体调试之前,先对电路板以及各模块之间的连接线路的检查,确保电路功能正常。使用了电压表,对电路中的导线以及元器件进行测试,通过测试,电压表均有示数,表示该设计电路部分一切正常,可以进行功能的调试。首先接通药盒的电源,与 APP 进行设备连接,同时在 APP 上设置服药时间时间并发送给多功能药盒。设定完成后,可以在 OLED 屏幕上查看到各药盒的服药时间,若与 APP 设定的一致,表示服药时间设定功能正常。同时按动屏幕切换按钮,查看了当前时间与温湿度等信息,完成显示功能的测试。这
一切检查完毕后,等待服药时间到达。当服药时间到达时,看到了对应药盒的LED 指示灯亮起并蜂鸣器发出声音,说明 LED 指示灯与蜂鸣器模块的提醒功能能正常工作。
在这里插入图片描述
最后,拨动开关并复位后,LED 指示灯熄灭以及蜂鸣器停止工作,如图所示。同时也能在 APP 历史界面中查看到“药盒 1、药盒 2、药盒 3 在 07:42 被打开过”表示用户在这时间进行服药,如图 4-9 所示。通过上面的操作验证了整个服药过程,验证了硬件部分的工作流程正常。经过 APP 以及整体的调试,本产品的一切功能工作正常,达到设计标准和要求。
在这里插入图片描述在这里插入图片描述

版权声明:本文为CSDN博主「心灵的肖像」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44015344/article/details/120766917

生成海报
点赞 0

心灵的肖像

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于STM32F103的智能门锁系统

基于STM32F103的智能门锁系统 直接说明实现了什么效果 1 指纹解锁(基于AS608) 2 RFID解锁(基于RC522) 3 密码解锁 (基于LCD电容屏触摸控制) 4 蓝牙解锁

4路红外循迹模块使用教程

4路红外循迹模块使用教程 个人原创博客:点击浏览模块详细信息: 工作电压:DC 3.3V~5V 工作电流:尽量选择1A以上电源供电 工作温度:-10℃~50℃ 安装孔

HAL库串口中断

一,配置串口初始化 void MX_USART1_UART_Init(void) {huart1.Instance USART1;huart1.Init.BaudRate 115200;huart1.Init.WordLen