江達(dá)飛
【摘 要】針對(duì)老年人吃藥難的問(wèn)題,以TI低功耗單片機(jī)MSP430F5529為核心,結(jié)合RTC時(shí)鐘、SYN6288語(yǔ)言芯片、藍(lán)牙模塊等器件設(shè)計(jì)實(shí)現(xiàn)一種能夠按時(shí)提醒老人吃藥的智能藥盒。用戶(hù)可以通過(guò)按鈕對(duì)時(shí)間、日期和鬧鈴進(jìn)行設(shè)置,通過(guò)LED顯示屏了解老人的進(jìn)藥情況,同時(shí)也可以下載相應(yīng)的APP,使用手機(jī)與藥盒進(jìn)行連接,通過(guò)APP可以對(duì)藥物的食用方法及時(shí)間進(jìn)行詳細(xì)設(shè)置,也可以下載得到老人進(jìn)食藥物的相關(guān)日志。
【關(guān)鍵詞】MSP430F5529;定時(shí)提醒;藥盒
0 引言
中國(guó)老齡化問(wèn)題的日益嚴(yán)重,很多老年人隨著年齡的增長(zhǎng),記性會(huì)變得越來(lái)越差,按時(shí)吃藥成為了他們的一個(gè)難題,特別是一些孤寡、留守老人,由于沒(méi)有親戚好友的照顧,很難按時(shí)按量的吃下他們的藥物或保健品,特別是有些需要在不同時(shí)間吃不同的藥,那就變得更加艱難。智能交互藥盒專(zhuān)門(mén)針對(duì)這些老年人進(jìn)行設(shè)計(jì),是一種為了方便老年人服藥而設(shè)計(jì)的藥物存儲(chǔ)容器,它可以更好地解決高齡人群吃藥麻煩的問(wèn)題,根據(jù)對(duì)老年人每天吃藥的時(shí)間進(jìn)行定時(shí),來(lái)實(shí)現(xiàn)一天內(nèi)對(duì)老年人每天三次或更多次的定時(shí)提醒,提醒使用者服用多種藥物中的一種或多種,避免延期服藥、漏服、服藥量差錯(cuò)等導(dǎo)致的治療效果降低的問(wèn)題。
目前市場(chǎng)上已經(jīng)出現(xiàn)了一些與智能藥盒相關(guān)的產(chǎn)品,例如早期出現(xiàn)了一些便攜式的小藥盒,其造型簡(jiǎn)單,方便攜帶,但它們?nèi)萘枯^小,電路由分立式數(shù)字電路器件構(gòu)成,功能較為單一,而且功耗較大。近年來(lái)隨著單片機(jī)技術(shù)的快速發(fā)展,以單片為核心的大規(guī)模集成電路在電子藥盒中得到了廣泛的應(yīng)用,例如,Abiogenix公司開(kāi)發(fā)了一款名為UBOX的智能藥盒,它內(nèi)含14個(gè)分區(qū),每個(gè)分區(qū)儲(chǔ)存一次服用的藥物量。用戶(hù)設(shè)定好每次吃藥時(shí)間,一旦到達(dá)服藥時(shí)間后,它便會(huì)發(fā)出蜂鳴聲和燈光,提醒人們吃藥。同時(shí),它還能通過(guò)藍(lán)牙,發(fā)送提示信息到用戶(hù)的智能手機(jī),并且顯示最近的服藥時(shí)間和次數(shù)。
雖然國(guó)內(nèi)外已經(jīng)有了一些與智能藥盒相關(guān)的產(chǎn)品,但是他們面向的群體往往不是老年人,藥盒設(shè)置的方法較為復(fù)雜,老年人難以掌握;提示的方式往往使用蜂鳴器,信息過(guò)于單一,老年難以掌握藥物的服用劑量,另外當(dāng)藥物需要按不同次序被服用時(shí),這些藥盒都難以滿(mǎn)足要求。
1 工作原理及系統(tǒng)結(jié)構(gòu)
系統(tǒng)的設(shè)計(jì)方案如圖1所示,該系統(tǒng)使用電池進(jìn)行供電。主控芯片采用TI公司生產(chǎn)的低功耗系列芯片MSP430F5529;語(yǔ)音芯片使用SYN6288,用于提示用戶(hù)吃藥的類(lèi)別以及用量,單片機(jī)使用串口實(shí)現(xiàn)對(duì)SYN6288的控制;顯示單元采用OLED顯示屏,其能夠提供當(dāng)前的日期以及用戶(hù)進(jìn)食藥物的注意事項(xiàng)的顯示,采用SPI總線與單片機(jī)進(jìn)行連接;藍(lán)牙模塊使用HC-05藍(lán)牙轉(zhuǎn)串口芯片,使用戶(hù)可以使用手機(jī)APP對(duì)藥盒實(shí)現(xiàn)控制;聲光報(bào)警由LED燈及蜂鳴器所組成,在用戶(hù)發(fā)生誤操作或者是在規(guī)定的時(shí)間沒(méi)有按時(shí)服藥時(shí),結(jié)合語(yǔ)音模塊產(chǎn)生報(bào)警信號(hào)。
2 智能藥盒各模塊分析與設(shè)計(jì)
1)單片機(jī)最小系統(tǒng)模塊。單片機(jī)最小系統(tǒng)模塊在整個(gè)系統(tǒng)中扮演者控制中心的角色。本設(shè)計(jì)使用MSP430F5529作為主控芯片,該芯片主頻達(dá)25MHz,擁有8kb的RAM以及256kb的flash,可以實(shí)現(xiàn)多天的日志存儲(chǔ)。3個(gè)TA0定時(shí)器,可以滿(mǎn)足多路鍵盤(pán)掃描的控制。支持2路UART串口通信,可實(shí)現(xiàn)與SYN6288語(yǔ)音模塊和藍(lán)牙模塊的數(shù)數(shù)據(jù)通訊。支持3路SPI總線,可以與OLED顯示模塊連接,顯示當(dāng)前不同的狀態(tài)。F5529芯片內(nèi)置RTC時(shí)鐘,可以配置為日歷模式,提供了秒鐘,分鐘,小時(shí),星期,日期月份和年份,同時(shí)它還具備可編程的鬧鐘功能,可以實(shí)現(xiàn)定時(shí)提示進(jìn)食藥物的功能。另外,芯片可工作寬電壓下,電壓支持1.8v到3.6v,擁有四種工作模式,在低功耗模式下工作電流僅僅需要1.1uA,非常適合使用電池供電的場(chǎng)所。最小系統(tǒng)在上電之后首先需要完成初始化工作,本設(shè)計(jì)在初始化時(shí),首先使能了看門(mén)狗定時(shí)器,保證機(jī)器在發(fā)生意外程序崩潰時(shí)能及時(shí)重啟。使能了內(nèi)部2個(gè)串口外設(shè)并配置波特率為38400和115200;設(shè)置內(nèi)部定時(shí)器每隔2ms產(chǎn)生一次中斷,并使能了多個(gè)外部中斷口,用于鍵盤(pán)值的掃描;置位RTCMODE寄存器,將芯片內(nèi)部的RTC時(shí)鐘設(shè)置為日歷模式,并且使能RTCAMIN分鐘鬧鈴數(shù)值寄存器,使RTC每隔一分鐘產(chǎn)生一次中斷,當(dāng)中斷產(chǎn)生時(shí)芯片從當(dāng)前的睡眠模式切換到全速運(yùn)行模式,比較當(dāng)前時(shí)間是否與設(shè)置的吃藥時(shí)間一致;初始化完成之后,系統(tǒng)在顯示一段時(shí)間之后進(jìn)入LPM3節(jié)電模式。
2)SYN6288是一款能夠?qū)h字或英語(yǔ)字符直接轉(zhuǎn)換為語(yǔ)音的一款芯片,它具備性?xún)r(jià)比高,效果自然等特點(diǎn),其支持GB2312、GBK、BIG5等多種文本編碼方式,可將任意的中文漢字和英文字符翻譯成準(zhǔn)確自然的語(yǔ)音,同時(shí)它內(nèi)部還集成了智能算法,能夠?qū)斎氲奈谋具M(jìn)行分析,可以正確識(shí)別出數(shù)值、號(hào)碼、時(shí)間等關(guān)鍵詞,被廣泛應(yīng)用于車(chē)載信息終端語(yǔ)音播器、電子地圖、智能手機(jī)等等地方。MSP430F5529通過(guò)內(nèi)置的串口實(shí)現(xiàn)與SYN6288的通信,波特率使用38400;另外在設(shè)計(jì)時(shí),考慮到系統(tǒng)使用電池進(jìn)行供電,因此在沒(méi)有進(jìn)行語(yǔ)音合成時(shí)需要將SYN6288配置為休眠模式,睡眠模式通過(guò)串口發(fā)送0x88命令實(shí)現(xiàn)。
3)OLED顯示技術(shù)是目前新興的一種顯示技術(shù),該類(lèi)型的屏與傳統(tǒng)LCD顯示方式不同,它無(wú)需背光燈,采用非常薄的有機(jī)材料涂層和玻璃基板,當(dāng)有電流通過(guò)時(shí),這些有機(jī)材料就會(huì)發(fā)光,傳統(tǒng)的LCD是采用LED背光板發(fā)光或反射(分為:半透半反、全透、全反)的顯示方式;OLED顯示技術(shù)具備色彩飽和度高、相應(yīng)時(shí)間短、省電等特點(diǎn)為了使得系統(tǒng)續(xù)航性更長(zhǎng),因此顯示使用OLED而不是傳統(tǒng)的LCD或LED。本設(shè)計(jì)使用SH1106芯片控制的OLED顯示屏,芯片支持睡眠模式,在睡眠模式下電流僅為5μA。芯片在進(jìn)行顯示之前,需要對(duì)其進(jìn)行初始化,初始化分為多個(gè)過(guò)程,首先在上電時(shí)需要將RES位置為低電壓,并且保持時(shí)間在10μs以上,然后再將RES位置高電平,同樣需要保持一定的時(shí)間,接著通過(guò)發(fā)送命令設(shè)置顯示模式以及內(nèi)部時(shí)鐘,并在清除完內(nèi)部RAM之后發(fā)送0xAF命令,開(kāi)啟顯示功能。SH1106芯片沒(méi)有內(nèi)置字庫(kù),因此在顯示之前需要通過(guò)取模軟件對(duì)需要顯示的漢字或英文進(jìn)行編碼,在清除CS位,置位CD后,查詢(xún)當(dāng)前芯片是否處于忙碌狀態(tài),如果是在空閑狀態(tài)時(shí)調(diào)用SPI驅(qū)動(dòng)向顯示屏發(fā)送字符編碼,顯示字符。為了進(jìn)行一步延長(zhǎng)電池的使用壽命,顯示屏在顯示一段時(shí)間之后,發(fā)送0xAE命令,使其進(jìn)入休眠狀態(tài)。
4)HC05模塊式一款高性能主從一體的藍(lán)牙串口模塊,可以同各種帶藍(lán)牙功能的電腦、藍(lán)牙主機(jī)、手機(jī)等智能終端進(jìn)行配對(duì)。本設(shè)計(jì)使用該模塊來(lái)連接手機(jī),實(shí)現(xiàn)手機(jī)對(duì)智能交互藥盒的設(shè)置。作為連接橋梁,該模塊在初始化時(shí)需要將KEY端口置為高電平,然后在波特率為38400的狀態(tài)下,通過(guò)發(fā)送AT命令,使模塊的工作模式設(shè)置更改為從模式,并配置波特率為115200。當(dāng)配置完成時(shí),將KEY端口電平置為低電壓,單片使用115200的波特率向藍(lán)牙模塊發(fā)送數(shù)據(jù)。
5)鍵盤(pán)使用4*4鍵盤(pán)矩陣,鍵盤(pán)的4列被連接到單片機(jī)的外部中斷上,當(dāng)有任何按鈕被按下時(shí),中斷被觸發(fā),系統(tǒng)從睡眠模式進(jìn)入正常工作模式。按鈕的掃描通過(guò)F5529內(nèi)部定時(shí)器實(shí)現(xiàn),在定時(shí)器中斷內(nèi)部通過(guò)行列組合的方法確定按鍵值,在按鍵值被確定以后,通過(guò)一個(gè)包含三態(tài)的狀態(tài)機(jī)來(lái)確認(rèn)當(dāng)前的按鈕是處于短按狀態(tài)還是長(zhǎng)按狀態(tài)。在默認(rèn)情況下,狀態(tài)機(jī)處于閑置狀態(tài),當(dāng)有按鈕被按下時(shí),則進(jìn)入短按確認(rèn)狀態(tài),如果在1s之內(nèi),該按鈕被彈起,則說(shuō)明是短按,狀態(tài)返回至閑置狀態(tài),否則說(shuō)明是長(zhǎng)按,進(jìn)入長(zhǎng)按狀態(tài),在長(zhǎng)按狀態(tài)下,如果按鈕被彈起,狀態(tài)機(jī)返回至空閑狀態(tài)。
3 結(jié)束語(yǔ)
本文采用了TI公司生產(chǎn)的高性能低功耗芯片MSP430F5529結(jié)合SYN6288語(yǔ)音模塊、OLED顯示模塊、4*4鍵盤(pán)矩陣、HC05藍(lán)牙模塊等外圍設(shè)備設(shè)計(jì)了一款適用于老人使用的智能交互藥盒,經(jīng)整機(jī)調(diào)試驗(yàn)證,能夠?qū)崿F(xiàn)吃藥語(yǔ)音提示、時(shí)間顯示、手機(jī)設(shè)置等功能,操作簡(jiǎn)單,電池使用壽命長(zhǎng),適用于老年人使用。
【參考文獻(xiàn)】
[1]吳亞棟,孫亞,曾光.基于AT89S52的智能語(yǔ)音提醒藥盒設(shè)計(jì)[J].安陽(yáng)工學(xué)院學(xué)報(bào),2014.
[2]唐立民,李廣羽.基于單片機(jī)的模塊化智能藥盒的開(kāi)發(fā)[J].產(chǎn)業(yè)與科技論壇, 2011.
[3]龔虹瑞,黃小莉.具有鬧鐘和短信提示功能的智能藥盒設(shè)計(jì)[J].西華大學(xué)學(xué)報(bào),2014.
[責(zé)任編輯:楊玉潔]