智能药盒的设计
2022-07-11吴双娥朱春桥崔海桃王锦荣
吴双娥 朱春桥 崔海桃 王锦荣
(吕梁学院物理系 山西省吕梁市 033000)
1 引言
慢性病患者由于病程较长,服药依从性差或服药不正确往往会导致患者疾病反复、病程延长,不仅花费了大量时间和费用,疾病仍然得不到有效的控制,还延误了治疗的最佳有效时机。因此设计一款具有定时语音提醒服药、可一对多的智能分配药物的药盒对于患有多种慢性疾病的家人至关重要,该药盒可避免其忘记服药、服药拖延、反复服药等状况,让患者准确无误的做到遵守医嘱按时服药。
目前国内外具有服药提醒功能药盒的发展历程,可以划分为三个阶段。简易药盒阶段:药盒设计的功能简单,仅有收纳药物和方便携带的功能,价格低廉,质量无法保证。普通药盒阶段:采用分离式设计,缩小了整体尺寸增大了有效空间,融入了服药提醒功能,为后来的智能药盒发展打下了基础。智能药盒阶段:融入互联网技术,新增智能提醒(短信、电话、APP 提醒)、远程监护、RFID 身份识别、服药状态反馈、Wi-Fi 功能。综上所述,现有的智能药盒只有提醒、监护的功能,不能自动分配药物和智能加热,并不能真正的做到便捷服药的目的。
针对以上研究现状,结合社会便捷服药的需要,对现有的智能药盒进行改进。本文设计的智能药盒能够实现服药精确提醒、药物管理、成员管理、药物自动分配、人机交互、智能加热等功能。具体功能如下:
(1)当检测到服药时间时,准确提醒该成员服药,当5 分钟内未前来服药,则重复提醒。
(2)成员管理包括成员指纹的录入、删除;服药信息的添加、查看、修改、删除。
(3)药物管理包括药物条形码的录入、删除,药物库存量的添加、查看,药物库存量不足提醒。
(4)当家人按下有效指纹时,根据数据库储存的成员服药信息控制药盒转盘进行精准分配各种药物。
(5)通过语音引导、气温提醒、键盘控制和OLED 屏显示参数,从而实现人机交互。
(6)智能加热,在服药前1 小时自动打开饮用水加热器,加热到100℃后,进入保温阶段(40~45℃),当所有成员服药完毕后,停止加热。
(7)“一对多服务”:能够提醒并识别不同的人服药,进而自动分配不同的药物。
(8)管理员模式,设置成员信息和药物信息,并且将信息分区存储在EEPROM 中。
2 硬件系统设计
本设计的硬件结构如图1 所示,以STM32 单片机为主控芯片,外部扩展指纹识别传感器识别家人的身份,然后控制舵机转盘分配相应的药物,从而达到“一对多服务”的目的;条形码识别模块将不同药物的条形码录入到系统中,从而达到精准管理药物的目的;语音模块负责语音引导用户操作,显示模块负责显示时间、温度、服药参数等信息,按键模块负责实现各个参数的设定,从而达到人机交互的目的;存储模块负责存储成员的服药参数和药物信息,采用支持掉电不丢失数据的EEPROM 芯片来存储信息,为了提高存储效率和方便管理信息,又采用数据分区存储技术。
图1:硬件结构示意图
2.1 人机交互单元
人机交互单元包括语音播报、控制键盘、OLED 屏、测温电路。管理员模式下,语音引导用户操作和气温提醒(低于15℃时提醒家人注意防寒保暖);键盘设置或修改参数(服药信息、药物信息、系统时间和管理员密码);OLED屏显示参数。控制键盘的按键功能如图2 所示,其中包含数字0~9 键、确定/取消键、Home 键、管理员键、附加功能键KS1/KS2。
图2:控制键盘的功能
2.2 服药录入及药物分配单元
药物录入及分配单元由条形码识别传感器和舵机转盘组成。条形码传感器负责将药物条形码录入系统,并且为每种药物设定一个独立的ID。舵机转盘的结构如图3 所示,不同层的转盘之间独立旋转,同层转盘放同种药物,药物通过隔板分开,舵机旋转一次则分配1 粒药物,最后药物都落入盛药杯,等待服药成员取出。
图3:舵机转盘结构示意图
2.3 智能加热单元
智能加热单元由温度传感器、加热器和水箱组成。药盒在服药前1 小时打开加热器,进入加热阶段,单片机GPIOC(13)引脚控制继电器打开加热器加热水箱里的水,待水温达到100℃时进入保温阶段,将温度维持在40~45℃。当所有的成员完成了本次服药后,则停止智能加热单元工作。
2.4 数据存储单元
数据存储单元采用AT24C04 的EEPROM 芯片,储存空间是4KB,512 字节,与单片机IIC 通信接口相连,用来保存服药信息、药物信息、药物库存、管理员密码和标志位等数据。
3 软件系统设计
3.1 主程序设计
主程序循环检测是否到加热时间和服药时间、是否按下管理员按键、气温是否低于15℃。当检测到对应的响应后,则进入相应的操作。此外在管理员界面按下K4 按键后,进入系统设置界面,可以修改系统时间、管理员密码和格式化数据库。
3.2 成员管理设计
成员管理包括成员指纹管理和服药信息管理。在管理员界面按下K1 按键,进入指纹管理界面,如图4,可以录入和删除成员指纹,录入指纹时需要为该指纹设定一个有效的ID 号;删除该指纹时需要通过键盘输入成员ID 号进行删除。当按下K3 按键后,进入显示成员界面,输入成员ID 号后进入服药信息管理界面,如图5 所示,可以添加、查看和删除成员的服药信息,添加成员服药信息时需要依次输入药物ID 号、服药次数、服用药量、服药时间,按下确认键后,自动将服药信息存储在EEPROM 中;查看成员服药信息时,可以按下KS1/KS2 按键,进行上下翻页查看该服药成员的所有服药信息;删除服药信息时,管理员通过输入药物ID号后按下确认键进行删除该服药信息。
图4:指纹管理界面
图5:服药信息管理界面
3.3 药物管理设计
药物管理包括药物录入和删除、药物库存管理。在管理员界面按下K2 按键后,进入药物管理界面,如图6 所示。按下K1 按键后,可以通过按KS1/KS2 按键上下翻页查看药物库存信息(药物条形码、药物ID 号和药物库存量);再次按下K2 按键时,可通过扫描药物包装上的条形码进行录入药物信息,随后为该条形码输入一个有效的药物ID 号和初始库存量;按下K3 按键时,可以扫描条形码或者输入药物ID 号进行删除药物;按下K4 按键时,可以通过扫描条形码或者输入药物ID 号进行添加药物库存量,当输入添加库存量为0 时,即为清空该药物库存量。当库存量不足10粒时,语音提醒该药物库存量不足。
图6:药物管理界面
3.4 服药提醒及药物分配设计
当未到服药时间按下指纹时,OLED 屏幕会显示该成员ID 号和每次服药时间,并提醒该成员未到服药时间。当检测到服药时间时,语音精准播报该成员服药(播报时间60秒),5 分钟内未前来录入指纹,则重复播报。当该成员录入有效指纹时,OLED 屏幕显示服药成员ID 号、药物ID 号、服用药量,只有当药物库存量大于分配量时,单片机才会控制相应的舵机转盘分配药物,反之语音提醒该药物库存量不足。转盘旋转一个单位角度就分配一粒药物,待分配完毕后再更新EEPROM 中的库存量,若此时气温低于15℃,则语音提醒成员注意防寒保暖。
3.5 数据存储设计
为了提高处理数据的效率和延长存储芯片的使用寿命,采用EEPROM 分区储存技术,把AT24C04 芯片的512字节储存空间划分为5 个区域,分别是成员服药信息区、药物条形码区、药物库存区、管理员密码区、状态标志位区。这五个储存区域互不干扰,当储存内容为0xff时,代表该储存单元为空,所以删除某个区域的信息时,需将该储存单元赋值0xff。AT24C04 芯片储存区的划分如图7 所示。
图7:AT24C04 芯片储存区的划分图
(1)成员服药信息区:地址是第0~249 字节区,共250 个字节,每名成员存储空间为25 字节,最多储存10 名,每名成员最多服用5 种药。该区主要存放成员服药数据,每种服药信息的存储空间依次存放药物ID 号、服药周期、药量、服药时间。成员服药信息区在EEPROM 中的存储方式如图8 所示。
图8:成员服药信息区
(2)药物条形码区:地址是第250~489 字节,共240个字节,最多存储8 个条形码,每个条形码的存储空间为30 字节。该区主要存放药物条形码长度和数据,每个条形码的存储空间依次存放条形码长度、条形码数据。药物条形码区在EEPROM 中的存储方式如图9 所示。
图9:药物条形码区
(3)药物库存区:地址是第490~497 字节,共8 个字节,最多存储8 个条形码,每种药物库存量存储空间为1 字节。该区主要存放每种药物的库存量。药物库存区在EEPROM中的存储方式如图10 所示。
图10:药物库存区
(4)管理员密码区:地址是第500~505字节,共6个字节,该区主要用来存放6 位管理员密码,每位密码位存储占用一个字节。管理员密码区在EEPROM 中的存储方式如图11 所示。
图11:管理员密码区
(5)状态标志位区:地址是第506~507字节,共2个字节,该区主要用来存放数据库标志位、管理员密码标志位。当数据库标志位为0xff时,代表数据库为空;当数据库标志位为0xfe 时,代表数据库不为空。当管理员密码标志位为0x01 时,代表用户未修改过出厂密码;当管理员密码标志位为0x00时,代表用户修改过出厂密码。状态标志位区在EEPROM中的存储方式如图12 所示。
图12:状态标志位区
4 实物调试
根据以上硬件电路和设计思想,焊接出样板机,已完成上述功能的调试工作,实物如图13 所示。智能药盒的服药提醒、药物分配、库存量不足提醒(分配药物时提醒、待机时提醒)的测试结果如表1 所示(注:每种药物初始库存量为10 粒)。从表1 服药功能测试结果可知,智能药盒能够准时提醒家人服药。药物初始库存量为10 粒,ID 号为00、01、02 号的服药成员满足分配条件(库存量>分配量),所以最后可以完成药物的分配,待分配结束后,刷新EEPROM 中的药物库存信息,当药物库存量低于10 粒时,在待机界面,通过语音提醒药物ID 号的库存量不足。服药成员ID 号为03、04 号的药物库存量小于药物分配量,不满足分配条件,所以在分配药物时,语音提醒该药物ID 号的库存量不足,药物分配失败,但此时药物库存量还是10 粒,所以待机界面不提醒药物库存量不足。
图13:样板机实物图
表1:服药功能测试结果
5 结论
本设计的药盒设有成员管理、药物管理、系统设置、药物分配、气温提醒、服药提醒、智能加热、数据存储功能。
针对传统智能药盒的以下不足:
(1)缺乏服药的加热系统,服药不够便捷。
(2)药物的管理比较简单,只是手动输入药物ID 进行管理。
(3)只能一对一服务,不适合多人场所。
本设计的创新点有:
(1)智能加热和药物自动分配系统相结合,让服药过程更加便捷。
(2)运用条形码识别技术管理药物,同时运用EEPROM 数据分区技术,提高数据管理效率和延长器件寿命。
(3)运用指纹识别、语音提醒和药盒转盘,实现一对多服务。
经过多次测试,该智能药盒能够按照预先设定的服药时间自动打开加热系统并准确播报成员服药信息,当家人录入有效指纹时,能够精准识别身份并按照用户设定的服药清单控制舵机分配药物。本产品成本低,且易操作,更能被大众所接受,它可运用于养老院、养老社区、家庭等场所,具有极大的市场价值和研发价值。