秦海亮 戈力娟 汪亨 劉宇恒 張皓然 桑曉凱
摘要:本文設(shè)計(jì)的基于RFID的智能藥盒以STM32單片機(jī)作為核心控制器,采用RC522射頻刷卡模塊讀取IC卡在刷卡后會(huì)利用LCD1602液晶顯示屏顯示藥名,用戶可以實(shí)現(xiàn)通過(guò)按鍵設(shè)置系統(tǒng)時(shí)間及吃藥時(shí)間,在吃藥時(shí)間到后蜂鳴器發(fā)出提醒的效果。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);RFID;智能藥盒
1 設(shè)計(jì)背景
隨著人們的年齡增大,避免不了身體的各方面技能都有所下降,抵抗力也會(huì)隨之下降,導(dǎo)致各種疾病的發(fā)生,有一種疾病就是健忘癥,學(xué)名叫阿爾茲海默癥,人們常說(shuō)的老年癡呆。由于現(xiàn)在環(huán)境不好,許多的老人都有些病痛難免要用藥物來(lái)維持[1]。但是很多的老人對(duì)于吃藥的時(shí)間就會(huì)忘記,需要其他人提醒才會(huì)想起來(lái),但是不是時(shí)時(shí)刻刻身邊都有人提醒老人去吃藥,而且吃藥并不是只吃一種藥,現(xiàn)在的藥品都是互相搭配,對(duì)于記性不好的老人來(lái)說(shuō)很難記住應(yīng)該吃哪些藥以及藥量,這也給老人造成了很大的困擾。智能藥盒可以根據(jù)個(gè)人的作息時(shí)間來(lái)設(shè)定時(shí)間,也不僅僅只是體現(xiàn)在吃藥方面,還可以提醒其他要做的事情,而且藥盒的容量也隨之?dāng)U大,可以放置更多的藥品[2]。這樣的藥盒更加符合市場(chǎng)的需求,也更加具有實(shí)用價(jià)值。
2 研究?jī)?nèi)容
本文所介紹的基于RFID的智能藥盒系統(tǒng),運(yùn)用單片機(jī)技術(shù),可以設(shè)置每天早中晚三次吃藥的時(shí)間和藥物種類以及劑量,當(dāng)吃藥時(shí)間到了燈閃爍,當(dāng)藥盒打開(kāi),語(yǔ)音播報(bào)藥物及劑量,并可判斷老年人是否按時(shí)吃藥,如果未按時(shí)吃藥可以將提醒信息發(fā)送給老人的監(jiān)護(hù)人。在文中對(duì)系統(tǒng)的軟件、電路和實(shí)物功能、測(cè)試等都做了詳實(shí)的介紹,根據(jù)現(xiàn)在老人健忘癥的人數(shù)較多,照顧自己不便,因此本次設(shè)計(jì)結(jié)合單片機(jī)與OneNET平臺(tái)來(lái)實(shí)現(xiàn)智能提醒。
3 系統(tǒng)硬件設(shè)計(jì)
3.1單片機(jī)最小系統(tǒng)電路設(shè)計(jì)
基于RFID的智能藥盒系統(tǒng)中,將STM32F103C8T6單片機(jī)作為了核心的開(kāi)發(fā)平臺(tái),在燒錄程序時(shí)可以反復(fù)修改、擦除。STM32F103C8T6單片機(jī)最小系統(tǒng)電路由復(fù)位、起振和電源組成。
3.2顯示電路設(shè)計(jì)
基于RFID的智能藥盒系統(tǒng)采用LCD1602液晶顯示屏顯示當(dāng)前的時(shí)間。LCD1602液晶顯示屏的顯示原理也是利用了所有液晶顯示屏的統(tǒng)一特性,通過(guò)手冊(cè)的指令集和時(shí)序圖就可以了解到LCD1602的顯示原理,實(shí)現(xiàn)內(nèi)容的顯示。LCD1602液晶顯示屏與STM32F103C8T6單片機(jī)從電路上的連接來(lái)看是很簡(jiǎn)單的,引腳VSS負(fù)極與引腳VDD電源正極都要分別與單片機(jī)電路中的地和電連接,其中LCD1602液晶顯示屏的V0引腳連接了10K的可調(diào)節(jié)的滑動(dòng)變阻器,在連接后可以調(diào)節(jié)這個(gè)滑動(dòng)變阻器實(shí)現(xiàn)調(diào)節(jié)顯示屏的電壓,從而控制顯示屏的分辨率和背光亮度。而與單片機(jī)的PB8口和PB15口相連接的8個(gè)引腳是顯示屏的數(shù)據(jù)線,用于顯示數(shù)據(jù)。另外的RS引腳、RW和EN引腳都是用于讀寫(xiě)、使能等作用的引腳,實(shí)現(xiàn)LCD16032液晶顯示屏電路的連接。
3.3 RFID模塊電路設(shè)計(jì)
系統(tǒng)采用RC522 射頻刷卡模塊采用刷卡的方式讀取藥名,每一張IC卡對(duì)應(yīng)一種藥品名稱,在刷卡后會(huì)顯示藥品名稱。RC522刷卡模塊,其電路很容易,采用3.3V電壓供電,但是本系統(tǒng)的供電電源為5V,因此需要變壓模塊將5.5V電壓轉(zhuǎn)為3.3V。模塊的RST引腳與單片機(jī)P3.3口相連,MISO引腳與單片機(jī)的P3.4口相連,MISO、 MOSI、SCK、SDA引腳依次與單片機(jī)的PA3、PA2、PA1及PA0口相連,8引腳和GND引腳與變壓模塊相連接。
3.4 按鍵電路設(shè)計(jì)
獨(dú)立按鍵的原理就是通過(guò)電平的變化來(lái)判斷被按下的按鍵,在按鍵被按下的時(shí)候,與單片機(jī)連接時(shí),單片機(jī)的I/O口都會(huì)有上拉電阻,如果這個(gè)I/O接口輸出了高電平,在我們按下了這個(gè)按鍵后這個(gè)I/O口的電平就會(huì)自動(dòng)變成低電平,因此通過(guò)代碼中來(lái)判斷I/O口的高低電平狀態(tài)就可以了解到按鍵是否被按下。
3.5 聲光報(bào)警電路設(shè)計(jì)
在基于RFID的智能藥盒系統(tǒng)設(shè)計(jì)中,在吃藥時(shí)間到后就會(huì)通過(guò)蜂鳴器與LED報(bào)警電路發(fā)出聲光報(bào)警,提示用戶吃藥。在單片機(jī)的電路中,我們主要采用三極管的截止區(qū)和飽和區(qū)實(shí)現(xiàn)開(kāi)關(guān)的功能。NPN類型的驅(qū)動(dòng)電路,在高電平的情況下有效,就是當(dāng)單片機(jī)的I/O口輸出的是高電平的情況下蜂鳴器會(huì)發(fā)出聲響;PNP型的驅(qū)動(dòng)電路在低電平的情況下有效,就是單片機(jī)的I/O口輸出低電平的情況下蜂鳴器發(fā)出聲響。
3.6 與ONENET通信電路設(shè)計(jì)
由于要將老人吃藥的時(shí)間、藥名以及用量發(fā)送到OneNET網(wǎng)絡(luò)平臺(tái),家屬通過(guò)OneNET即可了解到老人的吃藥情況,而與OneNET的功能是利用ESP8266 WIFI模塊實(shí)現(xiàn)的。ESP8266 WIFI模塊與OneNET利用TCP的協(xié)議連接方式進(jìn)行連接,在建立好WIFI熱點(diǎn)后,通過(guò)手機(jī)搜索對(duì)應(yīng)的熱點(diǎn)名稱,輸入密碼后就可以連接。
4 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)中選用的KEIL軟件開(kāi)發(fā)軟件內(nèi)部就包含了各種接口軟件、開(kāi)發(fā)工具組和環(huán)境的數(shù)據(jù)庫(kù)等支撐代碼編寫(xiě)的各類工具。
4.1 系統(tǒng)主程序設(shè)計(jì)
(1)初始化程序,在系統(tǒng)程序中包括對(duì)RFID射頻模塊、顯示屏及串口的初始化,在完成初始化之后才能進(jìn)入各模塊的功能程序及子程序的調(diào)用;
(2)利用STM32F103C8T6內(nèi)部的RTC獲取時(shí)間并且顯示時(shí)間;
(3)進(jìn)入到判斷,在程序中讀取按鍵,用來(lái)設(shè)置吃藥時(shí)間;
(4)吃藥時(shí)間到后發(fā)出聲光報(bào)警,提醒用戶吃藥;
(5)連接WIFI后,將吃藥信息發(fā)送至ONENET物聯(lián)網(wǎng)平臺(tái)。
4.2 顯示程序設(shè)計(jì)
主程序直接調(diào)用LCD1602液晶顯示屏的子程序即可實(shí)現(xiàn)吃藥時(shí)間等內(nèi)容的顯示。LCD1602液晶顯示屏程序代碼需要經(jīng)過(guò)信號(hào)的檢測(cè)、延時(shí)等一系列流程實(shí)現(xiàn)顯示程序。
4.3 RFID射頻模塊流程設(shè)計(jì)
RC522刷卡模塊的程序開(kāi)始后,首先等待用戶刷卡,在用戶刷卡后開(kāi)始識(shí)別卡片,進(jìn)行尋卡,當(dāng)確定卡片無(wú)誤時(shí),會(huì)選定卡片,然后讀取卡的ID,進(jìn)行ID的匹配,如果ID匹配失敗,則會(huì)重新讀取卡的ID,如果匹配成功,刷卡就會(huì)成功。
4.4 OneNET平臺(tái)
在基于RFID的智能藥盒系統(tǒng)中,利用ESP8266 WIFI模塊將老人吃藥的時(shí)間、藥名以及用量發(fā)送到OneNET網(wǎng)絡(luò)平臺(tái),家屬通過(guò)OneNET即可了解到老人的吃藥情況。在搭建OneNET平臺(tái)時(shí)首先需要執(zhí)行注冊(cè)O(shè)neNET個(gè)人賬號(hào)。
在OneNET平臺(tái)的首頁(yè),可以點(diǎn)擊“開(kāi)發(fā)者中心”可以進(jìn)入到開(kāi)發(fā)者中心的界面中,在開(kāi)發(fā)者中心可創(chuàng)建產(chǎn)品,即我們需要?jiǎng)?chuàng)建的平臺(tái)項(xiàng)目。
在已經(jīng)創(chuàng)建好的產(chǎn)品列表中可以打開(kāi)智能藥盒的產(chǎn)品,可查看老人吃藥的時(shí)間、藥名以及用量,家屬通過(guò)OneNET即可了解到老人的吃藥情況。
5 結(jié)語(yǔ)
在本文中對(duì)基于RFID的智能藥盒系統(tǒng)的硬件電路和軟件代碼的設(shè)計(jì)與調(diào)試后,經(jīng)過(guò)實(shí)物的測(cè)試,系統(tǒng)實(shí)現(xiàn)利用IC卡了解藥名、吃藥時(shí)間的設(shè)置功能,到時(shí)間提醒功能及與OneNET實(shí)現(xiàn)物聯(lián)網(wǎng)通信等功能。
參考文獻(xiàn)
[1]王振運(yùn),孟立凡,李菠.多功能基于RFID的智能藥盒系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子世界,2016(01):189-190.
[2]陳燕萍,梁惠萍,李欣陳.老年人智能藥盒設(shè)計(jì)研究[J].藝術(shù)科技,2016,29(12):24.