国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

給客戶做網(wǎng)站需要付法律責(zé)任嗎長春網(wǎng)站seo

給客戶做網(wǎng)站需要付法律責(zé)任嗎,長春網(wǎng)站seo,wordpress php轉(zhuǎn)html,服務(wù)器維護(hù)是什么意思基于STM32寵物喂養(yǎng)系統(tǒng) 前言: 隨著人們生活幸福指數(shù)的提高,越來越多的家庭選擇養(yǎng)寵物來為生活增添樂趣。然而,由于工作等原因,許多主人無法及時為寵物提供充足的食物與水。為了解決這一問題,我設(shè)計了一款便捷的寵物喂…

基于STM32寵物喂養(yǎng)系統(tǒng)

前言:

隨著人們生活幸福指數(shù)的提高,越來越多的家庭選擇養(yǎng)寵物來為生活增添樂趣。然而,由于工作等原因,許多主人無法及時為寵物提供充足的食物與水。為了解決這一問題,我設(shè)計了一款便捷的寵物喂養(yǎng)設(shè)備。該設(shè)備采用STM32單片機(jī)為核心控制單元,通過電驅(qū)動模塊、光電傳感器模塊、溫度傳感器模塊以及超聲波檢測水位,實現(xiàn)給寵物定時定量喂食喂水的功能。

目錄:

目錄:

一、項目背景與目標(biāo)

1.1 項目背景:

1.2 項目目標(biāo):

1.3 國內(nèi)外研究現(xiàn)狀:

1.3.1 國外研究現(xiàn)狀:

1.3.2 國內(nèi)研究現(xiàn)狀:

1.4 發(fā)展趨勢:

二、硬件電路設(shè)計

2.1 總體電路設(shè)計:

2.2?主控單元

2.2.1 STM32單片機(jī)

2.2.2 電路設(shè)計

2.3?供電模塊

2.4?傳感器模塊

2.4.1 溫濕度傳感器(DHT11)

2.4.2 紅外測溫傳感器(MLX90614)

2.4.3 有害氣體傳感器:

2.4.4 水位傳感器:

2.4.5 壓力傳感器(HX711)

2.4.6整體模塊功能連接?

2.5?顯示模塊

2.6?控制模塊

2.6.1 繼電器模塊:

2.6.2 蜂鳴器:

2.6.3 LED指示燈:

2.7?用戶輸入模塊

2.8?外設(shè)接口

2.8.1 RTC模塊(DS1302):

2.8.2 語音模塊:

2.9?電路連接示意

2.10?PCB設(shè)計

2.11 實物整體效果

三、軟件設(shè)計

3.1 主要模塊

3.2 功能說明

3.3 分析

3.4 main函數(shù)代碼:

四、開發(fā)環(huán)境:

4.1?Keil uVision5?

4.2?Altium Designer

詳細(xì)資料源碼:畢設(shè)&課設(shè)&項目&競賽-基于STM32寵物喂養(yǎng)系統(tǒng)(源碼+PCB+論文+完整設(shè)計材料資料).zip_fbp項目資源-CSDN文庫

總目錄:

AD軟件打開電路圖?

KEIL軟件打開代碼?

?電路圖

??模塊資料???????

?屏幕說明+實物照片

上位機(jī)軟件?

元器件清單?

源代碼?


一、項目背景與目標(biāo)

1.1 項目背景:

隨著社會的發(fā)展和人們生活水平的不斷提高,寵物已經(jīng)成為越來越多家庭生活中的重要成員。寵物不僅給人們帶來了歡樂,也成為了家庭成員之一。然而,隨著工作節(jié)奏的加快和生活壓力的增大,許多寵物主人面臨著無法隨時照顧寵物的難題。尤其是對于定時定量喂食喂水這樣的基本生活需求,許多主人往往因為忙碌而無法滿足。

為了解決這一實際問題,提高寵物主人的生活質(zhì)量,同時也確保寵物能夠得到良好的照顧,我們團(tuán)隊設(shè)計并開發(fā)了一款基于STM32單片機(jī)的智能寵物喂養(yǎng)設(shè)備。該設(shè)備旨在通過創(chuàng)新的技術(shù)手段,實現(xiàn)寵物的自動喂養(yǎng),減輕主人的負(fù)擔(dān),提高寵物的生活質(zhì)量。讓寵物主人即使在忙碌的工作日也能確保寵物得到及時和適量的喂養(yǎng)。通過科學(xué)合理的喂養(yǎng),確保寵物健康成長,減少因飲食不當(dāng)導(dǎo)致的問題。通過智能化的互動,增進(jìn)寵物主人與寵物之間的情感聯(lián)系。為寵物行業(yè)提供創(chuàng)新的解決方案,引領(lǐng)行業(yè)向更加智能化、個性化的方向發(fā)展。

1.2 項目目標(biāo):

  1. 自動化喂養(yǎng):通過智能設(shè)備,實現(xiàn)寵物的定時定量喂食喂水,確保寵物在主人不在家時也能得到充足的營養(yǎng)和水分。

  2. 提高便利性:為寵物主人提供一種便捷的喂養(yǎng)解決方案,讓他們能夠更加輕松地管理寵物的日常飲食。

  3. 增強安全性:通過傳感器模塊實時監(jiān)測寵物的飲食環(huán)境,如溫度、水位等,確保寵物在健康的環(huán)境中生活。

  4. 遠(yuǎn)程監(jiān)控:利用移動應(yīng)用程序,讓寵物主人可以遠(yuǎn)程控制設(shè)備,隨時了解寵物的飲食狀況。

  5. 節(jié)能環(huán)保:設(shè)計時考慮節(jié)能環(huán)保,減少能源消耗,符合可持續(xù)發(fā)展的理念。

通過這款智能寵物喂養(yǎng)設(shè)備,我們不僅致力于為寵物主人提供一種更加人性化的寵物照顧方式,設(shè)備的設(shè)計旨在模擬自然喂養(yǎng)環(huán)境,通過精準(zhǔn)控制食物和水量的供給,確保寵物獲得均衡的營養(yǎng),從而提升它們的生活品質(zhì)。通過設(shè)備提供的實時監(jiān)控和互動功能,主人可以更加直觀地感受到寵物的需求,增強主人與寵物之間的情感聯(lián)系。

我們的設(shè)備代表了寵物行業(yè)智能化、自動化的一個新趨勢,鼓勵行業(yè)內(nèi)的其他企業(yè)和技術(shù)人員探索更多的創(chuàng)新解決方案。通過設(shè)備收集的數(shù)據(jù),寵物主人可以更好地了解寵物的飲食習(xí)慣和健康狀況,及時調(diào)整喂養(yǎng)策略,預(yù)防潛在的健康問題。通過提供更加便捷和有效的喂養(yǎng)方式,我們希望能夠減少因為主人無法照顧寵物而導(dǎo)致的棄養(yǎng)現(xiàn)象,為社會和諧做出貢獻(xiàn)。

我們的設(shè)備采用了節(jié)能技術(shù),鼓勵寵物主人從日常生活中踐行環(huán)保理念,減少資源浪費。通過參與寵物照顧設(shè)備的研發(fā)和推廣,我們希望能夠培養(yǎng)公眾對寵物福利的關(guān)注,提高社會對動物保護(hù)的意識。我們的智能寵物喂養(yǎng)設(shè)備可以作為平臺,連接更多的智能寵物產(chǎn)品和服務(wù),共同構(gòu)建一個完整的智能寵物生態(tài)系統(tǒng)。

