李鵬飛 李國強(qiáng) 高勇 信息工程大學(xué)教研保障中心
隨著人們生活水平的提高,人們越來越注重自身健康,科學(xué)研究指出,成年人一天的飲水量應(yīng)不低于1200ml,因此,人體每天應(yīng)當(dāng)補(bǔ)充充足的水分來維持人體正常的生理功能。隨著信息技術(shù)的高速發(fā)展,智能化產(chǎn)品開始進(jìn)入社會和家庭,讓人們的生活更加便捷、更加舒適。水杯作為一種人們?nèi)粘I钪胁豢扇鄙俚纳钊沼闷?,?jīng)常伴隨在人們的身邊,但是傳統(tǒng)的水杯已不能足現(xiàn)今人們對美好生活的需求,人們希望每天伴隨我們生活的水杯是一個智能化的產(chǎn)品,具有如及時提醒用戶飲水、告知人們杯中水的溫度、以及記錄人們每日的飲水量等功能,因此,研制一款能夠體現(xiàn)人性化的智能水杯產(chǎn)品,對于實(shí)現(xiàn)當(dāng)代人健康的生活方式便具有重要意義。
筆者開發(fā)設(shè)計了一款智能水杯系統(tǒng),該系統(tǒng)能夠讓用戶實(shí)時獲取水溫并且能實(shí)時了解水量情況,系統(tǒng)通過判斷水溫和水量情況,能夠在屏幕上給予合適的提醒,并且具有定時功能,通過按鍵開啟定時功能,當(dāng)設(shè)置時間到時,蜂鳴器發(fā)出報警,同時GSM 通信模塊向用戶手機(jī)發(fā)送飲水提醒短信。通過水杯智能管家的開發(fā),進(jìn)一步促進(jìn)用戶的健康飲水和Arduino 與智能水杯的結(jié)合。通過設(shè)計使之在保留基本功能的基礎(chǔ)上,更加突出人性化,以此為用戶帶來更深層、更貼近切身感受的產(chǎn)品體驗(yàn),使之成為用戶健康飲水的一大幫手,從而達(dá)到監(jiān)督用戶養(yǎng)成良好的飲水習(xí)慣,達(dá)到用戶健康飲水的目的。
本設(shè)計將系統(tǒng)劃分為溫度檢測模塊、水量檢測模塊、定時提醒模塊、報警提醒模塊、屏幕顯示模塊、以及GSM 通信模塊。運(yùn)用所學(xué)的傳感器知識以及Arduino 程序開發(fā),將這些模塊集成并應(yīng)用于傳統(tǒng)水杯,開發(fā)一款具有溫度檢測、水量檢測、定時提醒功能以及更具備人性化設(shè)計的智能水杯產(chǎn)品。本章節(jié)將通過系統(tǒng)總體設(shè)計圖直觀的介紹系統(tǒng),從系統(tǒng)功能設(shè)計圖對系統(tǒng)進(jìn)行功能模塊劃分,不同的模塊對應(yīng)著系統(tǒng)不同的功能。具體模塊功能描述如下。
1.系統(tǒng)溫度檢測功能模塊
因?yàn)镈S18B20 溫度傳感器測量范圍在-55℃~+125℃,具有靈敏性好、測量精度高、功耗小等優(yōu)點(diǎn),它的工作電壓在3V-5.5V,在使用中不需要任何外圍元件,能夠適用于冷凍倉,電力機(jī)房等較復(fù)雜環(huán)境,因此,本系統(tǒng)設(shè)計也采用了DS18B20 溫度傳感器作為系統(tǒng)的溫度檢測的硬件。首先,DS18B20 能夠適用于許多方面,因?yàn)槊總€DS18B20都有一個獨(dú)特的64 位串行代碼,這也使得多個DS18B20 可以在同一總線上運(yùn)行。因此,我們能夠?qū)崿F(xiàn)使用一個微處理器去控制的大范圍分布的DS18B20 溫度傳感器。這一特性大大增加了它的應(yīng)用范圍,例如:應(yīng)用于空調(diào)環(huán)境控制、樓宇溫度監(jiān)測系統(tǒng)、工業(yè)設(shè)備或機(jī)械生產(chǎn)過程監(jiān)測和控制系統(tǒng)等,系統(tǒng)在獲取溫度時,需要進(jìn)行將溫度傳感器進(jìn)行初始化、寫操作、讀操作。但是DS18B20 雖然具有測溫系統(tǒng)操作簡單,但因?yàn)檩^小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償。
圖2 系統(tǒng)溫度檢測功能模塊
2.系統(tǒng)定時提醒功能模塊
水杯智能管家系統(tǒng)的定時功能采用了Arduino定時器中斷函數(shù),設(shè)計了一個定時器。系統(tǒng)中使用Arduino 開發(fā)板,它的工作電壓為5V,其供電類型有3.3V 和5V 兩種,在進(jìn)行定時器中斷設(shè)計,需要將開發(fā)板和電腦連接。
首先,中斷是指計算機(jī)在運(yùn)行過程中,出現(xiàn)某些意外情況需主機(jī)干預(yù)時,機(jī)器能自動停止正在運(yùn)行的程序并轉(zhuǎn)入處理新情況的程序,處理完畢后又返回原被暫停的程序繼續(xù)運(yùn)行。這就好比你在讀書時聽到了敲門聲,即中斷源向你發(fā)出了中斷請求,你需要放下書本,先去開門,發(fā)現(xiàn)原來是外賣到了。你處理完之后,又回去繼續(xù)讀書,并從你剛才讀到的地方繼續(xù)往下閱讀。如果你是一個機(jī)器人的話,你從聽到敲門聲到返回繼續(xù)讀書的過程,構(gòu)成了整個的中斷過程。寫入你大腦中的程序即為軟件處理程序,門就是中斷裝置。中斷有很多類型,此處介紹的為定時器中斷,即利用板子里的定時器來讓中斷定時發(fā)生,可以精確控制時間。在寫程序之前,需要先在Arduino 開發(fā)環(huán)境中導(dǎo)入一個庫,即FlexiTimer2 庫函數(shù),這個庫可以在官網(wǎng)上下載。然后直接打開“項(xiàng)目—加載庫—添加一個.ZIP 庫”,這時,你只需要將之前下載的庫在彈出來的文件查詢框中點(diǎn)開即可。這時再點(diǎn)開“項(xiàng)目—加載庫”,會在下面看到這個庫,點(diǎn)擊它,在程序中會自動出現(xiàn)預(yù)處理命令。
本系統(tǒng)設(shè)計采用了三個按鍵對定時功能進(jìn)行時間上的設(shè)置。分別將其中的一個按鍵作為定時功能的開啟和關(guān)閉,而中間的按鍵設(shè)置為減少定時時間的按鈕,最后一個按鍵功能作為增加定時時間的按鈕。
系統(tǒng)定時提醒功能模塊框圖如下。
圖3 系統(tǒng)定時提醒功能模塊
3.系統(tǒng)報警提醒功能模塊
系統(tǒng)采用了無源蜂鳴器作為報警硬件。當(dāng)用戶對智能水杯管家的定時功能開啟后,蜂鳴器發(fā)出聲音,表示定時功能已經(jīng)打開,并且當(dāng)定時時間到時,蜂鳴器會發(fā)出報警提醒用戶飲水時間到。
圖4 系統(tǒng)報警提醒功能模塊
4.系統(tǒng)屏幕顯示提醒模塊
本次系統(tǒng)采用了LCD 液晶屏為水杯智能管家的顯示提醒模塊硬件,當(dāng)系統(tǒng)開始運(yùn)行后,系統(tǒng)通過將溫度檢測模塊獲取的水溫數(shù)據(jù)進(jìn)行處理,并在顯示模塊上顯示溫馨提醒,讓用戶能夠?qū)崟r了解到水杯中水的相關(guān)數(shù)據(jù)信息。其次,屏幕顯示“TIMER”字樣,這是定時功能的設(shè)置時間顯示,當(dāng)用戶開啟系統(tǒng)定時功能時,在屏幕上會顯示“ST”表示現(xiàn)在定時功能已經(jīng)開啟,正在進(jìn)行定時功能設(shè)置操作,再次點(diǎn)擊按鍵按鈕后,屏幕出現(xiàn)“ON”,表示定時正在進(jìn)行,當(dāng)定時結(jié)束后,屏幕出現(xiàn)“OF”時,表示系統(tǒng)定時功能處于關(guān)閉狀態(tài)。系統(tǒng)屏幕提醒模塊框圖如下。
圖5 系統(tǒng)屏幕顯示功能模塊
1.系統(tǒng)水量檢測功能模塊
在本次系統(tǒng)的基礎(chǔ)上,又獨(dú)自擴(kuò)展了水量檢測功能,水量檢測模塊采用了HX711 模塊和一個3 千克的壓力傳感器套件,對水杯的重量進(jìn)行檢測,并通過水的密度,進(jìn)而得到水杯內(nèi)水量多少,并由三種顏色的LED 燈亮起代表水量多少。當(dāng)水杯內(nèi)的水量較少時,紅燈發(fā)光;當(dāng)水量適中時,黃燈發(fā)光;當(dāng)水量超過設(shè)置閾值時,綠燈發(fā)光。系統(tǒng)水量檢測模塊框圖如下。
圖 6 系統(tǒng)水量檢測功能模塊
2.系統(tǒng)GSM 通信模塊
通過與其他同類型的產(chǎn)品比較,該系統(tǒng)創(chuàng)新的采用了通信功能,當(dāng)用戶開啟定時功能后,定時時間到時,GSM 通信模塊將向用戶手機(jī)發(fā)送飲水提醒短信。達(dá)到用戶注意飲水健康的目的。
圖 7 系統(tǒng)通信功能模塊
本文主要研究了對水杯智能管家的開發(fā)和設(shè)計。筆者根據(jù)學(xué)者對智能水杯產(chǎn)品目前的用戶需求,以及對同類型智能水杯產(chǎn)品的調(diào)研,結(jié)合Arduino 程序設(shè)計和感知模塊的應(yīng)用,開發(fā)了一個具有測溫、檢測水量、定時報警以及能與用戶手機(jī)建立通信的智能水杯系統(tǒng)設(shè)計。這一研究以Arduino 控制傳感器等感知硬件,與同類型的智能水杯產(chǎn)品進(jìn)行比較,取長補(bǔ)短,不僅能夠滿足大眾需求,而且成本大大的降低。