張世清,鐘 麟,王許鵬
(西京學(xué)院 理學(xué)院,陜西 西安 710123)
針對(duì)家中有寵物的家庭設(shè)計(jì)出一款智能助手,可以通過(guò)物聯(lián)網(wǎng)接收遠(yuǎn)程端發(fā)送來(lái)的喂食信息,從而驅(qū)動(dòng)電機(jī)進(jìn)行喂食動(dòng)作。該智能助手可以通過(guò)控制電機(jī)動(dòng)作時(shí)間控制喂食量來(lái)控制寵物的進(jìn)食量[1~2]。系統(tǒng)由紅外感應(yīng)系統(tǒng)檢測(cè)出寵物是否處于進(jìn)食狀態(tài),還能通過(guò)錄音播放來(lái)呼喚寵物前來(lái)進(jìn)食。本系統(tǒng)可以通過(guò)溫濕度傳感器實(shí)時(shí)監(jiān)控房間的溫度和濕度,并通過(guò)云系統(tǒng)將數(shù)據(jù)傳送給手機(jī)端??梢栽O(shè)置一定的閾值,當(dāng)溫濕度超過(guò)設(shè)定的值會(huì)開(kāi)啟通風(fēng)系統(tǒng)進(jìn)行通風(fēng)降溫,用戶可以通過(guò)登錄OneNET物聯(lián)網(wǎng)隨時(shí)查看剩余的食物重量,以免寵物因食物不足挨餓。本系統(tǒng)引入了當(dāng)前熱門的物聯(lián)網(wǎng),并迎合了家居智能化的發(fā)展,為人們解決了麻煩。本系統(tǒng)還具有安全、實(shí)用、便宜特點(diǎn)。
本喂食系統(tǒng)主要包括單片機(jī)控制模塊、無(wú)線通信模塊、OLED顯示模塊、電機(jī)驅(qū)動(dòng)模塊、錄音播放模塊、紅外檢測(cè)模塊和壓力傳感器模塊,以及基于OneNET平臺(tái)編寫的上位機(jī)操作頁(yè)面。系統(tǒng)可以將房間中的溫濕度和時(shí)間實(shí)時(shí)顯示到OLED顯示屏上;可以將房間溫濕度、喂食盤中食物的重量和寵物是否處于吃食狀態(tài)通過(guò)物聯(lián)網(wǎng)顯示到OneNET平臺(tái)的上位機(jī)頁(yè)面中;可以通過(guò)OneNET平臺(tái)下發(fā)喂食命令和錄音播放命令;驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)進(jìn)行喂食動(dòng)作和播放提前錄制好的聲音呼喚寵物前來(lái)進(jìn)食。
本系統(tǒng)的硬件設(shè)計(jì)包括STM32核心控制器核心電路、AM2302數(shù)字溫濕度傳感器、DS1302時(shí)鐘芯片、esp8266無(wú)線模塊、iSD1820錄音模塊、OLED顯示模塊、ULN2003電機(jī)驅(qū)動(dòng)模塊、紅外傳感器模塊和HX711壓力傳感器模塊等模塊的設(shè)計(jì)。
圖1 系統(tǒng)整體設(shè)計(jì)
主控模塊為STM32F103C8T6最小系統(tǒng),在整個(gè)系統(tǒng)中負(fù)責(zé)連接并控制其他模塊,包括:無(wú)線通信模塊、OLED顯示模塊、電機(jī)驅(qū)動(dòng)模塊、錄音播放模塊、紅外檢測(cè)模塊和壓力傳感器模塊。
STM32F103C8T6最小系統(tǒng)包括電源電路分為供電電路和降壓電路、晶振電路、復(fù)位電路、去耦電容、調(diào)試下載電路以及其他外圍電路。
本次設(shè)計(jì)采用AM2302溫濕度傳感器采集房間的溫濕度,將其顯示到OLED屏幕中,同時(shí)通過(guò)esp8266無(wú)線傳輸模塊將采集到的數(shù)據(jù)傳送到OneNET物聯(lián)網(wǎng)中,可以通過(guò)電腦或者手機(jī)查看。
本次設(shè)計(jì)的顯示電路采用小OLED顯示屏模塊。通過(guò)接線與單片機(jī)最小系統(tǒng)電路的引腳連接,本系統(tǒng)使用OLED顯示屏用來(lái)顯示W(wǎng)IFI的連接狀態(tài)信息、當(dāng)前時(shí)間以及采集到的周圍環(huán)境的溫濕度信息。
本次設(shè)計(jì)中采用ESP8266無(wú)線通信模塊,聯(lián)網(wǎng)將溫濕度、食物重量、錄音播放、電機(jī)控制等信息傳輸?shù)轿锫?lián)網(wǎng)上或者從物聯(lián)網(wǎng)接收信息。
采用ISD1820錄音模塊,寵物主人可以將自己的聲音提前錄制進(jìn)去,并通過(guò)OneNET遠(yuǎn)程端控制播放,可以在喂食操作中對(duì)寵物進(jìn)行呼喚,使寵物前來(lái)進(jìn)食,還可以幫助寵物養(yǎng)成及時(shí)進(jìn)食的條件反射。
ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。在本次設(shè)計(jì)中使用ULN2003模塊來(lái)驅(qū)動(dòng)步進(jìn)電機(jī),通過(guò)主控芯片向驅(qū)動(dòng)模塊發(fā)送高低電平從而控制電機(jī)的旋轉(zhuǎn)速度以及旋轉(zhuǎn)方向。
圖2 驅(qū)動(dòng)電路硬件接線
從上圖可以看出,ULN2003驅(qū)動(dòng)芯片的1,2,3,4引腳分別與單片機(jī)的A15,A14,A13,A12引腳相連。當(dāng)一個(gè)引腳輸出高電平時(shí),其他3個(gè)引腳都輸出低電平,以此不斷循環(huán),來(lái)達(dá)到驅(qū)動(dòng)電機(jī)正轉(zhuǎn)或者反轉(zhuǎn)的目的。
該紅外傳感器模塊對(duì)環(huán)境光線適應(yīng)能力強(qiáng),其具有一對(duì)紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測(cè)方向遇到障礙物(反射面)時(shí),綠色指示燈會(huì)亮起,同時(shí)輸出低電平信號(hào),當(dāng)沒(méi)有障礙物時(shí)指示燈熄滅輸出高電平信號(hào),可通過(guò)電位器旋鈕調(diào)節(jié)檢測(cè)距離,有效距離范圍為2~30 cm,工作電壓為3.3~5 V。
本次設(shè)計(jì)中使用此模塊去判斷寵物是否處于正在吃食的狀態(tài),當(dāng)寵物處于正在吃食狀態(tài)時(shí),紅外傳感器會(huì)感受到前方有障礙物,向控制模塊發(fā)送低電平信號(hào)。當(dāng)沒(méi)有檢測(cè)到前方有障礙物,也就是寵物不在吃食狀態(tài)時(shí),會(huì)向控制模塊持續(xù)發(fā)送高電平??刂颇K通過(guò)不斷檢測(cè)高低電平來(lái)判斷寵物目前的狀態(tài)。
本次設(shè)計(jì)中使用HX711壓力傳感器模塊,用來(lái)測(cè)量喂食盤中剩余食物的重量,并將采集到的數(shù)據(jù)通過(guò)無(wú)線傳輸模塊上傳到物聯(lián)網(wǎng)中,以便于遠(yuǎn)程端查看。
HX711是一款專為高精度電子秤而設(shè)計(jì)的24位A/D轉(zhuǎn)換器芯片。該芯片具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。這降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。
軟件部分根據(jù)系統(tǒng)功能進(jìn)行模塊化編程。主程序和中斷服務(wù)程序兩個(gè)不同的程序部分組成了系統(tǒng)軟件。中斷服務(wù)程序主要是對(duì)傳感器進(jìn)行數(shù)據(jù)采集。主程序是將中斷服務(wù)程序采集到的數(shù)據(jù)進(jìn)行打包發(fā)送以及數(shù)據(jù)的接收,并驅(qū)動(dòng)對(duì)應(yīng)模塊進(jìn)行相應(yīng)的動(dòng)作。
圖3 5軟件設(shè)計(jì)
智能寵物喂食系統(tǒng)是一種物聯(lián)網(wǎng)的智能家居系統(tǒng),能夠通過(guò)OneNET云平臺(tái)實(shí)時(shí)監(jiān)控寵物處于的環(huán)境的溫濕度[3],還可以根據(jù)喂食盤中食物的重量來(lái)判斷是否進(jìn)行喂食操作。通過(guò)紅外傳感器來(lái)判斷寵物有沒(méi)有前來(lái)進(jìn)食,從而確定是否播放錄制好的聲音呼喚寵物。本系統(tǒng)還有幾個(gè)有待優(yōu)化和提高的地方,比如可以增加一個(gè)攝像頭,可以實(shí)時(shí)地觀察寵物當(dāng)前狀態(tài),也可以給喂食系統(tǒng)增加移動(dòng)以及糞便清潔等功能。