圖1-1?光多拉貓咪自動喂食器貓碗貓食盆飲水機(jī)狗吃飯喝水投食貓糧器寵物用品?

1.3 國內(nèi)外研究現(xiàn)狀:

1.3.1 國外研究現(xiàn)狀:

  1. 技術(shù)領(lǐng)先:國外在智能寵物設(shè)備領(lǐng)域的研究起步較早,技術(shù)相對成熟。許多產(chǎn)品已經(jīng)實現(xiàn)了高度自動化,如自動喂食器、自動飲水機(jī)等。

  2. 功能多樣:國外的智能寵物喂養(yǎng)設(shè)備通常功能豐富,不僅包括自動喂食和飲水,還可能包括寵物健康監(jiān)測、行為分析等。

  3. 品牌競爭激烈:國際上有多個知名品牌在智能寵物喂養(yǎng)設(shè)備市場占據(jù)領(lǐng)先地位,如PetSafe、Petronics等。

  4. 重視用戶體驗:國外研究注重用戶體驗,設(shè)備設(shè)計更加人性化,操作簡單,便于寵物主人使用。

1.3.2 國內(nèi)研究現(xiàn)狀:

  1. 快速發(fā)展:近年來,隨著國內(nèi)寵物經(jīng)濟(jì)的興起,智能寵物喂養(yǎng)設(shè)備市場迅速發(fā)展,吸引了眾多企業(yè)和研究機(jī)構(gòu)的關(guān)注。

  2. 技術(shù)創(chuàng)新:國內(nèi)在智能寵物喂養(yǎng)設(shè)備技術(shù)上不斷取得突破,如利用人工智能、物聯(lián)網(wǎng)等技術(shù)提升設(shè)備的智能化水平。

  3. 市場潛力巨大:由于國內(nèi)寵物數(shù)量龐大,寵物主人的消費能力不斷提升,智能寵物喂養(yǎng)設(shè)備市場潛力巨大。

  4. 政策支持:政府出臺了一系列政策支持寵物產(chǎn)業(yè)發(fā)展,為智能寵物喂養(yǎng)設(shè)備的發(fā)展提供了良好的外部環(huán)境。

  5. 關(guān)注健康與安全:國內(nèi)研究更加關(guān)注寵物的健康和安全,設(shè)備在設(shè)計和制造過程中更加注重寵物福利。

國內(nèi)外在智能寵物喂養(yǎng)設(shè)備的研究上各有側(cè)重,國外更注重技術(shù)的成熟和功能的多樣性,而國內(nèi)則更注重技術(shù)創(chuàng)新和市場拓展。隨著技術(shù)的不斷進(jìn)步和市場需求的增長,智能寵物喂養(yǎng)設(shè)備有望在未來得到更廣泛的應(yīng)用和發(fā)展。

1.4 發(fā)展趨勢:

隨著人工智能、機(jī)器學(xué)習(xí)等技術(shù)的進(jìn)步,智能寵物喂養(yǎng)設(shè)備將更加智能化。未來設(shè)備將能夠通過學(xué)習(xí)寵物的飲食習(xí)慣和生活規(guī)律,自動調(diào)整喂食量和時間,甚至能夠識別寵物的情緒變化,做出相應(yīng)的調(diào)整。智能寵物喂養(yǎng)設(shè)備將集健康監(jiān)測功能于一體,通過內(nèi)置的傳感器監(jiān)測寵物的體重、飲食、運動等數(shù)據(jù),結(jié)合大數(shù)據(jù)分析,為寵物提供個性化的健康管理建議。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,智能寵物喂養(yǎng)設(shè)備將實現(xiàn)與移動設(shè)備的無縫連接,寵物主人可以通過手機(jī)APP遠(yuǎn)程控制喂食、喂水,實時查看寵物的健康狀況,甚至進(jìn)行視頻通話。

未來的智能寵物喂養(yǎng)設(shè)備將提供更加個性化的服務(wù)。用戶可以根據(jù)寵物的種類、年齡、體重等特征,自定義喂養(yǎng)計劃,滿足不同寵物的特殊需求。環(huán)保理念將貫穿智能寵物喂養(yǎng)設(shè)備的研發(fā)和生產(chǎn)過程。設(shè)備將采用更加節(jié)能的材料和設(shè)計,減少能源消耗,同時確保產(chǎn)品的可回收性和環(huán)保性。智能寵物喂養(yǎng)設(shè)備將不再局限于喂食和飲水功能,可能會集成寵物玩具、溫度控制、空氣凈化等功能,打造一個完整的寵物生活解決方案。

用戶體驗將是產(chǎn)品設(shè)計的重要考慮因素。未來設(shè)備將更加注重人機(jī)交互界面設(shè)計,提供更加直觀、易用的操作體驗。隨著數(shù)據(jù)收集和分析的增多,智能寵物喂養(yǎng)設(shè)備將面臨數(shù)據(jù)安全和隱私保護(hù)的問題。因此,設(shè)備將需要更加嚴(yán)格的數(shù)據(jù)加密和安全措施,確保用戶數(shù)據(jù)的安全。隨著技術(shù)的成熟和規(guī)?;a(chǎn),智能寵物喂養(yǎng)設(shè)備的成本有望降低,使其更加普及,更多家庭能夠負(fù)擔(dān)得起。隨著行業(yè)的快速發(fā)展,智能寵物喂養(yǎng)設(shè)備將需要更多的行業(yè)標(biāo)準(zhǔn)與認(rèn)證,以確保產(chǎn)品的質(zhì)量和安全性。智能寵物喂養(yǎng)設(shè)備的發(fā)展趨勢將是多方面的,從技術(shù)創(chuàng)新到用戶體驗,都將朝著更加智能化、個性化和人性化的方向發(fā)展。
?

二、硬件電路設(shè)計

2.1 總體電路設(shè)計:

本方案旨在設(shè)計一款智能寵物喂養(yǎng)設(shè)備,核心由STM32單片機(jī)作為主控單元,負(fù)責(zé)處理所有傳感器數(shù)據(jù)、執(zhí)行控制邏輯以及與用戶界面交互。供電模塊采用穩(wěn)壓的DC-DC轉(zhuǎn)換器,以保障STM32和其他外設(shè)所需的電壓(如3.3V、5V等),并結(jié)合鋰電池供電方案以實現(xiàn)高效能和便攜性。傳感器模塊包括DHT11溫濕度傳感器、紅外測溫傳感器(MLX90614)、有害氣體傳感器(MQ系列)、水位傳感器(超聲波或電阻式)和壓力傳感器(HX711),它們通過GPIO、ADC或I2C接口與STM32連接,實時采集環(huán)境數(shù)據(jù)。

顯示模塊使用OLED顯示屏,通過I2C或SPI接口與STM32連接,展示溫濕度、重量和水位等信息??刂颇K包括繼電器模塊用于控制水泵開關(guān),蜂鳴器發(fā)出警報音,LED指示燈用于狀態(tài)指示,全部通過GPIO控制。用戶輸入模塊由按鍵組成,用戶可通過按鍵設(shè)置時間和喂養(yǎng)參數(shù),連接至GPIO引腳,采用簡單的按鍵掃描方式。外設(shè)接口包括RTC模塊(DS1302)用于實時時間跟蹤,采用SPI接口與STM32連接,以及音樂模塊,通過PWM或DAC輸出連接至STM32。電路連接示意中,STM32的GPIO引腳連接各類傳感器、繼電器、蜂鳴器、LED和按鍵,同時ADC引腳連接有害氣體和水位傳感器的模擬輸出,I2C/SPI引腳連接OLED顯示屏和紅外測溫傳感器以及RTC模塊。

