基于stm32的智能寵物喂食系統(tǒng)_第1頁(yè)
基于stm32的智能寵物喂食系統(tǒng)_第2頁(yè)
基于stm32的智能寵物喂食系統(tǒng)_第3頁(yè)
基于stm32的智能寵物喂食系統(tǒng)_第4頁(yè)
基于stm32的智能寵物喂食系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

[7]。GL5506光敏電阻對(duì)可見(jiàn)光和紅外線表現(xiàn)出較高的靈敏度,能夠精準(zhǔn)地感知周圍環(huán)境中光照強(qiáng)度的細(xì)微變化。正因其出色的靈敏度和易用性,GL5506光敏電阻在多個(gè)領(lǐng)域得到了廣泛應(yīng)用,包括光控開(kāi)關(guān)、光敏傳感器、光照度測(cè)量以及自動(dòng)亮度調(diào)節(jié)等。在特性參數(shù)方面,GL5506光敏電阻的主要指標(biāo)涵蓋了光敏面積、響應(yīng)頻率、光敏電阻范圍以及工作溫度范圍等,這些參數(shù)共同確保了其在各種實(shí)際應(yīng)用場(chǎng)景中的穩(wěn)定性和可靠性。軟件程序設(shè)計(jì)主程序流程設(shè)計(jì)本次軟件設(shè)計(jì)的主程序流程圖和程序設(shè)計(jì)如下圖3-1所示,程序設(shè)計(jì)。智能寵物喂食系統(tǒng)的主程序主要由溫濕度讀取程序、光照強(qiáng)度讀取程序和喂食驅(qū)動(dòng)程序構(gòu)成。當(dāng)系統(tǒng)上電后,主控單片機(jī)STM32和硬件模塊初始化完成后開(kāi)始執(zhí)行程序。初始化后,溫濕度傳感器首先檢測(cè)當(dāng)前環(huán)境的溫度和濕度,接著由光照強(qiáng)度傳感器監(jiān)測(cè)當(dāng)前的光強(qiáng)數(shù)據(jù),最后并將溫濕度和光照信息經(jīng)主控單片機(jī)處理后由OLED顯示屏顯示出來(lái)。用戶通過(guò)監(jiān)測(cè)到的各項(xiàng)數(shù)據(jù)可以對(duì)環(huán)境溫濕度,光照進(jìn)行干預(yù)調(diào)整。接著通過(guò)按鍵可以設(shè)置環(huán)境所需達(dá)到的環(huán)境光照強(qiáng)度。如監(jiān)測(cè)到未達(dá)到設(shè)置的的光照閾值,則會(huì)通過(guò)打開(kāi)LED燈來(lái)達(dá)到所需要的光照。同時(shí)可通過(guò)按鍵選擇是否進(jìn)行為喂食。若選擇喂食,則會(huì)控制驅(qū)動(dòng)電機(jī)進(jìn)行投喂。與此同時(shí),在單片機(jī)內(nèi)部的計(jì)數(shù)器在監(jiān)測(cè)投喂次數(shù)將監(jiān)測(cè)到的數(shù)據(jù)記錄處理后通過(guò)顯示器顯示出來(lái)。圖3-1主程序流程圖以及程序設(shè)計(jì)OLED顯示流程設(shè)計(jì)OLED共有5個(gè)控制指令對(duì)應(yīng)輸入指令可得到對(duì)應(yīng)的功能,如表3-1。命令0X81負(fù)責(zé)調(diào)整屏幕對(duì)比度,包含兩個(gè)字節(jié)。其中,首個(gè)字節(jié)0X81為指令標(biāo)識(shí),緊接著的字節(jié)用于設(shè)定對(duì)比度具體數(shù)值。隨著對(duì)比度數(shù)值的提升,屏幕亮度也會(huì)相應(yīng)增強(qiáng)。命令0XAE與0XAF分別控制顯示功能的關(guān)閉與開(kāi)啟。此外,命令0X8D同樣由兩個(gè)字節(jié)組成,第一個(gè)字節(jié)為命令標(biāo)識(shí),第二個(gè)字節(jié)則用于配置。特別指出,該字節(jié)中的BIT2位決定了電荷泵的開(kāi)關(guān)狀態(tài)。當(dāng)BIT2位為1時(shí),電荷泵將啟動(dòng);為0時(shí)則關(guān)閉。在模塊初始化階段,為確保屏幕正常顯示,必須啟動(dòng)此功能。命令0XB0至B7用于設(shè)定GRAM的頁(yè)地址,其低三位數(shù)值直接對(duì)應(yīng)頁(yè)地址。而命令0X00至0X0F與0X10至0X1F則分別用來(lái)設(shè)置顯示起始列地址的低四位和高四位。這些命令協(xié)同工作,確保屏幕內(nèi)容的精確定位和正常顯示。表3-SEQ表\*ARABIC1OLED控制指令序號(hào)指令各位描述命令說(shuō)明HEXD7D6D5D4D3D2D1D0A值越大屏幕越亮,A的范圍從0x00-0xff08110000001設(shè)置對(duì)比度A[7:0]A7A6A5A4A3A2A1A01AE/AF1010111X0設(shè)置顯示開(kāi)關(guān)x0=0,關(guān)閉顯示,x0=1,開(kāi)啟顯示28D10001101電荷泵設(shè)置A2=0,關(guān)閉電荷泵,A2=1,開(kāi)電荷泵A[7:0]**010A2003B0-B710110X2X1X0設(shè)置頁(yè)地址X[2:0]=0-7對(duì)應(yīng)頁(yè)0-7400-0F0000X3X2X1X0設(shè)置頁(yè)地址低四位設(shè)置八位起始列地址的低四位510-1F0000X3X2X1X0設(shè)置列地址第四位設(shè)置八位起始列地址的高四位OLED通過(guò)I2C接口實(shí)現(xiàn)通信。I2C是一種以半雙工方式通信的串行總線。該系統(tǒng)由數(shù)據(jù)線SDA和時(shí)鐘SCL組成,可以發(fā)送和接收數(shù)據(jù)。這種總線能在CPU與被控芯片間進(jìn)行雙向數(shù)據(jù)傳送,一般速度可達(dá)400kbps以上。I2C總線進(jìn)行數(shù)據(jù)傳輸時(shí),通常分為啟動(dòng)、結(jié)束、應(yīng)答三種類型。使能信號(hào):SDA在SCL為高電平時(shí),由高電平跳轉(zhuǎn)至低電平,開(kāi)始傳送資料。結(jié)束信號(hào):當(dāng)SCL為高電平時(shí),SDA由低電平向高電平躍遷,并且數(shù)據(jù)的發(fā)送結(jié)束。開(kāi)始和結(jié)束信號(hào)的定時(shí)如圖3-2所示。應(yīng)答信號(hào):收到數(shù)據(jù)的集成電路在收到8比特?cái)?shù)據(jù)后,就向數(shù)據(jù)發(fā)送集成電路發(fā)送一個(gè)規(guī)定的低電平脈沖,表明數(shù)據(jù)已收到。CPU向被控裝置發(fā)出一個(gè)信號(hào),并等待被控裝置回送一個(gè)應(yīng)答信號(hào),在接收到應(yīng)答信號(hào)后,CPU會(huì)基于現(xiàn)場(chǎng)情況來(lái)判斷是否傳送這個(gè)信號(hào)。若無(wú)應(yīng)答信號(hào)發(fā)出,則判斷為被控裝置出現(xiàn)了故障。圖3-2OLED傳送數(shù)據(jù)時(shí)序OLED液晶顯示屏上電啟動(dòng)后,首先會(huì)對(duì)其進(jìn)行一個(gè)初始化操作,將屏幕的內(nèi)容清零,內(nèi)部存儲(chǔ)清空。之后和單片機(jī)進(jìn)行雙向通信,單片機(jī)控制顯示屏亮度和顯示內(nèi)容,延時(shí)一定時(shí)間后,將檢測(cè)到的溫濕度、光照強(qiáng)度、自動(dòng)光照閾值和投喂次數(shù)等數(shù)據(jù)顯示在液晶顯示屏上。在設(shè)置光照強(qiáng)度時(shí),根據(jù)按鍵操作,實(shí)時(shí)變換數(shù)值。單片機(jī)操控寫(xiě)入引腳寫(xiě)入要顯示內(nèi)容的命令。之后顯示屏執(zhí)行指令,將內(nèi)容顯示出來(lái)。OLED顯示流程圖如圖3-3所示,程序設(shè)計(jì)如圖3-4和3-5所示。圖3-3OLED顯示流程圖3-4OLED程序設(shè)計(jì)1圖3-5OLED程序設(shè)計(jì)2溫濕度檢測(cè)程序設(shè)計(jì)DHT11獲取溫度的時(shí)序一般是這樣進(jìn)行的。MCU發(fā)出開(kāi)始信號(hào),DHT11即從低功耗轉(zhuǎn)為高速模式。等待主機(jī)信號(hào)結(jié)束,DHT11回應(yīng)并發(fā)送40位數(shù)據(jù),同時(shí)觸發(fā)采集。用戶可按需讀取部分?jǐn)?shù)據(jù)。DHT11在從模式下,僅響應(yīng)開(kāi)始信號(hào)以采集溫濕度,無(wú)信號(hào)則不采集。采集完畢,DHT11自動(dòng)回歸低速模式。具體流程時(shí)序如下圖3-6所示。圖3-6采集數(shù)據(jù)時(shí)序總線空閑時(shí)維持高電平。主機(jī)需拉低總線至少18毫秒,以讓DHT11檢測(cè)到起始信號(hào)。DHT11接收到主機(jī)的信號(hào)后,會(huì)發(fā)送一個(gè)80微秒的低電平響應(yīng)。主機(jī)發(fā)送完信號(hào)后,等待20至40微秒讀取DHT11的響應(yīng)。發(fā)送信號(hào)后,主機(jī)可切換模式,此時(shí)總線由上拉電阻保持高電平狀態(tài),該流程時(shí)序如圖3-7所示。圖3-7傳輸數(shù)據(jù)時(shí)序總線低電平表示DHT11正在響應(yīng)。響應(yīng)后,DHT11會(huì)將總線維持高電平80微秒,以準(zhǔn)備發(fā)送數(shù)據(jù)。每個(gè)數(shù)據(jù)位都從50微秒的低電平開(kāi)始,高電平時(shí)間決定數(shù)據(jù)是0還是1。查看圖示可知具體格式。若讀取到高電平響應(yīng),表明DHT11無(wú)響應(yīng),需檢查線路連接。數(shù)據(jù)發(fā)送完畢后,DHT11將總線拉低50微秒,隨后總線通過(guò)上拉電阻恢復(fù)高電平,進(jìn)入空閑狀態(tài)。如下圖3-8,3-9所示。圖3-8高電平為短的時(shí)序圖3-9高電平為長(zhǎng)的時(shí)序當(dāng)我們想要獲取當(dāng)前環(huán)境的溫濕度數(shù)值時(shí)。溫濕度傳感器在上電后首先啟動(dòng)讀取溫濕度的信號(hào),分別采集當(dāng)前環(huán)境的溫度和濕度的值后將數(shù)據(jù)轉(zhuǎn)化為數(shù)字信號(hào)發(fā)送給單片機(jī)。最后單片機(jī)將接收到溫濕度數(shù)值通過(guò)電壓數(shù)據(jù)轉(zhuǎn)換后,將其直觀地顯示在設(shè)備的OLED屏幕上。當(dāng)用戶觀測(cè)到當(dāng)前的溫濕度數(shù)值后,可以做出相對(duì)應(yīng)的措施。寵物的宜居溫度普遍在15度到30度,濕度在百分之30到百分之50,所以例如溫度低于20度時(shí),應(yīng)該適當(dāng)升高當(dāng)前環(huán)境的溫度,將寵物所飲用的水適當(dāng)加熱。溫度高于百分之六十時(shí),要進(jìn)行除濕操作。本次設(shè)計(jì)的溫濕度檢測(cè)流程圖如圖3-10所示,程序設(shè)計(jì)如圖3-11,3-12所示。圖3-10溫濕度流程圖圖3-11DHT11程序設(shè)計(jì)1圖3-12DHT11程序設(shè)計(jì)2按鍵子程序流程圖本次設(shè)計(jì)按鍵電路功能有切換屏幕界面,設(shè)置光照閾值,切換光照模式以及啟動(dòng)投食。按鍵的工作原理就是對(duì)高低電平信號(hào)的檢測(cè)。在主程序中,循環(huán)執(zhí)行檢測(cè),一旦檢測(cè)到按鍵低電平信號(hào),單片機(jī)產(chǎn)生信號(hào)中斷,進(jìn)入按鍵子程序中。本次設(shè)計(jì)的按鍵流程圖如下圖3-13所示,程序設(shè)計(jì)如圖3-14,3-15所示。圖3-13按鍵子程序流程圖圖3-14按鍵子程序2圖3-15按鍵子程序3本系統(tǒng)采用了三個(gè)獨(dú)立按鍵的設(shè)計(jì),每個(gè)按鈕均具備獨(dú)特的功能,并在前面的硬件介紹中進(jìn)行了詳細(xì)闡述。在按鍵識(shí)別方面,我們采用了掃描法來(lái)準(zhǔn)確檢測(cè)按鍵的狀態(tài)。由于獨(dú)立按鍵本身具有彈性,當(dāng)按下時(shí)會(huì)在閉合和斷開(kāi)之間產(chǎn)生彈動(dòng),這會(huì)導(dǎo)致電路在短時(shí)間內(nèi)反復(fù)在接通和未接通狀態(tài)之間切換。這種快速的切換使得整體電路電壓變得不穩(wěn)定,出現(xiàn)電壓抖動(dòng)的情況,進(jìn)而可能對(duì)整個(gè)系統(tǒng)產(chǎn)生不良影響。為了減小這種抖動(dòng)帶來(lái)的影響,我們采取一種消除抖動(dòng)的方法,使其不會(huì)影響到整體電路的穩(wěn)定性。抖動(dòng)的持續(xù)時(shí)間一般是由按鍵的結(jié)構(gòu)而定,通常在5ms到10ms之間。如果在這段時(shí)間內(nèi)發(fā)生抖動(dòng),將導(dǎo)致系統(tǒng)產(chǎn)生錯(cuò)誤的判斷,從而導(dǎo)致錯(cuò)誤的結(jié)果。為了確保按鍵每次按下只能檢測(cè)到一次,所有去抖動(dòng)技術(shù)顯得尤為重要。對(duì)于存在多個(gè)按鍵的時(shí)候,我們通常會(huì)采用軟件來(lái)消除抖動(dòng)。在檢測(cè)時(shí),考慮到按鍵抖動(dòng)的特性,通過(guò)附加20ms的延遲來(lái)重新檢測(cè)。如果延時(shí)后按鍵仍然閉合,就可以判定為真實(shí)操作,從而確保按鍵識(shí)別的準(zhǔn)確性和穩(wěn)定性。JDY-31藍(lán)牙模塊程序設(shè)計(jì)本次基于STM32的智能寵物喂食系統(tǒng)的設(shè)計(jì)中,我們的通信模塊選擇的是JDY-31藍(lán)牙模塊,此部分的軟件流程設(shè)計(jì)主要涉及初始化藍(lán)牙模塊、建立藍(lán)牙連接、數(shù)據(jù)傳輸與指令接收等步驟。該藍(lán)牙模塊的流程圖如下圖3-16所示。該藍(lán)牙模塊可以通過(guò)手機(jī)APP進(jìn)行通信連接,讓用戶可以利用手機(jī)進(jìn)行查看環(huán)境溫濕度,投喂次數(shù),控制燈光模式和投喂,開(kāi)光燈和設(shè)置光照閾值的功能。程序設(shè)計(jì)如圖3-17和3-18所示。圖3-16藍(lán)牙模塊程序流程圖3-17通信模塊程序設(shè)計(jì)1圖3-18通信模塊程序設(shè)計(jì)2首先初始化藍(lán)牙模塊。STM32與JDY-31連接:首先,將JDY-31藍(lán)牙模塊通過(guò)UART(通常是USART)接口與STM32單片機(jī)對(duì)應(yīng)的引腳相連接。然后在STM32中配置UART接口,包括波特率、數(shù)據(jù)位、停止位和校驗(yàn)位等,確保與JDY-31的通信參數(shù)匹配。通過(guò)STM32向JDY-31發(fā)送初始化指令,設(shè)置藍(lán)牙模塊為可連接狀態(tài),并配置必要的參數(shù)。接著建立藍(lán)牙連接,使用手機(jī)APP開(kāi)啟藍(lán)牙功能,并掃描附近的藍(lán)牙設(shè)備,找到對(duì)應(yīng)的藍(lán)牙并連接。當(dāng)手機(jī)成功連接上藍(lán)牙信號(hào)上,就可以進(jìn)入APP中同步查看各項(xiàng)數(shù)據(jù)。JDY-31模塊支持SPP(串行端口協(xié)議)的藍(lán)牙協(xié)議以實(shí)現(xiàn)數(shù)據(jù)通信。STM32接收到連接確認(rèn)后,開(kāi)始準(zhǔn)備數(shù)據(jù)傳輸。之后便可開(kāi)始讀取傳感器數(shù)據(jù)。STM32從連接的溫濕度傳感器、光照強(qiáng)度傳感器讀取當(dāng)前環(huán)境的實(shí)時(shí)數(shù)據(jù)。將讀取的原始數(shù)據(jù)轉(zhuǎn)換為適合藍(lán)牙傳輸?shù)母袷?。然后再借由UART接口將格式化后的數(shù)據(jù)發(fā)送給JDY-31藍(lán)牙模塊,再發(fā)送到手機(jī)APP。相反,手機(jī)APP的指令通過(guò)藍(lán)牙模塊傳回,由STM32接收并通過(guò)UART接口解析。解析接收到的指令,確定其類型和參數(shù)(如設(shè)置光照閾值、切換光照模式等)。根據(jù)解析后的指令,STM32執(zhí)行相應(yīng)的操作。喂食電機(jī)程序設(shè)計(jì)本次設(shè)計(jì)的喂食電機(jī)型號(hào)為N20。我們通過(guò)單片機(jī)的三號(hào)引腳與其相連。電機(jī)部分我們利用STM32單片機(jī)的I/O輸出高電平控制電機(jī)運(yùn)行。每次運(yùn)行時(shí)間為五秒。運(yùn)行結(jié)束后會(huì)相應(yīng)記錄喂食次數(shù)。如下圖3-19為本次喂食電機(jī)的程序設(shè)計(jì)部分。圖3-19喂食電機(jī)控制程序系統(tǒng)調(diào)試焊接調(diào)試首先,我們需要備齊所有所需的材料和電烙鐵。隨后,按照預(yù)先設(shè)計(jì)好的PCB電路板原理圖,我們將開(kāi)始著手單片機(jī)電路板的焊接工作。起始步驟是焊接單片機(jī)的最小系統(tǒng),確保其核心部分穩(wěn)固可靠。緊接著,我們需要確定OLED液晶顯示屏的準(zhǔn)確位置,將對(duì)應(yīng)的引腳焊接到PCB板上。隨后,我們將逐一焊接各個(gè)傳感器模塊,包括溫濕度傳感器、喂食電機(jī)、按鍵、藍(lán)牙模塊電路以及電源電路。每一步都需要細(xì)心操作,確保焊接質(zhì)量。焊接完成后如下圖4-1。當(dāng)所有模塊焊接完成后,我們必須確保沒(méi)有短路現(xiàn)象發(fā)生。之后,我們會(huì)通過(guò)燒錄軟件將編譯好的程序燒錄進(jìn)系統(tǒng)中,賦予電路板生命。緊接著,我們需要觀察OLED顯示屏上各項(xiàng)數(shù)據(jù)是否顯示正常。如果顯示正常,則證明電路沒(méi)問(wèn)題。若出現(xiàn)顯示錯(cuò)誤,則我們需要檢測(cè)出錯(cuò)誤并解決。之后我們還要查看其他硬件的工作狀態(tài),查看顯示屏上是否有相應(yīng)的輸出。完成這些后,我們的電路板就成功完成了制作。然而,如果在測(cè)試過(guò)程中發(fā)現(xiàn)問(wèn)題,我們需要耐心查找具體出問(wèn)題的部分,并逐一解決,直至電路板能夠正常工作。圖4-1實(shí)物圖功能調(diào)試各模塊焊接完成后,要對(duì)整體的功能進(jìn)行調(diào)試,確保軟件程序的可行性。我們首先要給系統(tǒng)接入電源,然后系統(tǒng)會(huì)對(duì)OLED顯示屏和藍(lán)牙模塊進(jìn)行初始化,完成無(wú)誤后就要測(cè)試處理其他模塊的功能了。我們可以看到OLED屏幕被分成四行,最上方是測(cè)量到的溫度和濕度的數(shù)值,下方是測(cè)量到的光強(qiáng),以及記錄的喂食數(shù)量。我們可以把手放在對(duì)應(yīng)的傳感器上,經(jīng)過(guò)數(shù)秒的探測(cè),OLED屏幕上就會(huì)顯示出相關(guān)數(shù)值的改變。。同理,用一個(gè)物品遮擋在光照強(qiáng)度傳感器的周圍,也可以看到屏幕上有變化的光照強(qiáng)度數(shù)值。在初始顯示界面按下第一個(gè)按鍵,可以進(jìn)入功能設(shè)置界面,并且在OLED液晶顯示屏上設(shè)置光照的工作模式,燈光開(kāi)關(guān)(在手動(dòng)模式下生效),光照閾值。當(dāng)照明工作方式設(shè)定為手動(dòng)時(shí),可先用第一個(gè)鍵將該功能設(shè)定為燈光的開(kāi)關(guān)欄,再用第二個(gè)鍵就可在開(kāi)燈與關(guān)之間來(lái)回轉(zhuǎn)換。在照明工作方式為自動(dòng)化時(shí),根據(jù)預(yù)置的照明閾值,對(duì)照明強(qiáng)度傳感器進(jìn)行實(shí)時(shí)監(jiān)控,在檢測(cè)到周圍照明強(qiáng)度小于設(shè)定的閾值時(shí),LED燈會(huì)自動(dòng)開(kāi)啟,而在外界照明強(qiáng)度超過(guò)設(shè)定的閥值時(shí),燈就會(huì)自動(dòng)熄滅。我們根據(jù)天氣等因素設(shè)置我們所需要的光照閾值,通過(guò)按鍵每次可以加減100的光照值。當(dāng)所有的功能都設(shè)定好之后,就可以按下一次的按鈕,進(jìn)入顯示畫(huà)面在顯示界面中,我們可以通過(guò)按下第二個(gè)或者第三個(gè)按鍵啟動(dòng)我們的投食電機(jī)。按下按鍵后,電機(jī)啟動(dòng),根據(jù)程序中預(yù)設(shè)的時(shí)間,每次投食的時(shí)間為5S鐘。當(dāng)投食結(jié)束后,屏幕顯示界面上的投食次數(shù)就會(huì)相應(yīng)增加次數(shù)。最后是藍(lán)牙通信功能。接入電源初始化完成后,藍(lán)牙模塊會(huì)進(jìn)入工作狀態(tài)發(fā)出信號(hào),我們通過(guò)手機(jī)找到相對(duì)應(yīng)的藍(lán)牙信號(hào)進(jìn)行連接。連接成功后就可以進(jìn)入應(yīng)用,應(yīng)用界面下方會(huì)出現(xiàn)連接成功的提示。我們可以在應(yīng)用上看到對(duì)應(yīng)的環(huán)境溫濕度,光照強(qiáng)度,光照閾值,投喂次數(shù)等。當(dāng)通過(guò)按鍵啟動(dòng)功能或和環(huán)境的各項(xiàng)數(shù)值變化時(shí),應(yīng)用上也會(huì)進(jìn)行同步的變化。我們可以通過(guò)應(yīng)用實(shí)現(xiàn)上述提及到的功能。實(shí)物測(cè)試結(jié)果將所有硬件都焊接,功能測(cè)試完成后,我們可以通過(guò)STC-ISP下載器將程序燒入到單片機(jī)中,通過(guò)USB接口接入一個(gè)5V電壓使其啟動(dòng)運(yùn)行。系統(tǒng)正常運(yùn)行成功后,會(huì)在屏幕上顯示當(dāng)前環(huán)境的溫濕度,光照強(qiáng)度以及投喂次數(shù)。在此界面下按下第二個(gè)按鍵或第三個(gè)按鍵可啟動(dòng)電機(jī)投食,如下圖4-2所示。圖4-2智能寵物喂食系統(tǒng)初始化工作在此界面下按下第二個(gè)按鍵或第三個(gè)按鍵可啟動(dòng)電機(jī)投食,電機(jī)每次運(yùn)行的時(shí)間為5s,電機(jī)運(yùn)行開(kāi)始后,相應(yīng)的會(huì)在屏幕上的喂食次數(shù)加1,如下圖4-3所示。圖4-3啟動(dòng)電機(jī)投食我們將手放在溫濕度傳感器上來(lái)模擬寵物環(huán)境的溫濕度變化,可以看到屏幕上關(guān)于的溫濕度的數(shù)值也相應(yīng)地逐步變化。如下圖4-4所示。圖4-4環(huán)境改變后的溫濕度變化按下第一個(gè)按鍵進(jìn)入功能切換界面,此時(shí)可以看到我們可以調(diào)節(jié)燈光的工作模式,燈光的開(kāi)啟和當(dāng)前設(shè)置的光照閾值,如下圖4-6所示。圖4-6系統(tǒng)的功能界面在默認(rèn)為手動(dòng)開(kāi)啟燈光的工作模式下,通過(guò)第一個(gè)按鍵切換到燈光的開(kāi)關(guān),按鍵第二個(gè)按鍵即可打開(kāi)燈光,如下圖4-7所示。圖4-7開(kāi)啟燈光操控按鍵到設(shè)置光照閾值,按鍵二為減小閾值,按鍵三為增加閾值,每次的單位為100。如下圖15所示。圖4-8設(shè)置光照閾值切換燈光的工作模式為自動(dòng)模式,將燈光閾值設(shè)置為1800,利用手遮擋在光照強(qiáng)度傳感器前模擬環(huán)境光線強(qiáng)度低于1800時(shí)的情景,可以看到燈光自動(dòng)打開(kāi),如下圖4-9。圖4-9光照自動(dòng)工作模式手機(jī)打開(kāi)藍(lán)牙與JDY-31藍(lán)牙模塊配對(duì)可以在手機(jī)上顯示結(jié)果,當(dāng)系統(tǒng)在正常工作狀態(tài)下時(shí),手機(jī)藍(lán)牙接收app每隔一段時(shí)間接收一次數(shù)據(jù)。藍(lán)牙連接客戶端如下圖18所示。連接好之后可以同步系統(tǒng)的數(shù)據(jù),如下圖4-10。圖4-10手機(jī)app界面總結(jié)與展望總結(jié)自2023年11月確定以“基于STM32F103C8T6單片機(jī)的智能寵物喂食系統(tǒng)”為畢業(yè)設(shè)計(jì)題目以來(lái),我開(kāi)始了這段富有挑戰(zhàn)與收獲的旅程。選擇這一題目,是源于我對(duì)嵌入式系統(tǒng)以及寵物智能化飼養(yǎng)的濃厚興趣。在確定題目后,我首先通過(guò)圖書(shū)館、學(xué)術(shù)網(wǎng)站以及在線論壇等途徑,廣泛搜集與STM32單片機(jī)及其相關(guān)外設(shè)、寵物喂食器設(shè)計(jì)等方面的資料。我閱讀了大量的論文、技術(shù)文檔和用戶手冊(cè),逐步建立了對(duì)STM32單片機(jī)的系統(tǒng)認(rèn)識(shí),并熟悉了其編程語(yǔ)言和開(kāi)發(fā)環(huán)境。同時(shí),我也對(duì)市場(chǎng)上現(xiàn)有的寵物喂食器進(jìn)行了深入的分析和比較,為我的系統(tǒng)設(shè)計(jì)提供了寶貴的參考。在設(shè)計(jì)開(kāi)始初期,我遇到了許多的困難。例如硬件資料的尋找以及和單片機(jī)的引腳功能等問(wèn)題,但多虧了我的指導(dǎo)老師和同學(xué)都不予余力地幫助我。我定期與導(dǎo)師進(jìn)行面對(duì)面或線上的交流,討論系統(tǒng)設(shè)計(jì)中的關(guān)鍵問(wèn)題,尋求他的專業(yè)建議。同時(shí),我也經(jīng)常與實(shí)驗(yàn)室的同學(xué)們分享彼此的學(xué)習(xí)成果和遇到的問(wèn)題,大家在相互討論中共同進(jìn)步。經(jīng)過(guò)幾個(gè)月的努力,我完成了智能喂食系統(tǒng)的硬件電路設(shè)計(jì)和軟件編程。我選擇了合適的電機(jī)和傳感器,設(shè)計(jì)了穩(wěn)定的電源電路和可靠的通信接口。在軟件方面,我利用STM32的定時(shí)器功能實(shí)現(xiàn)了環(huán)境光照變化以及電機(jī)投喂等功能,并編寫(xiě)了用戶界面程序,方便用戶設(shè)置和調(diào)整喂食計(jì)劃。最終,我成功地完成了智能喂食系統(tǒng)的制作和調(diào)試。通過(guò)實(shí)際測(cè)試,系統(tǒng)能夠按照預(yù)設(shè)的時(shí)間和量自動(dòng)進(jìn)行喂食,同時(shí)也能夠響應(yīng)用戶的手動(dòng)控制命令。這一成果不僅展現(xiàn)了我對(duì)STM32單片機(jī)編程和硬件設(shè)計(jì)的掌握程度,也體現(xiàn)了我對(duì)寵物飼養(yǎng)智能化需求的深入理解和創(chuàng)新精神。在這次設(shè)計(jì)過(guò)程中,通過(guò)不斷地學(xué)習(xí)和實(shí)踐,不僅提高了我的專業(yè)技能和獨(dú)立思考的能力,還讓我知道了理論與實(shí)踐相結(jié)合的重要性這。次畢業(yè)設(shè)計(jì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論