本文摘要:摘要:設(shè)計(jì)了一款智能晾衣架系統(tǒng)。系統(tǒng)采用STC89C52RC單片機(jī)為控制器,利用直流電機(jī)正反轉(zhuǎn),控制晾衣架的伸縮,主要由無線遙控模塊、光線檢測模塊、濕度檢測模塊和電機(jī)執(zhí)行機(jī)構(gòu)組成。 無線遙控模塊主要采用315M無線收發(fā)模塊、SC2262-IR和SC2272-m4編解碼芯片
摘要:設(shè)計(jì)了一款智能晾衣架系統(tǒng)。系統(tǒng)采用STC89C52RC單片機(jī)為控制器,利用直流電機(jī)正反轉(zhuǎn),控制晾衣架的伸縮,主要由無線遙控模塊、光線檢測模塊、濕度檢測模塊和電機(jī)執(zhí)行機(jī)構(gòu)組成。
無線遙控模塊主要采用315M無線收發(fā)模塊、SC2262-IR和SC2272-m4編解碼芯片進(jìn)行無線通信;光線檢測主要是利用光敏電阻來檢測光照度,經(jīng)過三極管發(fā)射極送給單片機(jī)P1.0,滿足相應(yīng)條件時(shí),單片機(jī)輸出經(jīng)繼電器驅(qū)動(dòng)電機(jī)執(zhí)行機(jī)構(gòu);濕度檢測模塊,主要由DHT11傳感器控制電路來實(shí)現(xiàn),超過閾值時(shí)電機(jī)改變轉(zhuǎn)動(dòng)方向,實(shí)現(xiàn)晾衣架的智能控制;電機(jī)執(zhí)行機(jī)構(gòu),主要由單片機(jī)P3.0和P3.5輸出,通過三極管驅(qū)動(dòng)控制繼電器的吸合和關(guān)斷,從而控制電機(jī)的動(dòng)作。經(jīng)驗(yàn)證,該系統(tǒng)通過按鍵調(diào)節(jié)可實(shí)現(xiàn)晾衣架的手動(dòng)與自動(dòng)模式切換,功能較全面,實(shí)用性強(qiáng)。
關(guān)鍵詞:智能,DHT11傳感器,光敏電阻,無線遙控,直流電機(jī)
0引言
隨著智能家居的快速發(fā)展與廣泛應(yīng)用,對(duì)晾衣架的智能化也提出了更高的要求;趩纹瑱C(jī)的智能晾衣架系統(tǒng)有手動(dòng)和自動(dòng)兩種模式,手動(dòng)模式與傳統(tǒng)晾衣架功能一樣,自動(dòng)模式能自動(dòng)識(shí)別白天和夜晚,雨天與晴天,使衣物在干燥晴天得到晾曬,夜晚或陰雨天自動(dòng)收回,也可在一定距離范圍內(nèi)通過遙控來控制晾衣架伸縮,通過限位開關(guān)將晾衣架的伸縮控制在合理的范圍之內(nèi)[1]。該晾衣架系統(tǒng)結(jié)構(gòu)簡單,功能豐富,可以滿足不同用戶的需求,具有一定的推廣使用價(jià)值。
1硬件原理框圖設(shè)計(jì)
智能晾衣架設(shè)計(jì)采用STC89C52RC為主控芯片,利用光敏電阻檢測光照強(qiáng)度,利用溫濕度傳感器檢測環(huán)境的濕度,超過閾值則晾衣架的電機(jī)進(jìn)行動(dòng)作實(shí)現(xiàn)晾衣架的智能化,濕度的測量值可通過兩位一體共陰極數(shù)碼管進(jìn)行顯示,直觀方便,同時(shí),通過遙控器按鍵也可控制晾衣架動(dòng)作。
用紅黃藍(lán)三種顏色LED小燈指示晾衣架的工作狀態(tài),紅燈用于工作模式選擇指示,紅燈滅時(shí),表示手動(dòng)遙控模式,通過遙控按鍵控制晾衣架的伸縮功能;紅燈亮?xí)r,表示自動(dòng)模式,當(dāng)濕度大于80%RH或者光敏電阻檢測到是夜晚時(shí),黃燈亮,電機(jī)反轉(zhuǎn),執(zhí)行晾衣架收回功能,當(dāng)藍(lán)燈亮?xí)r,說明濕度小于80%RH并且光敏電阻檢測到是白天,電機(jī)正轉(zhuǎn)執(zhí)行晾衣架伸出功能[2]。通過模式選擇開關(guān)按鍵進(jìn)行模式切換,模式切換或者按下伸縮限位開關(guān)時(shí),蜂鳴器報(bào)警提示。
2軟件編程
2.1濕度檢測模塊設(shè)計(jì)
濕度檢測模塊主要采用溫濕度傳感器DHT11來檢測,其濕度量程為20%-90%RH,溫濕度傳感器2腳是輸出引腳,接5K上拉電阻,與單片機(jī)P2.0相連接,定義為“sbitDATA=P2^0;”。
由于用光敏電阻對(duì)光照進(jìn)行檢測,所以溫濕度傳感器主要用其濕度控制功能。DHT11采用單總線方式,即數(shù)據(jù)的讀寫都占用同一根總線,所以編寫操作程序都必須嚴(yán)格按照時(shí)序進(jìn)行,即單片機(jī)發(fā)送一次開始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit數(shù)據(jù),高位在先,并觸發(fā)一次信號(hào)采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。
數(shù)據(jù)格式為“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和”[3],由DHT11時(shí)序得知,主機(jī)先發(fā)送復(fù)位信號(hào)給從機(jī),主機(jī)拉低總線至少18ms,通過執(zhí)行語句“DATA=0;delay_ms(20);”拉低20ms,然后再拉高總線,由上拉電阻拉高延時(shí)20us-40us,程序編寫可取中間值30us(“DATA=1;delay_us(30);”),主機(jī)發(fā)送完復(fù)位信號(hào)。
DHT11發(fā)送響應(yīng)信號(hào),檢測到復(fù)位信號(hào)后,觸發(fā)一次采樣,并拉低總線80us表示響應(yīng)信號(hào),通知主機(jī)數(shù)據(jù)已準(zhǔn)備好,如果有低電平響應(yīng),則接著判斷從機(jī)DHT11是否拉高總線80us,如果拉高80us,之后開始傳輸數(shù)據(jù)進(jìn)入數(shù)據(jù)接收狀態(tài)[4]。為了防止中斷干擾總線時(shí)序,操作前先關(guān)總中斷(“EA=0”),操作完畢再打開(“EA=1”)。
判斷DHT11響應(yīng)的主要代碼如下:if(!DATA)//判斷從機(jī)是否有低電平響應(yīng){U8FLAG=2;while((!DATA)&&U8FLAG++);//等待DHT11拉低總線80USU8FLAG=2;while((DATA)&&U8FLAG++);//等待DHT11釋放總線80USCOM();//讀濕度函數(shù)U8RH_data_H_temp=U8comdata;//濕度整數(shù)部分COM();U8RH_data_L_temp=U8comdata;//濕度小數(shù)部分COM();U8T_data_H_temp=U8comdata;//溫度整數(shù)部分COM();U8T_data_L_temp=U8comdata;//溫度小數(shù)部分COM();U8checkdata_temp=U8comdata;
//校驗(yàn)八位DATA=1;U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);//數(shù)據(jù)校驗(yàn)如果數(shù)據(jù)校驗(yàn)正確則有返回值(“return1”),否則DHT11傳感器不響應(yīng)(“return0”)。
其中“COM”函數(shù)為濕度讀取函數(shù),設(shè)計(jì)思路是,當(dāng)50US低電平后,拉高總線,判斷高電平持續(xù)時(shí)間,如果是“26-28US”表示數(shù)據(jù)“0”,“70US”則為數(shù)據(jù)“1”,然后按照高位在先的順序傳送數(shù)據(jù)。
2.2無線遙控模塊設(shè)計(jì)
數(shù)據(jù)發(fā)射時(shí),按鍵分別和SC2262-IR的數(shù)據(jù)端11腳、12腳和13腳連接,實(shí)現(xiàn)模式切換、晾衣架伸出和收縮功能。數(shù)據(jù)發(fā)射模塊的工作頻率為315M,采用315M無線發(fā)射板,按鍵按下,SC2262-IR編碼芯片的17腳和發(fā)送模塊315M的3腳相連,通過315M模塊發(fā)送數(shù)據(jù),SC2272-m4和315M無線接收模塊組合電路將接收到信號(hào)進(jìn)行解碼,解碼的數(shù)據(jù)通過SC2272-m4的11腳、12腳和13腳輸出,再經(jīng)過三極管反相后送到單片機(jī)P1.1、P1.2和P1.3端口,單片機(jī)處理后從P3.0和P3.5輸出控制繼電器的吸合與關(guān)斷,從而控制電機(jī)轉(zhuǎn)動(dòng)方向。在仿真圖里直接用按鍵開關(guān)接到單片機(jī)的相應(yīng)端口[5]。
P1.1是進(jìn)行自動(dòng)手動(dòng)模式切換功能,當(dāng)該位位“0”時(shí),說明切換模式已選擇,同時(shí)設(shè)置切換標(biāo)志位(“change_flag”),當(dāng)切換標(biāo)志位為“1”時(shí),執(zhí)行手動(dòng)模式選擇,即無線遙控操作,當(dāng)切換標(biāo)志位為“0”時(shí),切換到自動(dòng)模式。
遙控模式時(shí),進(jìn)一步判斷伸出按鍵是否按下,當(dāng)伸出按鍵按下并且沒有按下伸出限位開關(guān)時(shí),晾衣架伸出,同時(shí),單片機(jī)的P3.0輸出為低電平,經(jīng)與三極管Q1相連的繼電器吸合,電機(jī)正轉(zhuǎn),伸出指示燈(P1.5)點(diǎn)亮,再按一次則停止伸出,伸出指示燈熄滅,操作完成后通過語句“while(!in_go);”釋放伸出按鍵開關(guān)[6]。
主要代碼如下:elseif(change_flag==1)//手動(dòng)模式選擇{if((in_go==0)&&(limit_go==1))//伸出按鍵是否按下{delay(50);//延時(shí)去抖if((in_go==0)&&(limit_go==1))//再次判斷按鍵狀態(tài){buzz=0;delay(200);//按鍵音,蜂鳴器提示buzz=1;out_back=1;//禁止收回
out_go=~out_go;//按一下伸出,再按下,停止動(dòng)作led_back=1;//收回指示燈滅led_go=out_go;//晾衣架伸出時(shí),伸出指示燈亮flag_shan1=0;}while(!in_go);//釋放伸出按鍵}同樣思路,可以編寫遙控按鍵收回、按下伸出限位開關(guān)和按下收回限位開關(guān)程序。
2.3顯示模塊與主函數(shù)設(shè)計(jì)
程序編譯時(shí)從主函數(shù)開始執(zhí)行,主函數(shù)里設(shè)置開機(jī)默認(rèn)為自動(dòng)模式(“led_zhishi=0;”),在程序開始定義為“sbitled_zhishi=P1^7;”,初始化定時(shí)器,在“while”語句里調(diào)用工作模式切換函數(shù)和數(shù)碼管顯示函數(shù),用“if”語句判斷,當(dāng)濕度轉(zhuǎn)換完成時(shí),只讀取濕度的整數(shù)部分(“humidity=U8RH_data_H;”),并且設(shè)定濕度閾值為80%RH,數(shù)碼管上只顯示數(shù)值[7]。
數(shù)碼管顯示函數(shù)主要實(shí)現(xiàn)對(duì)濕度整數(shù)部分進(jìn)行個(gè)位和十位的顯示,個(gè)位顯示語句為“P0=table[humidity%10];”,十位顯示語句為“P0=table[humidity/10];”,通過P0口進(jìn)行段選顯示。位選由P2.2和P2.1控制,P2.2接數(shù)碼管個(gè)位位選引腳,個(gè)位顯示時(shí)P2.2為低電平,P2.1接數(shù)碼管十位位選引腳,十位顯示時(shí)P2.1為低電平,由于動(dòng)態(tài)顯示速度快,所以看上去是同時(shí)點(diǎn)亮。
3電路仿真與實(shí)物制作
電路仿真時(shí),為了形象直觀,用按鍵開關(guān)直接控制單片機(jī)來驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng)。發(fā)送模塊主要由SC2262-IR和315M發(fā)射模塊分組成,對(duì)應(yīng)的接收模塊電路主要由SC2272-m4和315M接收模塊組成,接收到的信號(hào)由SC2272-m4的11,12和13引腳輸出經(jīng)三極管反相后送給單片機(jī)P1.1,P1.2和P1.3端口[8]。
仿真部分直接用按鍵開關(guān)連接到了單片機(jī)的P1.1,P1.2和P1.3,省略了遙控部分,效果與實(shí)物制作一致,當(dāng)前仿真圖顯示自動(dòng)模式狀態(tài),光敏電阻顯示為白天并且濕度小于閾值時(shí)(“if(light==1&&flag_HH==0)”),其中,定義光敏電阻經(jīng)三極管輸出接單片機(jī)P1.0,聲明語句為“sbitlight=P1^0;”,變量“flag_HH”在主函數(shù)設(shè)置濕度閾值時(shí)賦值,超過閾值置1,不超過閾值清零。
其中左邊為系統(tǒng)控制板,右邊為遙控電路,實(shí)物制作安裝了無線接收與發(fā)送模塊,可以實(shí)現(xiàn)遠(yuǎn)距離控制,實(shí)用性更強(qiáng),實(shí)物圖中當(dāng)前狀態(tài)顯示超過閾值范圍黃燈亮,電機(jī)反轉(zhuǎn),晾衣架收回功能[10]。
4總結(jié)
基于STC89C52RC單片機(jī)的智能晾衣架,可以通過無線遙控控制晾衣架的伸縮,到一定程度按下限位開關(guān)時(shí)電機(jī)停轉(zhuǎn),蜂鳴器報(bào)警,能夠自動(dòng)根據(jù)環(huán)境的光線和周圍環(huán)境濕度調(diào)整電機(jī)轉(zhuǎn)動(dòng)來控制晾衣架的伸縮,晾衣架伸縮時(shí),或工作模式切換時(shí),對(duì)應(yīng)指示燈分別點(diǎn)亮指示[11]。經(jīng)仿真與實(shí)驗(yàn)驗(yàn)證,該智能晾衣架系統(tǒng)設(shè)計(jì)優(yōu)良、使用方便、功能豐富,具有一定的推廣和實(shí)用價(jià)值。
參考文獻(xiàn)
[1]談敏.智能晾衣架創(chuàng)新設(shè)計(jì)與控制系統(tǒng)研究[J].機(jī)電工程技術(shù),2018(5):133-135.
[2]荊海霞,李洪義.一種智能晾衣架系統(tǒng)的設(shè)計(jì)[J].機(jī)電一體化,2016(7):57-60.
[3]李素云,覃若寶.基于多傳感器的智能晾衣架設(shè)計(jì)[J].山東工業(yè)技術(shù),2016(3):128.
[4]周靜紅.基于單片機(jī)控制的智能晾衣架控制系統(tǒng)的設(shè)計(jì)[J].電子技術(shù),2014(10):68-69.
[5]王琪,許應(yīng)風(fēng).基于單片機(jī)的智能晾衣架設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2017(28):60-64.
電子論文投稿刊物:《山西電子技術(shù)》(雙月刊)創(chuàng)刊于1973年,由山西省電子研究院、山西省電子學(xué)會(huì)主辦。本刊是山西省電子信息產(chǎn)業(yè)唯一公開發(fā)行的專業(yè)技術(shù)期刊。在30年的辦刊過程中,刊物一直堅(jiān)持電子信息行業(yè)交流信息,探討技術(shù)的園地,主要宣傳報(bào)道電子信息領(lǐng)域新技術(shù)、新成果;為我省電子信息產(chǎn)業(yè)發(fā)展服務(wù)的辦刊宗旨。
轉(zhuǎn)載請(qǐng)注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/20693.html