在PCB設(shè)計中,需要合理布局電路以確保信號完整性,減少干擾,電源線和信號線應(yīng)分開,并使用適當(dāng)?shù)娜ヱ铍娙輥頊p少電源噪聲。最后,在設(shè)計完成后進(jìn)行調(diào)試與測試,以確保各個模塊正常工作,數(shù)據(jù)采集準(zhǔn)確,控制響應(yīng)及時。

圖2-1 整體電路圖設(shè)計?

2.2?主控單元

2.2.1 STM32單片機(jī)

STM32單片機(jī)在智能寵物喂養(yǎng)設(shè)備中擔(dān)任核心控制器的角色。它負(fù)責(zé)實時處理來自各類傳感器的數(shù)據(jù),執(zhí)行相應(yīng)的控制邏輯,并與用戶界面進(jìn)行交互。STM32的多種接口(如GPIO、ADC、I2C、SPI等)使其能夠靈活地連接溫濕度傳感器、紅外測溫傳感器、水位傳感器等外設(shè),確保系統(tǒng)能夠準(zhǔn)確獲取環(huán)境信息。此外,STM32還能夠根據(jù)傳感器的數(shù)據(jù)做出及時反應(yīng),如控制水泵的開關(guān)、發(fā)出警報信號以及更新OLED顯示屏的信息。這種高效的處理能力和靈活的接口設(shè)計,使得STM32單片機(jī)成為智能寵物喂養(yǎng)設(shè)備的理想選擇。

圖2-2 STM32F103C8T6 實物圖

2.2.2 電路設(shè)計

在智能寵物喂養(yǎng)設(shè)備中,主控芯片STM32的接線設(shè)計至關(guān)重要,確保各個模塊能夠有效地連接和通信。溫濕度傳感器(DHT11)數(shù)據(jù)引腳連接至STM32的任意GPIO引腳,例如PA0。VCC和GND引腳分別連接至電源和地。紅外測溫傳感器(MLX90614)SDA(數(shù)據(jù)線)連接至STM32的I2C引腳(如PB7),SCL(時鐘線)連接至STM32的I2C引腳(如PB6),VCC和GND連接至電源和地。有害氣體傳感器(MQ系列)模擬輸出引腳連接至STM32的ADC引腳(如PA1)。VCC和GND連接至電源和地。

水位傳感器模擬輸出引腳連接至STM32的ADC引腳(如PA2),VCC和GND連接至電源和地,壓力傳感器(HX711),數(shù)據(jù)引腳(DT)連接至STM32的GPIO引腳(如PB0),時鐘引腳(SCK)連接至STM32的GPIO引腳(如PB1),VCC和GND連接至電源和地。顯示模塊的連接OLED顯示屏,SDA連接至STM32的I2C引腳(如PB7),SCL連接至STM32的I2C引腳(如PB6),VCC和GND連接至電源和地,控制模塊的連接,繼電器模塊控制引腳連接至STM32的GPIO引腳(如PB2),用于控制水泵的開關(guān)。VCC和GND連接至電源和地。蜂鳴器連接至STM32的GPIO引腳(如PB3),用于發(fā)出警報音。VCC和GND連接至電源和地。

LED指示燈連接至STM32的GPIO引腳(如PB4),用于狀態(tài)指示。VCC和GND連接至電源和地,用戶輸入模塊的連接,按鍵模塊按鍵引腳連接至STM32的GPIO引腳(如PA3、PA4、PA5、PA6),用于用戶輸入。VCC和GND連接至電源和地。外設(shè)接口的連接RTC模塊(DS1302)數(shù)據(jù)引腳連接至STM32的任意GPIO引腳(如PB5)。CLK引腳連接至STM32的GPIO引腳(如PB5)。VCC和GND連接至電源和地。音樂模塊連接至STM32的PWM引腳(如PA7)或DAC引腳(如PA8)。

電源所有模塊的VCC引腳應(yīng)連接至5V或3.3V的電源,GND引腳應(yīng)接至公共地。考慮在電源線上添加去耦電容,以減少電源噪聲對系統(tǒng)的影響。在設(shè)計PCB時,確保信號線與電源線分開布置,以降低干擾,適當(dāng)使用接地平面,減少噪聲和電磁干擾。通過上述接線設(shè)計,STM32能夠有效地與各個傳感器和控制模塊進(jìn)行交互,確保智能寵物喂養(yǎng)設(shè)備正常工作。

模塊名稱STM32連接引腳功能說明供電要求
溫濕度傳感器(DHT11)PA0讀取環(huán)境溫度和濕度VCC: 5V, GND: 0V
紅外測溫傳感器(MLX90614)PB6 (SCL), PB7 (SDA)遠(yuǎn)程測量物體溫度VCC: 3.3V, GND: 0V
有害氣體傳感器(MQ系列)PA1 (ADC)檢測空氣中有害氣體濃度VCC: 5V, GND: 0V
水位傳感器PA2 (ADC)檢測水位高度VCC: 5V, GND: 0V
HX711壓力傳感器PB0 (DT), PB1 (SCK)讀取物體重量VCC: 5V, GND: 0V
OLED顯示屏PB6 (SCL), PB7 (SDA)顯示溫度、濕度、時間等信息VCC: 3.3V, GND: 0V
繼電器模塊PB2控制水泵的開關(guān)VCC: 5V, GND: 0V
蜂鳴器PB3發(fā)出聲音警報VCC: 5V, GND: 0V
LED指示燈PB4狀態(tài)指示燈VCC: 5V, GND: 0V
按鍵模塊PA3, PA4, PA5, PA6用戶輸入按鈕VCC: 5V, GND: 0V
RTC模塊(DS1302)PB5實時時鐘顯示VCC: 3.3V, GND: 0V
音樂模塊PA7 (PWM)播放音樂VCC: 5V, GND: 0V

圖2-3 電路圖設(shè)計?

2.3?供電模塊

  • 電源管理:設(shè)計穩(wěn)定的電源模塊,通常采用DC-DC轉(zhuǎn)換器,以保證STM32和其他外設(shè)所需的電壓(如3.3V、5V等)??梢允褂娩囯姵毓╇?#xff0c;并結(jié)合充電電路。
  • 電源管理:設(shè)計穩(wěn)定的電源模塊,通常采用DC-DC轉(zhuǎn)換器,以保證STM32和其他外設(shè)所需的電壓(如3.3V、5V等)??梢允褂娩囯姵毓╇?#xff0c;并結(jié)合充電電路。

圖2-4 穩(wěn)壓電路實物圖?

?

2.4?傳感器模塊

2.4.1 溫濕度傳感器(DHT11)

溫濕度傳感器(DHT11)用于監(jiān)測環(huán)境的溫度和濕度。以下是該傳感器的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
溫濕度傳感器(DHT11)監(jiān)測環(huán)境溫度和濕度GPIO數(shù)字信號PA0

