<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT89S52的家庭智能澆花器設(shè)計

          基于AT89S52的家庭智能澆花器設(shè)計

          作者: 時間:2011-08-10 來源:網(wǎng)絡(luò) 收藏

            隨著人們生活水平的提高,花卉逐漸收到人們的青睞,陶冶情操,凈化空氣。利用單片機設(shè)計了一款實現(xiàn)自動澆花,節(jié)省人力,方便人們出差的時候,不至于影響花卉的生長,如果在家也可以關(guān)斷澆花器,手動澆花。澆花器設(shè)置為兩種方式,一種是定時定量澆花,一種是根據(jù)濕度澆花。采用哪種方式是通過按鍵控制或者紅外遙控的,在采用定時定量澆花時,數(shù)碼管顯示時間和流水時間,在選用根據(jù)濕度澆花時,數(shù)碼管顯示是目前的濕度。

            1 總體設(shè)計

            利用片機設(shè)計了自動澆花器,針對不同的花卉,此智能澆花器設(shè)置為兩種方式:一是定時定量澆花,二是利用濕度傳感器檢測花卉(也可以用于蔬菜等)的濕度,采集的濕度傳送到單片機芯片,單片機根據(jù)濕度控制是否澆水,如果需要澆水,單片機的一個引腳p2.0置高電平,使繼電器線圈通電,敞開觸點閉合,打開電磁閥,實現(xiàn)定時定量的自動澆水,設(shè)定時間到,電磁閥自動閉合,并且水流時間可調(diào),上面安裝了數(shù)碼管,并有一個按鈕根據(jù)不同花卉所需水量不同,設(shè)置澆花時間長短,在數(shù)碼管上可以顯示澆水時間的長短;如果檢測濕度足夠,p2.0仍保持為低電平,不打開電磁閥。采用哪種方式是通過按鍵控制或者紅外遙控的,在采用定時定量澆花時,數(shù)碼管顯示時間和流水時間,在選用根據(jù)濕度澆花時,數(shù)碼管顯示是目前的濕度。

            該技術(shù)所采用的技術(shù)方案是:利用單片機實現(xiàn)自動控制,首先檢測采用何種方式澆花,如果定時定量澆花,就在規(guī)定的時間開始澆花,按照設(shè)置澆花時間的長短進行澆花;如果是根據(jù)濕度控制是否澆水就設(shè)置單片機1個引腳為低電平,濕度傳感器檢測濕度,傳送給單片機芯片,當(dāng)檢測到濕度不夠時,單片機這個引腳就變?yōu)楦唠娖剑牙^電器吸合,常開觸點閉合,使得電磁閥線圈得電,此時電磁閥門有閉合變成斷開,水流經(jīng)過,給花卉澆水。其結(jié)構(gòu)如圖1所示。

            

          a.JPG

            2 硬件設(shè)計

            硬件電路由單片機、濕度傳感器、繼電器、電磁閥、數(shù)碼管、1302芯片、按鍵、紅外遙控接收等組成。注意,電磁閥如果安放離單片機太近,將會造成無法正常工作,解決方法是:1)電磁閥遠離單片機;2)加入電阻電容。這里采用的是加入電阻電容的方法,這樣方便把元器件集中,所做控制器也比較小。智能澆花器的原理圖如圖2所示。

            

          b.JPG
          上一頁 1 2 3 下一頁

          關(guān)鍵詞: AT89S52 家庭智能澆花器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();