張麗芳 楊林 田開坤
摘要 本文主要闡述的是一種基于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