詳細(xì)說明

  • 功能:DHT11傳感器能夠提供環(huán)境的溫度和濕度信息,適用于氣候監(jiān)測和室內(nèi)環(huán)境控制等應(yīng)用。
  • 連接方式:DHT11通過單根數(shù)據(jù)線與STM32進(jìn)行通信,使用GPIO引腳讀取傳感器輸出的數(shù)據(jù)。
  • 連接至STM32引腳:建議將DHT11的數(shù)據(jù)引腳連接至STM32的PA0引腳。同時,確保VCC和GND引腳正確連接至電源和地。

額外注意事項

  • 在使用DHT11時,建議在數(shù)據(jù)引腳和STM32引腳之間添加一個4.7kΩ的上拉電阻,以確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
  • DHT11的測量范圍和精度:
    • 溫度范圍:0°C to 50°C,精度±2°C。
    • 濕度范圍:20% to 80% RH,精度±5% RH。

這個信息可以幫助您更好地理解DHT11傳感器的功能及其在智能寵物喂養(yǎng)設(shè)備中的應(yīng)用。

圖2-5 DHT11溫濕度傳感器實物圖

圖2-6 電路圖設(shè)計

2.4.2 紅外測溫傳感器(MLX90614)

紅外測溫傳感器(MLX90614)用于非接觸式溫度測量。以下是該傳感器的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
紅外測溫傳感器(MLX90614)非接觸式測量物體溫度I2C通信接口PB6 (SCL), PB7 (SDA)

詳細(xì)說明

  • 功能:MLX90614能夠以非接觸的方式測量目標(biāo)物體的溫度,非常適合用于寵物體溫監(jiān)測、工業(yè)溫度檢測及其他需要非接觸測溫的應(yīng)用。
  • 連接方式:該傳感器通過I2C通信接口與STM32進(jìn)行連接,使用兩根線(SCL和SDA)進(jìn)行數(shù)據(jù)傳輸。
  • 連接至STM32引腳
    • SCL(時鐘線)連接至STM32的PB6引腳。
    • SDA(數(shù)據(jù)線)連接至STM32的PB7引腳。

額外注意事項

  • 確保在I2C總線上添加適當(dāng)?shù)纳侠娮?#xff08;通常為4.7kΩ)以確保信號穩(wěn)定。
  • MLX90614的工作電壓通常為3.0V至3.6V,確保供電符合要求。

圖2-7?MLX90614實物圖

圖2-8?MLX90614電路設(shè)計圖?

2.4.3 有害氣體傳感器

有害氣體傳感器(如MQ系列傳感器)用于檢測空氣中有害氣體的濃度。以下是該傳感器的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
有害氣體傳感器(MQ系列)檢測空氣中有害氣體濃度模擬信號輸出PA1 (ADC)

詳細(xì)說明

  • 功能:MQ系列傳感器能夠檢測多種有害氣體的濃度,如甲烷(CH4)、一氧化碳(CO)、氨氣(NH3)等,適用于空氣質(zhì)量監(jiān)測和安全檢測等應(yīng)用。
  • 連接方式:傳感器通過模擬信號輸出將氣體濃度信息發(fā)送至STM32,STM32通過ADC(模擬數(shù)字轉(zhuǎn)換器)引腳讀取這些值。
  • 連接至STM32引腳
    • 將MQ傳感器的模擬輸出引腳連接至STM32的PA1引腳,用于ADC讀取氣體濃度。

額外注意事項

  • 在使用MQ系列傳感器時,通常需要一個適當(dāng)?shù)碾娫春拓?fù)載電阻以確保傳感器的正常工作。
  • 傳感器的校準(zhǔn)是非常重要的,確保在使用之前進(jìn)行適當(dāng)?shù)臏y試和校準(zhǔn),以提高檢測的準(zhǔn)確性。

圖2-9?MQ 煙霧傳感器實物圖

2.10??MQ 煙霧傳感器電路圖

2.4.4 水位傳感器

水位傳感器可以采用超聲波傳感器或電阻式水位傳感器,用于監(jiān)測水體的水位。以下是水位傳感器的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
超聲波水位傳感器(如HC-SR04)通過超聲波測量水位數(shù)字信號輸出PA2 (Trig), PA3 (Echo)
電阻式水位傳感器通過電阻變化測量水位模擬信號輸出PA4 (ADC)

詳細(xì)說明

1. 超聲波水位傳感器(HC-SR04)

  • 功能:通過發(fā)射超聲波并測量回波時間來計算水位,適用于水池、魚缸等多種場景的水位檢測。
  • 連接方式
    • Trig引腳用于觸發(fā)超聲波發(fā)射,連接至STM32的PA2引腳。
    • Echo引腳用于接收回波信號,連接至STM32的PA3引腳。

?

圖2-11 HC-SR04 實物圖

2. 電阻式水位傳感器

  • 功能:通過浸入水中電阻的變化來檢測水位,適用于簡單的水位監(jiān)測。
  • 連接方式:傳感器的輸出為模擬信號,連接至STM32的PA4引腳,用于ADC讀取水位。

額外注意事項

  • 對于超聲波傳感器,確保傳感器與水面保持適當(dāng)距離,避免干擾。
  • 電阻式水位傳感器應(yīng)確保材料耐腐蝕,以適應(yīng)水環(huán)境。
  • 校準(zhǔn)傳感器以確保測量準(zhǔn)確性。

圖 2.12 水位傳感器實物圖

2.4.5 壓力傳感器(HX711)

壓力傳感器(HX711)常用于重量測量,尤其是在與稱重傳感器(如應(yīng)變片)結(jié)合使用時。以下是HX711模塊的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
壓力傳感器(HX711)用于測量重量數(shù)字信號輸出SCK, DT

詳細(xì)說明

  • 功能:HX711模塊用于將稱重傳感器的模擬信號轉(zhuǎn)換為數(shù)字信號,適合用于秤、天平等重量測量應(yīng)用。
  • 連接方式:HX711模塊通過數(shù)字信號與STM32進(jìn)行連接,通常使用兩個引腳。
  • 連接至STM32引腳
    • SCK(時鐘引腳)連接至STM32的某個數(shù)字引腳(例如PA5)。
    • DT(數(shù)據(jù)引腳)連接至STM32的另一個數(shù)字引腳(例如PA6)。

額外注意事項

  • 確保HX711模塊的供電電壓符合規(guī)格(通常為2.7V至5.5V),以避免損壞。
  • 使用適當(dāng)?shù)膸?#xff08;如HX711庫)進(jìn)行數(shù)據(jù)采集和處理,以簡化編程過程。
  • 對于稱重傳感器,使用前需進(jìn)行校準(zhǔn),以確保測量的準(zhǔn)確性。

?

?圖2.13?HX711壓力傳感器實物圖

圖 2.14?HX711壓力傳感器電路圖

2.4.6整體模塊功能連接?

傳感器名稱功能連接方式連接至STM32引腳
溫濕度傳感器(DHT11)監(jiān)測環(huán)境溫度和濕度GPIO數(shù)字信號PA0
紅外測溫傳感器(MLX90614)非接觸式溫度測量I2C通信接口PB6 (SCL), PB7 (SDA)
有害氣體傳感器(MQ系列)檢測空氣中有害氣體濃度模擬信號PA1 (ADC)
水位傳感器檢測水位高度(超聲波或電阻式)模擬信號PA2 (ADC)
壓力傳感器(HX711)測量物體重量數(shù)字信號PB0 (DT), PB1 (SCK)

