???????最近設(shè)計(jì)了一個(gè)項(xiàng)目基于單片機(jī)的加濕器系統(tǒng),與大家分享一下:
一、基本介紹
項(xiàng)目名:加濕器
項(xiàng)目編號(hào):mcuclub-jj-011
單片機(jī)類型:STC89C52
具體功能:
1、通過(guò)DHT11獲取濕度值,當(dāng)濕度值低于設(shè)置最小值,則啟動(dòng)加濕器加濕,大于設(shè)置最大值,則停止加濕
2、通過(guò)液位檢測(cè)模塊檢測(cè)加濕器中是否還有水,如果沒(méi)有,則自動(dòng)停止加濕、聲光提醒
3、通過(guò)按鍵設(shè)置濕度上下限
4、通過(guò)顯示屏顯示測(cè)量值、手動(dòng)加濕、切換模式
擴(kuò)展功能:通過(guò)藍(lán)牙模塊將測(cè)量數(shù)據(jù)發(fā)送到手機(jī)端,并可以控制是否加濕、切換模式
二、51實(shí)物圖
單片機(jī)型號(hào):STC89C52
板子為綠色PCB板,兩層板,厚度1.2,上下覆銅接地。元器件基本上為插針式,個(gè)別降壓芯片會(huì)使用貼片式。
供電接口:TYPE-C
?
三、51仿真圖
仿真軟件版本:proteus8.9
電路連線方式:網(wǎng)絡(luò)標(biāo)號(hào)連線方式
注意:部分實(shí)物元器件仿真中沒(méi)有,仿真中會(huì)用其他工作原理相似的元件代替,這樣可能導(dǎo)致實(shí)物程序和仿真程序不一樣
?
?四、32實(shí)物圖
單片機(jī)型號(hào):STM32F103C8T6
板子為綠色PCB板,兩層板,厚度1.2,上下覆銅接地。元器件基本上為插針式,個(gè)別降壓芯片會(huì)使用貼片式。
供電接口:TYPE-C
?
?五、原理圖
軟件版本:AD2013
電路連線方式:網(wǎng)絡(luò)標(biāo)號(hào)連線方式
注意:原理圖只是畫(huà)出了模塊的引腳圖,而并不是模塊的內(nèi)部結(jié)構(gòu)原理圖
?
?六、PCB圖
由原理圖導(dǎo)出,封裝很大一部分都是作者自己繪制,不提供封裝庫(kù),只提供連接好的源文件。中間有一個(gè)項(xiàng)目編號(hào),隱藏在單片機(jī)底座下,插入單片機(jī)后不會(huì)看到。
兩層板,上下覆銅接地。
?
七、系統(tǒng)框圖
本設(shè)計(jì)以單片機(jī)為核心控制器,加上其他模塊一起組成此次設(shè)計(jì)的整個(gè)系統(tǒng),其中包括中控部分、輸入部分和輸出部分。中控部分采用了單片機(jī)控制器,其主要作用是獲取輸入部分的數(shù)據(jù),經(jīng)過(guò)內(nèi)部處理,邏輯判斷,最終控制輸出部分。輸入由四部分組成,第一部分是溫濕度檢測(cè)模塊,通過(guò)該模塊檢測(cè)當(dāng)前環(huán)境的溫濕度;第二部分是水位監(jiān)測(cè)模塊,通過(guò)該模塊可以檢測(cè)當(dāng)前的加濕器的水位;第三部分是按鍵模塊,通過(guò)該模塊可以切換界面、設(shè)置閾值等;第四部分是供電模塊,通過(guò)該模塊可給整個(gè)系統(tǒng)進(jìn)行供電。輸出由四部分組成,第一部分是顯示模塊,通過(guò)該模塊可以顯示監(jiān)測(cè)的數(shù)據(jù)以及設(shè)置的閾值;第二部分是繼電器模塊,通過(guò)繼電器控制加濕器工作;第三部分是聲光報(bào)警模塊,當(dāng)監(jiān)測(cè)值不在設(shè)置的閾值內(nèi)時(shí)進(jìn)行聲光報(bào)警。除此之外,藍(lán)牙模塊既作為輸入又作為輸出,藍(lán)牙模塊和手機(jī)進(jìn)行連接,可以將監(jiān)測(cè)的數(shù)據(jù)傳輸?shù)接脩羰謾C(jī)端,用戶也可以通過(guò)手機(jī)端發(fā)送指令控制繼電器的工作及其模式的切換。具體系統(tǒng)框圖如圖所示。
?
?八、軟件設(shè)計(jì)流程
系統(tǒng)的主流程圖如圖所示。在主程序中:首先對(duì)各個(gè)模塊進(jìn)行初始化,隨后進(jìn)入while主循環(huán),在主循環(huán)中,首先進(jìn)入第一個(gè)函數(shù)按鍵函數(shù),該函數(shù)主要分為兩部分,第一部分為調(diào)用按鍵掃描函數(shù)獲取按鍵鍵值,第二部分通過(guò)鍵值進(jìn)行相應(yīng)的處理操作,包括切換界面、設(shè)置閾值等;緊接著進(jìn)入第二個(gè)函數(shù)監(jiān)測(cè)函數(shù),該函數(shù)主要通過(guò)調(diào)用相應(yīng)的驅(qū)動(dòng)函數(shù)獲取測(cè)量值,并通過(guò)藍(lán)牙模塊將監(jiān)測(cè)的數(shù)據(jù)傳輸?shù)绞謾C(jī)端,用戶也可以通過(guò)手機(jī)端發(fā)送指令,設(shè)備根據(jù)用戶發(fā)送的指令執(zhí)行對(duì)應(yīng)的處理;緊接著進(jìn)入第三個(gè)函數(shù)顯示函數(shù),該函數(shù)顯示監(jiān)測(cè)值及閾值;最后進(jìn)入第四個(gè)函數(shù)處理函數(shù),如果還有水,處于自動(dòng)模式,濕度小于設(shè)置最小值,加濕,如果沒(méi)水,聲光報(bào)警三次,設(shè)置界面,關(guān)閉所有繼電器及聲光報(bào)警。
?
?九、部分程序展示
軟件版本:keil5文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-416128.html
邏輯程序和驅(qū)動(dòng)程序分開(kāi),分布于main.c和其他.c文件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-416128.html
void Manage_function(void)
{
if(flag_display == 0) //測(cè)量界面
{
if(CHECK_W == 0) //如果還有水
{
LED = 1;
BEEP = 1;
alarm_count = 6;
if(flag_mode == 0) //如果處于自動(dòng)模式
{
if(humi_value < humi_min*10) //濕度小于設(shè)置最小值,加濕
{
RELAY_JS = 0;
}
else if(humi_value > humi_max*10)
{
RELAY_JS = 1;
}
}
}
else //如果沒(méi)水,聲光報(bào)警三次
{
RELAY_JS = 1;
if(time_num % 20 == 0 && alarm_count > 0)
{
LED = ~LED;
BEEP = ~BEEP;
alarm_count--;
}
}
}
else //設(shè)置界面,關(guān)閉所有繼電器及聲光報(bào)警
{
LED = 1;
BEEP = 1;
RELAY_JS = 1;
}
}
資料請(qǐng)點(diǎn)擊跳轉(zhuǎn)到官網(wǎng)下載
到了這里,關(guān)于【單片機(jī)畢業(yè)設(shè)計(jì)】【mcuclub-jj-011】基于單片機(jī)的加濕器的設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!