吳雙娥 朱春橋 崔海桃 王錦榮
(呂梁學(xué)院物理系 山西省呂梁市 033000)
慢性病患者由于病程較長(zhǎng),服藥依從性差或服藥不正確往往會(huì)導(dǎo)致患者疾病反復(fù)、病程延長(zhǎng),不僅花費(fèi)了大量時(shí)間和費(fèi)用,疾病仍然得不到有效的控制,還延誤了治療的最佳有效時(shí)機(jī)。因此設(shè)計(jì)一款具有定時(shí)語(yǔ)音提醒服藥、可一對(duì)多的智能分配藥物的藥盒對(duì)于患有多種慢性疾病的家人至關(guān)重要,該藥盒可避免其忘記服藥、服藥拖延、反復(fù)服藥等狀況,讓患者準(zhǔn)確無(wú)誤的做到遵守醫(yī)囑按時(shí)服藥。
目前國(guó)內(nèi)外具有服藥提醒功能藥盒的發(fā)展歷程,可以劃分為三個(gè)階段。簡(jiǎn)易藥盒階段:藥盒設(shè)計(jì)的功能簡(jiǎn)單,僅有收納藥物和方便攜帶的功能,價(jià)格低廉,質(zhì)量無(wú)法保證。普通藥盒階段:采用分離式設(shè)計(jì),縮小了整體尺寸增大了有效空間,融入了服藥提醒功能,為后來(lái)的智能藥盒發(fā)展打下了基礎(chǔ)。智能藥盒階段:融入互聯(lián)網(wǎng)技術(shù),新增智能提醒(短信、電話、APP 提醒)、遠(yuǎn)程監(jiān)護(hù)、RFID 身份識(shí)別、服藥狀態(tài)反饋、Wi-Fi 功能。綜上所述,現(xiàn)有的智能藥盒只有提醒、監(jiān)護(hù)的功能,不能自動(dòng)分配藥物和智能加熱,并不能真正的做到便捷服藥的目的。
針對(duì)以上研究現(xiàn)狀,結(jié)合社會(huì)便捷服藥的需要,對(duì)現(xiàn)有的智能藥盒進(jìn)行改進(jìn)。本文設(shè)計(jì)的智能藥盒能夠?qū)崿F(xiàn)服藥精確提醒、藥物管理、成員管理、藥物自動(dòng)分配、人機(jī)交互、智能加熱等功能。具體功能如下:
(1)當(dāng)檢測(cè)到服藥時(shí)間時(shí),準(zhǔn)確提醒該成員服藥,當(dāng)5 分鐘內(nèi)未前來(lái)服藥,則重復(fù)提醒。
(2)成員管理包括成員指紋的錄入、刪除;服藥信息的添加、查看、修改、刪除。
(3)藥物管理包括藥物條形碼的錄入、刪除,藥物庫(kù)存量的添加、查看,藥物庫(kù)存量不足提醒。
(4)當(dāng)家人按下有效指紋時(shí),根據(jù)數(shù)據(jù)庫(kù)儲(chǔ)存的成員服藥信息控制藥盒轉(zhuǎn)盤進(jìn)行精準(zhǔn)分配各種藥物。
(5)通過(guò)語(yǔ)音引導(dǎo)、氣溫提醒、鍵盤控制和OLED 屏顯示參數(shù),從而實(shí)現(xiàn)人機(jī)交互。
(6)智能加熱,在服藥前1 小時(shí)自動(dòng)打開(kāi)飲用水加熱器,加熱到100℃后,進(jìn)入保溫階段(40~45℃),當(dāng)所有成員服藥完畢后,停止加熱。
(7)“一對(duì)多服務(wù)”:能夠提醒并識(shí)別不同的人服藥,進(jìn)而自動(dòng)分配不同的藥物。
(8)管理員模式,設(shè)置成員信息和藥物信息,并且將信息分區(qū)存儲(chǔ)在EEPROM 中。
本設(shè)計(jì)的硬件結(jié)構(gòu)如圖1 所示,以STM32 單片機(jī)為主控芯片,外部擴(kuò)展指紋識(shí)別傳感器識(shí)別家人的身份,然后控制舵機(jī)轉(zhuǎn)盤分配相應(yīng)的藥物,從而達(dá)到“一對(duì)多服務(wù)”的目的;條形碼識(shí)別模塊將不同藥物的條形碼錄入到系統(tǒng)中,從而達(dá)到精準(zhǔn)管理藥物的目的;語(yǔ)音模塊負(fù)責(zé)語(yǔ)音引導(dǎo)用戶操作,顯示模塊負(fù)責(zé)顯示時(shí)間、溫度、服藥參數(shù)等信息,按鍵模塊負(fù)責(zé)實(shí)現(xiàn)各個(gè)參數(shù)的設(shè)定,從而達(dá)到人機(jī)交互的目的;存儲(chǔ)模塊負(fù)責(zé)存儲(chǔ)成員的服藥參數(shù)和藥物信息,采用支持掉電不丟失數(shù)據(jù)的EEPROM 芯片來(lái)存儲(chǔ)信息,為了提高存儲(chǔ)效率和方便管理信息,又采用數(shù)據(jù)分區(qū)存儲(chǔ)技術(shù)。
圖1:硬件結(jié)構(gòu)示意圖
人機(jī)交互單元包括語(yǔ)音播報(bào)、控制鍵盤、OLED 屏、測(cè)溫電路。管理員模式下,語(yǔ)音引導(dǎo)用戶操作和氣溫提醒(低于15℃時(shí)提醒家人注意防寒保暖);鍵盤設(shè)置或修改參數(shù)(服藥信息、藥物信息、系統(tǒng)時(shí)間和管理員密碼);OLED屏顯示參數(shù)??刂奇I盤的按鍵功能如圖2 所示,其中包含數(shù)字0~9 鍵、確定/取消鍵、Home 鍵、管理員鍵、附加功能鍵KS1/KS2。
圖2:控制鍵盤的功能
藥物錄入及分配單元由條形碼識(shí)別傳感器和舵機(jī)轉(zhuǎn)盤組成。條形碼傳感器負(fù)責(zé)將藥物條形碼錄入系統(tǒng),并且為每種藥物設(shè)定一個(gè)獨(dú)立的ID。舵機(jī)轉(zhuǎn)盤的結(jié)構(gòu)如圖3 所示,不同層的轉(zhuǎn)盤之間獨(dú)立旋轉(zhuǎn),同層轉(zhuǎn)盤放同種藥物,藥物通過(guò)隔板分開(kāi),舵機(jī)旋轉(zhuǎn)一次則分配1 粒藥物,最后藥物都落入盛藥杯,等待服藥成員取出。
圖3:舵機(jī)轉(zhuǎn)盤結(jié)構(gòu)示意圖
智能加熱單元由溫度傳感器、加熱器和水箱組成。藥盒在服藥前1 小時(shí)打開(kāi)加熱器,進(jìn)入加熱階段,單片機(jī)GPIOC(13)引腳控制繼電器打開(kāi)加熱器加熱水箱里的水,待水溫達(dá)到100℃時(shí)進(jìn)入保溫階段,將溫度維持在40~45℃。當(dāng)所有的成員完成了本次服藥后,則停止智能加熱單元工作。
數(shù)據(jù)存儲(chǔ)單元采用AT24C04 的EEPROM 芯片,儲(chǔ)存空間是4KB,512 字節(jié),與單片機(jī)IIC 通信接口相連,用來(lái)保存服藥信息、藥物信息、藥物庫(kù)存、管理員密碼和標(biāo)志位等數(shù)據(jù)。
主程序循環(huán)檢測(cè)是否到加熱時(shí)間和服藥時(shí)間、是否按下管理員按鍵、氣溫是否低于15℃。當(dāng)檢測(cè)到對(duì)應(yīng)的響應(yīng)后,則進(jìn)入相應(yīng)的操作。此外在管理員界面按下K4 按鍵后,進(jìn)入系統(tǒng)設(shè)置界面,可以修改系統(tǒng)時(shí)間、管理員密碼和格式化數(shù)據(jù)庫(kù)。
成員管理包括成員指紋管理和服藥信息管理。在管理員界面按下K1 按鍵,進(jìn)入指紋管理界面,如圖4,可以錄入和刪除成員指紋,錄入指紋時(shí)需要為該指紋設(shè)定一個(gè)有效的ID 號(hào);刪除該指紋時(shí)需要通過(guò)鍵盤輸入成員ID 號(hào)進(jìn)行刪除。當(dāng)按下K3 按鍵后,進(jìn)入顯示成員界面,輸入成員ID 號(hào)后進(jìn)入服藥信息管理界面,如圖5 所示,可以添加、查看和刪除成員的服藥信息,添加成員服藥信息時(shí)需要依次輸入藥物ID 號(hào)、服藥次數(shù)、服用藥量、服藥時(shí)間,按下確認(rèn)鍵后,自動(dòng)將服藥信息存儲(chǔ)在EEPROM 中;查看成員服藥信息時(shí),可以按下KS1/KS2 按鍵,進(jìn)行上下翻頁(yè)查看該服藥成員的所有服藥信息;刪除服藥信息時(shí),管理員通過(guò)輸入藥物ID號(hào)后按下確認(rèn)鍵進(jìn)行刪除該服藥信息。
圖4:指紋管理界面
圖5:服藥信息管理界面
藥物管理包括藥物錄入和刪除、藥物庫(kù)存管理。在管理員界面按下K2 按鍵后,進(jìn)入藥物管理界面,如圖6 所示。按下K1 按鍵后,可以通過(guò)按KS1/KS2 按鍵上下翻頁(yè)查看藥物庫(kù)存信息(藥物條形碼、藥物ID 號(hào)和藥物庫(kù)存量);再次按下K2 按鍵時(shí),可通過(guò)掃描藥物包裝上的條形碼進(jìn)行錄入藥物信息,隨后為該條形碼輸入一個(gè)有效的藥物ID 號(hào)和初始庫(kù)存量;按下K3 按鍵時(shí),可以掃描條形碼或者輸入藥物ID 號(hào)進(jìn)行刪除藥物;按下K4 按鍵時(shí),可以通過(guò)掃描條形碼或者輸入藥物ID 號(hào)進(jìn)行添加藥物庫(kù)存量,當(dāng)輸入添加庫(kù)存量為0 時(shí),即為清空該藥物庫(kù)存量。當(dāng)庫(kù)存量不足10粒時(shí),語(yǔ)音提醒該藥物庫(kù)存量不足。
圖6:藥物管理界面
當(dāng)未到服藥時(shí)間按下指紋時(shí),OLED 屏幕會(huì)顯示該成員ID 號(hào)和每次服藥時(shí)間,并提醒該成員未到服藥時(shí)間。當(dāng)檢測(cè)到服藥時(shí)間時(shí),語(yǔ)音精準(zhǔn)播報(bào)該成員服藥(播報(bào)時(shí)間60秒),5 分鐘內(nèi)未前來(lái)錄入指紋,則重復(fù)播報(bào)。當(dāng)該成員錄入有效指紋時(shí),OLED 屏幕顯示服藥成員ID 號(hào)、藥物ID 號(hào)、服用藥量,只有當(dāng)藥物庫(kù)存量大于分配量時(shí),單片機(jī)才會(huì)控制相應(yīng)的舵機(jī)轉(zhuǎn)盤分配藥物,反之語(yǔ)音提醒該藥物庫(kù)存量不足。轉(zhuǎn)盤旋轉(zhuǎn)一個(gè)單位角度就分配一粒藥物,待分配完畢后再更新EEPROM 中的庫(kù)存量,若此時(shí)氣溫低于15℃,則語(yǔ)音提醒成員注意防寒保暖。
為了提高處理數(shù)據(jù)的效率和延長(zhǎng)存儲(chǔ)芯片的使用壽命,采用EEPROM 分區(qū)儲(chǔ)存技術(shù),把AT24C04 芯片的512字節(jié)儲(chǔ)存空間劃分為5 個(gè)區(qū)域,分別是成員服藥信息區(qū)、藥物條形碼區(qū)、藥物庫(kù)存區(qū)、管理員密碼區(qū)、狀態(tài)標(biāo)志位區(qū)。這五個(gè)儲(chǔ)存區(qū)域互不干擾,當(dāng)儲(chǔ)存內(nèi)容為0xff時(shí),代表該儲(chǔ)存單元為空,所以刪除某個(gè)區(qū)域的信息時(shí),需將該儲(chǔ)存單元賦值0xff。AT24C04 芯片儲(chǔ)存區(qū)的劃分如圖7 所示。
圖7:AT24C04 芯片儲(chǔ)存區(qū)的劃分圖
(1)成員服藥信息區(qū):地址是第0~249 字節(jié)區(qū),共250 個(gè)字節(jié),每名成員存儲(chǔ)空間為25 字節(jié),最多儲(chǔ)存10 名,每名成員最多服用5 種藥。該區(qū)主要存放成員服藥數(shù)據(jù),每種服藥信息的存儲(chǔ)空間依次存放藥物ID 號(hào)、服藥周期、藥量、服藥時(shí)間。成員服藥信息區(qū)在EEPROM 中的存儲(chǔ)方式如圖8 所示。
圖8:成員服藥信息區(qū)
(2)藥物條形碼區(qū):地址是第250~489 字節(jié),共240個(gè)字節(jié),最多存儲(chǔ)8 個(gè)條形碼,每個(gè)條形碼的存儲(chǔ)空間為30 字節(jié)。該區(qū)主要存放藥物條形碼長(zhǎng)度和數(shù)據(jù),每個(gè)條形碼的存儲(chǔ)空間依次存放條形碼長(zhǎng)度、條形碼數(shù)據(jù)。藥物條形碼區(qū)在EEPROM 中的存儲(chǔ)方式如圖9 所示。
圖9:藥物條形碼區(qū)
(3)藥物庫(kù)存區(qū):地址是第490~497 字節(jié),共8 個(gè)字節(jié),最多存儲(chǔ)8 個(gè)條形碼,每種藥物庫(kù)存量存儲(chǔ)空間為1 字節(jié)。該區(qū)主要存放每種藥物的庫(kù)存量。藥物庫(kù)存區(qū)在EEPROM中的存儲(chǔ)方式如圖10 所示。
圖10:藥物庫(kù)存區(qū)
(4)管理員密碼區(qū):地址是第500~505字節(jié),共6個(gè)字節(jié),該區(qū)主要用來(lái)存放6 位管理員密碼,每位密碼位存儲(chǔ)占用一個(gè)字節(jié)。管理員密碼區(qū)在EEPROM 中的存儲(chǔ)方式如圖11 所示。
圖11:管理員密碼區(qū)
(5)狀態(tài)標(biāo)志位區(qū):地址是第506~507字節(jié),共2個(gè)字節(jié),該區(qū)主要用來(lái)存放數(shù)據(jù)庫(kù)標(biāo)志位、管理員密碼標(biāo)志位。當(dāng)數(shù)據(jù)庫(kù)標(biāo)志位為0xff時(shí),代表數(shù)據(jù)庫(kù)為空;當(dāng)數(shù)據(jù)庫(kù)標(biāo)志位為0xfe 時(shí),代表數(shù)據(jù)庫(kù)不為空。當(dāng)管理員密碼標(biāo)志位為0x01 時(shí),代表用戶未修改過(guò)出廠密碼;當(dāng)管理員密碼標(biāo)志位為0x00時(shí),代表用戶修改過(guò)出廠密碼。狀態(tài)標(biāo)志位區(qū)在EEPROM中的存儲(chǔ)方式如圖12 所示。
圖12:狀態(tài)標(biāo)志位區(qū)
根據(jù)以上硬件電路和設(shè)計(jì)思想,焊接出樣板機(jī),已完成上述功能的調(diào)試工作,實(shí)物如圖13 所示。智能藥盒的服藥提醒、藥物分配、庫(kù)存量不足提醒(分配藥物時(shí)提醒、待機(jī)時(shí)提醒)的測(cè)試結(jié)果如表1 所示(注:每種藥物初始庫(kù)存量為10 粒)。從表1 服藥功能測(cè)試結(jié)果可知,智能藥盒能夠準(zhǔn)時(shí)提醒家人服藥。藥物初始庫(kù)存量為10 粒,ID 號(hào)為00、01、02 號(hào)的服藥成員滿足分配條件(庫(kù)存量>分配量),所以最后可以完成藥物的分配,待分配結(jié)束后,刷新EEPROM 中的藥物庫(kù)存信息,當(dāng)藥物庫(kù)存量低于10 粒時(shí),在待機(jī)界面,通過(guò)語(yǔ)音提醒藥物ID 號(hào)的庫(kù)存量不足。服藥成員ID 號(hào)為03、04 號(hào)的藥物庫(kù)存量小于藥物分配量,不滿足分配條件,所以在分配藥物時(shí),語(yǔ)音提醒該藥物ID 號(hào)的庫(kù)存量不足,藥物分配失敗,但此時(shí)藥物庫(kù)存量還是10 粒,所以待機(jī)界面不提醒藥物庫(kù)存量不足。
圖13:樣板機(jī)實(shí)物圖
表1:服藥功能測(cè)試結(jié)果
本設(shè)計(jì)的藥盒設(shè)有成員管理、藥物管理、系統(tǒng)設(shè)置、藥物分配、氣溫提醒、服藥提醒、智能加熱、數(shù)據(jù)存儲(chǔ)功能。
針對(duì)傳統(tǒng)智能藥盒的以下不足:
(1)缺乏服藥的加熱系統(tǒng),服藥不夠便捷。
(2)藥物的管理比較簡(jiǎn)單,只是手動(dòng)輸入藥物ID 進(jìn)行管理。
(3)只能一對(duì)一服務(wù),不適合多人場(chǎng)所。
本設(shè)計(jì)的創(chuàng)新點(diǎn)有:
(1)智能加熱和藥物自動(dòng)分配系統(tǒng)相結(jié)合,讓服藥過(guò)程更加便捷。
(2)運(yùn)用條形碼識(shí)別技術(shù)管理藥物,同時(shí)運(yùn)用EEPROM 數(shù)據(jù)分區(qū)技術(shù),提高數(shù)據(jù)管理效率和延長(zhǎng)器件壽命。
(3)運(yùn)用指紋識(shí)別、語(yǔ)音提醒和藥盒轉(zhuǎn)盤,實(shí)現(xiàn)一對(duì)多服務(wù)。
經(jīng)過(guò)多次測(cè)試,該智能藥盒能夠按照預(yù)先設(shè)定的服藥時(shí)間自動(dòng)打開(kāi)加熱系統(tǒng)并準(zhǔn)確播報(bào)成員服藥信息,當(dāng)家人錄入有效指紋時(shí),能夠精準(zhǔn)識(shí)別身份并按照用戶設(shè)定的服藥清單控制舵機(jī)分配藥物。本產(chǎn)品成本低,且易操作,更能被大眾所接受,它可運(yùn)用于養(yǎng)老院、養(yǎng)老社區(qū)、家庭等場(chǎng)所,具有極大的市場(chǎng)價(jià)值和研發(fā)價(jià)值。