功能:描述每個傳感器的主要用途。

連接方式:傳感器如何與STM32進(jìn)行連接。

連接至STM32引腳:指定傳感器連接到STM32開發(fā)板上的具體引腳。

2.5?顯示模塊

OLED顯示屏:?

OLED顯示屏是一種常用的顯示設(shè)備,能夠以高對比度和低功耗的方式顯示各種信息。以下是OLED顯示屏的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
OLED顯示屏顯示溫濕度、重量、水位等信息I2C或SPI接口I2C: SDA, SCL(如PB7, PB6)<br>SPI: MOSI, SCK, CS(如PB5, PB3, PA4)

詳細(xì)說明

  • 功能:OLED顯示屏可以用于實時顯示溫度、濕度、重量、水位等信息,適合用于智能設(shè)備和物聯(lián)網(wǎng)應(yīng)用。
  • 連接方式
    • I2C接口:通常使用兩根引腳連接:
      • SDA(數(shù)據(jù)線)連接至STM32的PB7引腳。
      • SCL(時鐘線)連接至STM32的PB6引腳。
    • SPI接口:通常使用三根引腳連接:
      • MOSI(主設(shè)備輸出,從設(shè)備輸入)連接至STM32的PB5引腳。
      • SCK(時鐘線)連接至STM32的PB3引腳。
      • CS(片選線)連接至STM32的PA4引腳。

注意事項

  • 選擇I2C或SPI接口時,要確保相應(yīng)的引腳配置和庫的支持。
  • OLED顯示屏通常需要一個適當(dāng)?shù)墓╇婋妷?#xff08;例如3.3V或5V),應(yīng)根據(jù)具體型號選擇。
  • 在編程時,可以使用相關(guān)的庫(如Adafruit SSD1306或U8g2)來簡化顯示內(nèi)容的設(shè)置和更新。

2.6?控制模塊

2.6.1 繼電器模塊

繼電器模塊是用于控制高功率設(shè)備(如水泵)的重要組件,可以通過微控制器的GPIO引腳來控制其開關(guān)狀態(tài)。以下是繼電器模塊的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
繼電器模塊控制水泵的開關(guān)GPIO控制任意GPIO引腳(如PA0)

詳細(xì)說明

  • 功能:繼電器模塊通過繼電器的開關(guān)動作來控制水泵的啟動和停止,適用于自動化控制系統(tǒng)。
  • 連接方式
    • 繼電器模塊通常有一個控制引腳、供電引腳和公共接點。
    • 控制引腳連接至STM32的任意GPIO引腳(例如PA0)。
    • 供電引腳通常連接至VCC(一般為5V)。
    • GND引腳連接至地。

注意事項

  • 確保繼電器的額定電流和電壓滿足所控制水泵的需求。
  • 在設(shè)計電路時,注意使用二極管(如1N4001)來防止反向電流對GPIO引腳造成損害,通常連接在繼電器的線圈兩端。
  • 在編程時,通過控制GPIO引腳的高低電平來實現(xiàn)繼電器的開關(guān)控制,例如設(shè)置引腳為高電平以啟動水泵,低電平以停止水泵。

圖2.15?繼電器傳感器實物圖

2.6.2 蜂鳴器

蜂鳴器是一種常用的聲響設(shè)備,可用于發(fā)出警報音或提示音。以下是蜂鳴器的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
蜂鳴器發(fā)出警報音或提示音GPIO控制任意GPIO引腳(如PA1)

詳細(xì)說明

  • 功能:蜂鳴器可用于發(fā)出警報聲,適用于通知、提醒或警示用戶,例如在溫濕度超標(biāo)或水位異常時發(fā)出聲音提示。
  • 連接方式
    • 蜂鳴器有兩個引腳,通常是正極和負(fù)極。
    • 將正極連接至STM32的任意GPIO引腳(如PA1),負(fù)極連接至地(GND)。

額外注意事項

  • 在選擇蜂鳴器時,可以選擇主動蜂鳴器(內(nèi)置振蕩器)或被動蜂鳴器(需要外部信號驅(qū)動),根據(jù)應(yīng)用需求進(jìn)行選擇。
  • 在編程時,通過控制GPIO引腳的高低電平來控制蜂鳴器的發(fā)聲,例如將引腳設(shè)置為高電平以啟用蜂鳴器,低電平以關(guān)閉蜂鳴器。
  • 可以使用PWM信號來控制被動蜂鳴器的音調(diào)和音量。

?

?圖2.16?蜂鳴器傳感器實物圖

?圖2.16?蜂鳴器電路圖

2.6.3 LED指示燈

LED指示燈是一種常用的指示設(shè)備,用于顯示設(shè)備的工作狀態(tài)或其他信息。以下是LED指示燈的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
LED指示燈狀態(tài)指示(如電源狀態(tài)、工作狀態(tài)等)GPIO控制任意GPIO引腳(如PA2)

詳細(xì)說明

  • 功能:LED指示燈用于實時顯示設(shè)備的狀態(tài),例如正常工作、故障或待機(jī)狀態(tài)。不同的顏色或閃爍方式可以表示不同的狀態(tài)。
  • 連接方式
    • LED指示燈通常有兩個引腳:陽極(正極)和陰極(負(fù)極)。
    • 將陽極連接至STM32的任意GPIO引腳(如PA2),陰極連接至GND。
    • 為了保護(hù)LED,可以在陽極和GPIO引腳之間串聯(lián)一個限流電阻,通常為220Ω至1kΩ之間的電阻值。

額外注意事項

  • 在編程時,通過控制GPIO引腳的高低電平來控制LED的開關(guān)。例如,將引腳設(shè)置為高電平以點亮LED,設(shè)置為低電平以熄滅LED。
  • 可以通過PWM信號調(diào)節(jié)LED的亮度,適用于需要顯示不同亮度的應(yīng)用場景。
  • 可以組合多個LED指示燈,使用不同的引腳以指示不同狀態(tài)。

?

?圖2.18?LED實物圖?

?圖2.18?LED電路圖?

2.7?用戶輸入模塊

按鍵模塊

按鍵模塊是用于用戶交互的重要組件,允許用戶輸入設(shè)置,例如時間和喂養(yǎng)參數(shù)。以下是按鍵模塊的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
按鍵模塊用戶設(shè)置時間和喂養(yǎng)參數(shù)GPIO控制(按鍵掃描)任意GPIO引腳(如PA3)

詳細(xì)說明

  • 功能:按鍵模塊允許用戶通過按下按鈕來設(shè)置相關(guān)參數(shù),例如喂養(yǎng)時間和數(shù)量。這對于用戶友好的設(shè)備操作非常重要。
  • 連接方式
    • 按鍵模塊通常有多個按鍵,每個按鍵可以連接至一個GPIO引腳。
    • 按鍵的一個引腳連接至STM32的GPIO引腳(如PA3),另一個引腳連接至GND。
    • 當(dāng)按鍵被按下時,GPIO引腳將讀到低電平(接地),否則為高電平(上拉)。

