基于STM32与VS1053B的智能语音药盒设计

2017-10-10 22:48张丽芳杨林田开坤
科学家 2016年14期

张丽芳 杨林 田开坤

摘要 本文主要阐述的是一种基于STM32单片机和VS1053B解码芯片,采用模块化结构设计的智能语音药盒。与普通的药盒相比,本设计考虑更多的是病患的老年化导致记忆力的减退,无法按照准确的医嘱服药,所以增加了语音提醒功能,内置有音频生成软件生成的医嘱音频。同时為了减少医护人员的工作量,通过SD卡内置参数配置文件clock.ini来设定闹钟功能,针对不同的医嘱配置不同的闹钟参数。

关键词 智能药盒;STM32;VS1053B

中图分类号 TN409 文献标识码 A 文章编号 2095-6363(2016)14-0040-01

经过多项调查发现,患者的自护技能远远没有达到预期要求,同时由于老龄患者记忆力的减退,使每次健康教育后的记忆衰减期大大缩短,这是一个巨大的反差。目前,市场上出现的药盒大部分只有储存功能,少部分药盒加上了闹钟功能。为了使患者能够用最简单的方法,提高在自我护理技能中最重要的一项技能——遵从医嘱服药,使患者更方便的参与自我护理,对加强老年病患的自我护理能力具有十分重要的研究价值和实际意义。

1系统简介及工作原理

系统的工作原理参考实用新型专利“家用智能药箱”的设计方案,如图1所示。本实用型家用药箱箱盖上设有显示器、控制按钮和喇叭,箱内设有固定药品放置槽和活动药品防止槽。本实用型药箱结构简单,能灵活分区贮存摆放药品,外出携带方便,具有闹钟、语音提醒和健康教育功能。

智能语音药盒系统是由STM32F103RCT6单片机模块、音频解码模块、功放模块、SD卡模块、OLED显示模块、USB模块组成,其系统结构框图如图2所示。显示模块上显示日期时间和闹钟,按键模块共设置7个按键,其中通过key1~key3按键控制日历时间的校准,key4~key6为健康教育播放按键,key7按键为重复播放按键,重复上一个闹钟对应的医嘱音频的播放。当设定的闹钟时间到了后,喇叭会播放当前闹钟对应的医嘱音频,想收听健康教育音频,可以通过key4~key6选择相应的音频。医护人员可以通过药盒上的USB接口连接电脑对SD卡进行文件的存储或删除。

2硬件设计

MUC采用的STM32F103RCT6芯片,其具有高性能、低成本、低功耗等特点。解码芯片选择的是VSl053B,该芯片是由荷兰VLSI公司出品的一款单芯片MP3/WMA/MIDI/WAV音频解码和ADPCM编码芯片。功放模块使用的是TPA2008D2放大器,TPA2008D2是德州仪器公司生产的第三代5V-D类放大器。显示模块采用的是OLED,显示屏只需要显示时间日期和闹钟,选用尺寸较小的OLED作为显示屏。

3软件设计

3.1主程序

单片机不停地扫描按键是否按下,来选择不同的操作。检测到keyl按下,控制日历时间的位选;检测到key2按下,控制位选单位增加,超过该单位设定的最大值就返回到最小值;检测到key3按下,控制位选单位的减少,低于该单位设定的最小值就返回到最大值。检测到key4~key6按下,分别对应健康教育音频的播放;检测到key7按下,药盒会重复播放上该闹钟的医嘱音频。当检测到设定的闹钟时间到了,就会播放对应的医嘱文件提醒病患如何吃药。如果需要重复播放该医嘱,则可以通过按键key7控制。

3.2闹钟程序

闹钟程序则是设计一个闹钟模板函数,不断地读取INI文件的section参数:星期、时间、音频文件编号。医护人员可以根据医嘱要求任意设置多个INI文件的section,闹钟程序不断读取INI文件中的section参数,配置多个闹钟。医护人员可以根据INI文件模板设定参数配置文件clock.ini,将其内置sD中,程序就会自动读取参数来设定闹钟,INI文本文件模板如下:

[alarm one]

Week=Monday

Alarm=8:10

Number=01

[section2 Name]

KeyName1=value1

KeyName2=value2

KeyName3=value3

……

3.3音频程序设计

本程序设计中最主要的是音频播放程序,音频文件存放在SD卡,分别为健康教育音频文件和医嘱音频文件。健康教育音频通过按键控制播放的选择,医嘱音频的播放,则是通过当前闹钟中设置的音频号来控制。当需要播放音频时,STM32单片机将音频文件发送到VS1053B解码,循环发送32B到VS1053B的数据缓冲区,直到数据完全发送完为止。医护人员除了通过录音生成医嘱音频外,还可以将医嘱文字输入到音频合成软件中,选择合适的语速,生成不同的医嘱音频,然后将其下载到该病人智能药盒的SD卡中,医嘱合成图如图2所示。

4结论

本系统充分利用STM32单片机和VS1053B解码芯片的特性,同时通过模块化的设计,将软硬件结合,成功实现了预期的功能。采用SD卡内置参数配置文件clock.ini,程序就能自动读取INI文件的参数,快速的设定不同病患的闹钟医嘱,也减少了医护人员的工作量。医护人员提前设定好医嘱闹钟,方便老人病患独立使用。语音播放功能,能够准确地提醒病患按时按量吃药,健康教育功能可以提高病患的自我护理能力,加强疾病的防范意识。endprint