額外注意事項

  • 常用的按鍵掃描方式有兩種:
    • 單按鍵掃描:讀取單個按鍵的狀態(tài),適合簡單應(yīng)用。
    • 多按鍵掃描:通過矩陣方式連接多個按鍵,可以減少引腳使用,適合復(fù)雜設(shè)置。
  • 在編程時,需要實現(xiàn)按鍵去抖動算法,以確保按鍵的穩(wěn)定讀數(shù),避免因抖動導(dǎo)致多個觸發(fā)。
  • 可以使用上拉或下拉電阻來穩(wěn)定按鍵輸入,通常在STM32內(nèi)置上拉電阻功能。

?圖2.19?按鍵實物圖

?

?圖2.20?按鍵電路圖

2.8?外設(shè)接口

2.8.1 RTC模塊(DS1302):

RTC模塊(DS1302)是一種實時時間跟蹤模塊,廣泛用于需要時間記錄的應(yīng)用。以下是DS1302 RTC模塊的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
DS1302 RTC模塊實時時間跟蹤SPI接口任意GPIO引腳(如PB5, PB6, PB7, PA4)

詳細(xì)說明

  • 功能:DS1302模塊用于記錄當(dāng)前日期和時間,提供年、月、日、時、分、秒等信息。它適用于需要時間數(shù)據(jù)的應(yīng)用,如定時喂養(yǎng)和事件記錄。
  • 連接方式
    • DS1302模塊通常有三個主要引腳用于SPI通信:SCLK(時鐘)、IO(數(shù)據(jù))、CE(片選)。
    • 將這些引腳連接至STM32的GPIO引腳,例如:
      • SCLK連接到PB5
      • IO連接到PB6
      • CE連接到PB7
      • 接地(GND)和電源(VCC)引腳需要連接到相應(yīng)的電源和地。

額外注意事項

  • DS1302模塊通常需要一個備用電池,以在斷電時保持時間。
  • 在編程時,可以使用SPI協(xié)議與DS1302進(jìn)行通信,通過發(fā)送和接收數(shù)據(jù)來讀取和設(shè)置時間。
  • 確保在使用中實現(xiàn)時間讀取和設(shè)置的邏輯,提供用戶設(shè)置和讀取當(dāng)前時間的功能。

?

?圖2.21?DS1302模塊實物圖?

圖2.22?DS1302模塊電路圖

2.8.2 語音模塊

語音模塊是一種用于播放語音或音效的設(shè)備,廣泛應(yīng)用于各種交互式電子項目。以下是語音模塊的詳細(xì)信息,包括功能說明、連接方式以及與STM32的連接引腳。

傳感器名稱功能連接方式連接至STM32引腳
語音模塊播放語音或音效PWM輸出或DAC輸出任意GPIO引腳(如PA0, PA1)

詳細(xì)說明

  • 功能:語音模塊可用于播放提示音、語音信息或音效,增強設(shè)備的交互性和用戶體驗。
  • 連接方式
    • 語音模塊支持PWM(脈沖寬度調(diào)制)或DAC(數(shù)字-模擬轉(zhuǎn)換器)輸出。
    • 如果使用PWM輸出,將語音模塊的輸入引腳連接至STM32的相應(yīng)GPIO引腳(如PA0),確保PWM信號能夠控制音量和音調(diào)。
    • 如果使用DAC輸出,可以將DAC引腳直接連接至STM32的DAC引腳(如PA4),以輸出高質(zhì)量的音頻信號。

額外注意事項

  • 在編程時,需設(shè)置適當(dāng)?shù)腜WM頻率以匹配語音模塊的要求,或者配置DAC以輸出正確的電壓范圍。
  • 根據(jù)所使用的語音模塊,可能需要特定的音頻格式(如WAV或MP3),確保準(zhǔn)備的音頻文件與模塊兼容。
  • 可以通過外部放大器連接揚聲器以提高音頻輸出的音量。

?

圖2.23?DS1302模塊實物圖??

2.9?電路連接示意

GPIO引腳:STM32的GPIO引腳連接各類傳感器、繼電器、蜂鳴器、LED和按鍵。

ADC引腳:連接有害氣體傳感器和水位傳感器的模擬輸出。

I2C/SPI引腳:連接OLED顯示屏和紅外測溫傳感器、RTC模塊。

2.10?PCB設(shè)計

PCB布局:在設(shè)計PCB時,需要合理布置電路,確保信號完整性,減少干擾。電源線和信號線應(yīng)分開布局,并使用適當(dāng)?shù)娜ヱ铍娙轀p少電源噪聲。

圖2.24 PCB—2D制版圖

圖2.24 PCB—3D制版圖?

2.11 實物整體效果

?圖2.26 實物整體圖

?圖2.26 顯示屏參數(shù)圖

三、軟件設(shè)計

完整的嵌入式系統(tǒng)程序,主要用于智能寵物喂養(yǎng)設(shè)備的功能實現(xiàn),涉及多個傳感器、模塊和控制機(jī)制。以下是對這段代碼的分析,分為主要模塊、功能說明和流程圖示意。

3.1 主要模塊

  1. 初始化模塊

    初始化各個傳感器和模塊,如延時、LED、按鍵、溫濕度傳感器、紅外測溫儀、音頻模塊、繼電器、水位傳感器、HX711等。
  2. 時間管理

    使用DS1302模塊讀取和設(shè)置實時時間,通過OLED顯示。
  3. 傳感器讀取

    從紅外測溫傳感器讀取溫度、從有害氣體傳感器讀取濃度、從DHT11讀取溫濕度、從HX711讀取物品重量、從水位傳感器讀取水位高度。
  4. 用戶輸入

    通過按鍵模塊調(diào)整時間設(shè)置,進(jìn)行特定的操控(如啟動或停止喂食裝置)。
  5. 控制邏輯

    根據(jù)傳感器數(shù)據(jù)和用戶輸入控制水泵和蜂鳴器、LED燈的狀態(tài)、通過PWM控制模塊轉(zhuǎn)動喂食裝置。
  6. 報警機(jī)制

    當(dāng)傳感器數(shù)據(jù)超出閾值時,觸發(fā)聲光報警。

3.2 功能說明

  • 時間設(shè)置:用戶可以通過按鍵設(shè)置時間,OLED實時顯示當(dāng)前時間。
  • 傳感器數(shù)據(jù)展示:實時顯示溫度、濕度、有害氣體濃度、物品重量和水位。
  • 水泵控制:根據(jù)水位傳感器的讀數(shù)控制水泵的開關(guān)。
  • 喂食控制:根據(jù)物品重量和設(shè)定時間自動喂食。
  • 聲光報警:根據(jù)溫度、濕度或有害氣體濃度觸發(fā)報警器。

3.3 分析

集成了多種傳感器和控制模塊,以滿足智能寵物喂養(yǎng)的需求。系統(tǒng)通過實時讀取環(huán)境數(shù)據(jù)和用戶輸入,控制喂食裝置和報警機(jī)制,確保設(shè)備的高效和安全運行。

3.4 main函數(shù)代碼:

#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "mlx90614.h"
#include "oled.h"
#include "lux.h"
#include "dht11.h"
#include "ds1302.h"
#include "HX711.h"
#include "timer.h"
#include "Relay.h"u8  PPM,Temperature,HUM;
int shi=0,fen=0,miao=0;
int  jishu=0;
extern u8 Flag_Error ;
extern unsigned long	Weight_Shiwu;
unsigned short int ADValue;
float Voltage=0;
double high=0;//轉(zhuǎn)動90度
void  run()
{PWM2=2500;delay_ms(10);
}//恢復(fù)原來的位置
void  stop()
{PWM2=1500;delay_ms(10);
}int main(void)
{vu8 key=0;u8 time[15];u16 Integer,test_adc;float temp=0.0;char humidity;char temperature;int shiwu=0;delay_init();	    	 //延時函數(shù)初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級Timer_SRD_Init(20000-1,72-1);	   //定時器配置BEEP_Init();	//蜂鳴器初始化LED_Init();	   //LED燈初始化KEY_Init();   //按鍵初始化Adc1_Init();   //有害氣體初始化SMBus_Init();  //紅外測溫初始化DHT11_Init();    //溫濕度傳感器初始化music_Init();   //音樂模塊初始化Relay_Init();//繼電器控制水泵OLED_Init();	 //顯示屏模塊初始化OLED_Clear();OLED_P6x8Str(0,0,"Temp:");OLED_P6x8Str(42,0,".");OLED_P6x8Str(62,0,"C");OLED_P6x8Str(0,1,"Harmful gas:");OLED_P6x8Str(0,2,"T:");OLED_P6x8Str(50,2,"H:");OLED_P6x8Str(0,6,"Weight:");OLED_P6x8Str(80,6,"g");OLED_F6x8Str1(75,4,shi,2);OLED_P6x8Str(87,4,":");OLED_F6x8Str1(93,4,fen,2);OLED_P6x8Str(105,4,":");OLED_F6x8Str1(111,4,miao,2);OLED_P6x8Str(0,7,"Water:");OLED_P6x8Str(80,7,"mm");InitioHX711();        //壓力傳感器初始化Get_Maopi();delay_ms( 100 );Get_Maopi();DS1302_Init();	 //時間模塊初始化DS1302_Write_Time();	//寫入時間函數(shù)while(1){//得到實時時間DS1302_Get_Time(time);OLED_F6x8Str1(0,3,time[0],1);OLED_F6x8Str1(6,3,time[1],1);OLED_F6x8Str1(12,3,time[2],1);OLED_F6x8Str1(18,3,time[3],1);OLED_P6x8Str(24,3,"-");OLED_F6x8Str1(30,3,time[4],1);OLED_F6x8Str1(36,3,time[5],1);OLED_P6x8Str(42,3,"-");OLED_F6x8Str1(48,3,time[6],1);OLED_F6x8Str1(54,3,time[7],1);OLED_P6x8Str(60,3,"-");OLED_F6x8Str1(66,3,time[8],1);OLED_F6x8Str1(0,4,time[9],1);OLED_F6x8Str1(6,4,time[10],1);OLED_P6x8Str(12,4,":");OLED_F6x8Str1(18,4,time[11],1);OLED_F6x8Str1(24,4,time[12],1);OLED_P6x8Str(30,4,":");OLED_F6x8Str1(36,4,time[13],1);OLED_F6x8Str1(42,4,time[14],1);//按鍵函數(shù)key=KEY_Scan(1);if(key){switch(key){case 1:if(jishu>3)jishu=1;elsejishu=jishu+1;if(jishu==1){OLED_P6x8Str(75,3,"-");OLED_P6x8Str(110,3," ");}if(jishu==2){OLED_P6x8Str(93,3,"-");OLED_P6x8Str(75,3," ");}if(jishu==3){OLED_P6x8Str(110,3,"-");OLED_P6x8Str(93,3," ");}break;case 2:if(jishu==1){if(shi>=24)shi=24;elseshi=shi+1;OLED_F6x8Str1(75,4,shi,2);}if(jishu==2){if(fen>=60)fen=60;elsefen=fen+1;OLED_F6x8Str1(93,4,fen,2);}if(jishu==3){if(miao>=60)miao=60;elsemiao=miao+1;OLED_F6x8Str1(111,4,miao,2);}break;case 3:if(jishu==1){if(shi<=0)shi=0;elseshi=shi-1;OLED_F6x8Str1(75,4,shi,2);}if(jishu==2){if(fen<=0)fen=0;elsefen=fen-1;OLED_F6x8Str1(93,4,fen,2);}if(jishu==3){if(miao<=0)miao=0;elsemiao=miao-1;OLED_F6x8Str1(111,4,miao,2);}break;case 4:run();break;case 5:stop();break;}}//得到紅外測溫傳感器測量的數(shù)據(jù)temp=SMBus_ReadTemp();Integer=temp;OLED_F6x8Str1(30,0,Integer,2);	  //紅外測溫數(shù)據(jù)的整數(shù)temp-=Integer;temp*=100;OLED_F6x8Str1(47,0,temp,2);	//紅外測溫數(shù)據(jù)的小數(shù)//有害氣體濃度數(shù)據(jù)test_adc = Get_Adc_Average1(1,20);//讀取通道1的AD值,讀取20次的平均值PPM=test_adc*99/4096;PPM = PPM >= 99? 99: PPM;OLED_F6x8Str1(70,1,PPM,2);	  //紅外測溫數(shù)據(jù)的整數(shù)//水位傳感器ADValue=Get_Adc_Average1(2,20);Voltage=(float)ADValue*3.3*10000/33/4095;high = (Voltage-20)/1.2 ;    //總量程是4cmif(high<0)OLED_F6x8Str1(50,7,0,4);elseOLED_F6x8Str1(50,7,high/10,4);//開啟水泵if(high<250){Relay_ON();delay_ms(500);Relay_OFF();}//讀取空氣中的溫度、濕度DHT11_Read_Data(&Temperature,&HUM);//讀取溫濕度值OLED_F6x8Str1(15,2,Temperature,2);OLED_F6x8Str1(65,2,HUM,2);//HX711壓力傳感器Get_Weight();  //得到物體重量if ( Flag_Error == 0 ){shiwu = Weight_Shiwu / 1000;}else{shiwu=0;}OLED_F6x8Str1(50,6,shiwu,4);//聲光報警if((PPM>65)||(Temperature>35)||(HUM>75)||(Integer>30)){BEEP=1;LED=0;}else{BEEP=0;LED=1;}//時間計算對比if((time[9]==(shi/10))&&(time[10]==(shi%10))&&(time[11]==(fen/10))&&(time[12]==(fen%10))&&(time[13]==(miao/10))&&(time[14]==(miao%10))){MUSIC=0;delay_ms(1);
//						MUSIC=1;if((0<shiwu)&&(shiwu<=1000)){run();delay_ms(500);delay_ms(500);stop();}else if((1000<shiwu)&&(shiwu<=2500)){run();delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);stop();}else if((2500<shiwu)&&(shiwu<=4000)){run();delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);stop();}else if((4000<shiwu)&&(shiwu<=5000)){run();delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);delay_ms(500);stop();}else{MUSIC=1;delay_ms(1);}}}
}

四、開發(fā)環(huán)境:

4.1?Keil uVision5?

Keil uVision5 是一款廣泛使用的集成開發(fā)環(huán)境(IDE),專門用于開發(fā)基于 ARM、Cortex-M、8051、C166 和其他微控制器的嵌入式系統(tǒng)。它由 Arm 公司提供,支持多種編程語言,主要是 C 和匯編語言。uVision5 提供了一整套的工具,包括代碼編輯器、編譯器、調(diào)試器以及項目管理工具,使開發(fā)者能夠高效地進(jìn)行嵌入式應(yīng)用的開發(fā)。

uVision5 提供了直觀易用的用戶界面,使得項目創(chuàng)建和管理變得方便。支持語法高亮、代碼完成、代碼折疊等功能,提高了開發(fā)效率。內(nèi)置 C/C++ 編譯器,支持多種優(yōu)化選項,生成高效的可執(zhí)行代碼。支持多種調(diào)試器,包括仿真器和硬件調(diào)試器,提供斷點設(shè)置、變量監(jiān)視、實時跟蹤等功能,幫助開發(fā)者快速排查問題。

圖4-1?Keil uVision5開發(fā)環(huán)境

允許用戶輕松地管理多個項目,支持庫文件和外部文件的引用。提供軟件仿真功能,允許在沒有實際硬件的情況下測試和調(diào)試代碼。提供了大量的示例代碼和驅(qū)動庫,幫助用戶快速啟動項目。支持多種微控制器架構(gòu)和系列,適合不同類型的嵌入式開發(fā)。

uVision5 可以從 Arm 官網(wǎng)下載并安裝,支持 Windows 操作系統(tǒng)。用戶在安裝后可以通過創(chuàng)建新項目、選擇目標(biāo)設(shè)備、編寫代碼并進(jìn)行編譯和調(diào)試來開始開發(fā)。Keil uVision5 是一個功能強大、易于使用的嵌入式開發(fā)環(huán)境,適用于各種嵌入式項目的開發(fā)和調(diào)試,特別是對于 ARM 和 Cortex-M 系列微控制器的開發(fā)。

4.2?Altium Designer

Altium Designer 是一款領(lǐng)先的電子設(shè)計自動化(EDA)軟件,廣泛用于電路設(shè)計、PCB(印刷電路板)設(shè)計以及嵌入式系統(tǒng)的開發(fā)。它由 Altium 公司開發(fā),提供了一整套強大的工具和功能,旨在提高電子設(shè)計工程師的生產(chǎn)力和效率。

Altium Designer 提供了一個統(tǒng)一的設(shè)計環(huán)境,集成了電路原理圖設(shè)計、PCB 布局、仿真和文檔生成等功能。直觀的圖形用戶界面使得設(shè)計流程更加流暢,用戶可以輕松訪問各種工具和功能。支持層次化設(shè)計和大型項目管理,允許用戶輕松創(chuàng)建復(fù)雜的電路原理圖。提供先進(jìn)的布局和路由工具,包括自動布線、規(guī)則檢查和設(shè)計驗證,確保PCB設(shè)計的高效和準(zhǔn)確。

支持實時的3D視圖,用戶可以在設(shè)計階段可視化PCB,檢查元件布局和間距。集成了多種仿真工具,支持電路仿真、信號完整性分析和熱分析等,幫助工程師優(yōu)化設(shè)計。提供強大的元件庫管理功能,用戶可以輕松管理和創(chuàng)建元件庫,確保設(shè)計的一致性和準(zhǔn)確性。支持團(tuán)隊協(xié)作功能,允許多個工程師同時工作,并提供版本控制,以便于跟蹤設(shè)計更改。能夠自動生成生產(chǎn)所需的文件,如Gerber文件、組裝圖和BOM(物料清單),簡化生產(chǎn)準(zhǔn)備流程。

圖4-2?Altium Designer開發(fā)環(huán)境?

Altium Designer 可以從 Altium 官方網(wǎng)站下載并安裝,支持 Windows 操作系統(tǒng)。安裝后,用戶可以通過創(chuàng)建新項目、進(jìn)行原理圖設(shè)計、PCB 布局和仿真來開始使用。

Altium Designer 是一個功能全面且強大的電子設(shè)計工具,適合從初學(xué)者到專業(yè)工程師的各種用戶。它通過提供集成的設(shè)計環(huán)境和強大的功能,幫助用戶提高設(shè)計效率,確保產(chǎn)品的高質(zhì)量和可靠性。

詳細(xì)資料源碼:畢設(shè)&課設(shè)&項目&競賽-基于STM32寵物喂養(yǎng)系統(tǒng)(源碼+PCB+論文+完整設(shè)計材料資料).zip_fbp項目資源-CSDN文庫

總目錄:

?

AD軟件打開電路圖?

KEIL軟件打開代碼?

?電路圖

?模塊資料???????

?屏幕說明+實物照片

上位機(jī)軟件?

元器件清單?

源代碼?

http://aloenet.com.cn/news/29395.html

相關(guān)文章:

  • 草坪網(wǎng)站怎么做幫忙推廣的平臺
  • 單頁面網(wǎng)站怎么做的網(wǎng)站流量數(shù)據(jù)
  • 租服務(wù)器做網(wǎng)站app推廣代理加盟
  • 裝飾網(wǎng)站建設(shè)策劃書中山網(wǎng)站建設(shè)
  • 百度制作公司網(wǎng)頁常州百度搜索優(yōu)化
  • 如何做外賣網(wǎng)站app東莞百度搜索網(wǎng)站排名
  • 自己如何免費做網(wǎng)站重慶營銷型網(wǎng)站建設(shè)公司
  • wordpress網(wǎng)站發(fā)布時間網(wǎng)絡(luò)推廣求職招聘交流群
  • 電子商務(wù)網(wǎng)站建設(shè)的過程和步驟廣告聯(lián)盟廣告點擊一次多少錢
  • 微信做單子的網(wǎng)站源碼搜什么關(guān)鍵詞能找到網(wǎng)站
  • 消防做設(shè)計有什么網(wǎng)站無錫網(wǎng)站建設(shè)優(yōu)化公司
  • 做美女網(wǎng)站賺錢千峰培訓(xùn)可靠嗎?
  • 媒體公關(guān)廈門谷歌seo
  • 網(wǎng)絡(luò)公司開發(fā)網(wǎng)站今日nba數(shù)據(jù)帝
  • 免費企業(yè)建站開源系統(tǒng)企業(yè)培訓(xùn)師資格證
  • html5網(wǎng)站編寫青島網(wǎng)站制作推廣
  • 網(wǎng)站可以做無形資產(chǎn)嗎優(yōu)化網(wǎng)站排名需要多少錢
  • 云表無代碼開發(fā)平臺baike seotl
  • 網(wǎng)站備案值得嗎打廣告的免費軟件
  • 專業(yè)做化妝品的網(wǎng)站在線生成html網(wǎng)頁
  • 怎么做淘寶客網(wǎng)站做淘客拼多多代運營一般多少錢
  • 佰匯康網(wǎng)站建設(shè)河南seo快速排名
  • 南京網(wǎng)站建設(shè)案例蘇州做網(wǎng)站哪家比較好
  • 嘉興網(wǎng)站制作軟件如何做一個網(wǎng)站
  • 有沒有幫人做簡歷的網(wǎng)站營銷型網(wǎng)站和普通網(wǎng)站
  • 只做襯衣網(wǎng)站百度seo排名優(yōu)化技巧分享
  • 帝國cms企業(yè)網(wǎng)站模板網(wǎng)站優(yōu)化方案案例
  • 怎么做網(wǎng)站能夠增加人氣鏈接提交入口
  • 政府網(wǎng)站建設(shè)方案范文—工作方案seo專員崗位職責(zé)
  • wordpress文章審核發(fā)郵件國內(nèi)seo公司