基于單片機(jī)的智能垃圾桶設(shè)計
龍巖學(xué)院畢業(yè)設(shè)計 題目: 基于單片機(jī)的智能垃圾桶設(shè)計 專業(yè): 電子信息工程 學(xué)號: 2014041808 作者: 陳志涵 指導(dǎo)教師(職稱): 曾瑋 副教授 二一六年五月二十三日基于單片機(jī)的智能垃圾桶設(shè)計【摘要】本文提出一種基于單片機(jī)STC89C51的智能垃圾桶的設(shè)計。系統(tǒng)主要由超聲波測量距離模塊、光電感應(yīng)模塊、電機(jī)模塊和語音提示模塊等功能模塊組成,以單片機(jī)為控制器,通過超聲波傳感器、光電傳感器來獲取距離數(shù)據(jù),再通過數(shù)模轉(zhuǎn)換及單片機(jī)處理后發(fā)出相應(yīng)的命令,外圍電路執(zhí)行相應(yīng)的動作,假設(shè)當(dāng)超聲波傳感器檢測到人距離垃圾桶的距離小于設(shè)定距離時,電機(jī)轉(zhuǎn)動垃圾桶蓋自動翻開;如果光電傳感器檢測到垃圾桶裝滿,系統(tǒng)就會有語音進(jìn)行提示;在規(guī)定時間對垃圾桶進(jìn)行噴灑消毒劑消毒。本設(shè)計與傳統(tǒng)垃圾桶相比,不僅結(jié)構(gòu)簡單、性能穩(wěn)定,且具有操作方便、低成本、智能化等優(yōu)點,能有效提高垃圾分類的效率,是減少環(huán)境污染的一個可行的措施。【關(guān)鍵詞】單片機(jī) 光電傳感器 超聲波傳感器 智能垃圾桶IDesignofIntelligentGarbageBinBasedonSingleChipMicrocomputer【Abstract】 This paper is a design of intelligent ashbin based on MCU STC89C51, which is composed of ultrasonic distance measuring module, photoelectric sensor module, motor module and the voice prompt module function module. With MCU as the controller, ultrasonic sensors and photoelectric sensors are used to obtain the distance data, and then issue the corresponding command through the digital to analog conversion and single chip processing and peripheral circuits execute corresponding action, hypothesis when the ultrasonic sensor etects that the distance between the people and the garbage bin is smaller than the set distance, the motor rotates a trash can lid opens automatically, if full of photoelectric sensor detection to the garbage can, the system will have the voice prompt and can be sprayed disinfectant for the garbage in the prescribed time . Compared with the traditional garbage can, the design has the advantages of simple structure, stable performance, convenient operation, low cost, intelligent, etc., and can effectively improve the garbage classification and reduce the environmental pollution.【Key Words】 singlechip Photoelectric sensor ultrasonic sensor Intelligent garbage can I基于單片機(jī)的智能垃圾桶設(shè)計目錄第1章 緒 論11.1 選題意義11.2 發(fā)展現(xiàn)狀及趨勢11.3 課題的主要內(nèi)容21.3.1 課題內(nèi)容21.3.2 設(shè)計內(nèi)容21.4 本章小結(jié)2第2章 系統(tǒng)硬件電路32.1 系統(tǒng)總體框架32.2 單片機(jī)最小系統(tǒng)32.2.1 STC89C51RC單片機(jī)簡介32.2.2 復(fù)位電路42.3 光電傳感器模塊52.4 電機(jī)模塊62.5 超聲波測距模塊72.6 語音模塊82.7 噴灑消毒劑電路82.8 本章小結(jié)9第3章 系統(tǒng)軟件設(shè)計103.1 系統(tǒng)總體程序設(shè)計流程圖103.2 超聲波檢測程序設(shè)計113.3 語音模塊的程序設(shè)計123.4 自動消毒的程序設(shè)計133.5 本章小結(jié)13第4章 系統(tǒng)調(diào)試144.1 硬件調(diào)試144.2 軟件調(diào)試14第5章 成品模擬及設(shè)計總結(jié)165.1 成品模擬165.2 設(shè)計總結(jié)18致謝20參考文獻(xiàn)21附錄一22附錄二23第1章 緒 論1.1 選題意義現(xiàn)如今,垃圾存在于我們生活各個方面,同樣也影響我們生活的各個方面,倘若不能及時有效地解決,將會帶來相當(dāng)棘手的問題。對于如何處理垃圾問題的措施也是不勝枚舉,概括起來主要有兩大方向,一個從生產(chǎn)方面入手,比如鼓勵生產(chǎn)使用如遇潮濕可很快溶化的塑料袋或是容易降解的外包裝;另一個就是廢物回收處理,而將垃圾進(jìn)行分類回收就是其中一種有效的辦法。而作為存放垃圾的垃圾桶,已然成為了我們生活中不可或缺的物品了,不僅在家里房間里需要它,在公共休閑娛樂場所更是不可或缺的。市面上的垃圾桶也是總類繁多,有的垃圾桶更是與裝飾品結(jié)合起來,既實用又美觀,普遍也都是有進(jìn)行垃圾的分類。但就目前看來,收益甚微,不論是在垃圾分類還是垃圾的存放,人們在投放垃圾的時候有可能會接觸到細(xì)菌微生物,大家在投放垃圾的時候都是近而遠(yuǎn)之,丟放垃圾的方式經(jīng)常是拋的,“投籃”技術(shù)不佳的就很容易導(dǎo)致沒扔進(jìn)垃圾桶了,從而污染了環(huán)境;而且普遍人們對垃圾分類的意識淡薄,如果在人們丟放垃圾的時候給予語音提示,相對于文字或者是圖片提醒來說的話,效果會更好,所以需要研究和開發(fā)一種集多種優(yōu)點且更加智能的垃圾桶。1.2 發(fā)展現(xiàn)狀及趨勢普通的垃圾桶主要有敞口式,腳踩式還有翻蓋式的,現(xiàn)在市面上已經(jīng)有成熟的智能垃圾桶的產(chǎn)品了,采用超聲波或紅外范圍感測技術(shù),能夠在手或者物體接近時,自動打開蓋子。雖然產(chǎn)品已經(jīng)不再需要人用手或者腳踩的方式去打開蓋子,但是功能還是比較單一,一般適用于家庭和辦公環(huán)境居多,而這類環(huán)境大多數(shù)人會傾向于購買普通的垃圾桶,因為對于像家庭這種小環(huán)境內(nèi),簡單的普通垃圾桶已經(jīng)很適合了。還有一類是利用太陽能來給垃圾桶供能1,配備有壓縮機(jī),當(dāng)垃圾快要放滿時,壓縮機(jī)會短時間內(nèi)把垃圾的體積壓縮為原來的四分之一,這樣大大增加空間利用率,但是不具備垃圾分類的功能。因為是利用太陽能,所以此類垃圾桶大抵都是適用于戶外環(huán)境,這也同時成為它局限了,商業(yè)價值不是很高,沒有得到廣大商家的青睞,沒有得到廣泛使用。伴隨著社會的不斷發(fā)展以及人們環(huán)保意識的不斷增強(qiáng),垃圾處理問題必將越來越受到關(guān)注,從而也會提高垃圾桶廠家對新型智能垃圾桶的興趣,并帶動其走向“智能化”和“多樣化”?,F(xiàn)如今,不論是國內(nèi)還是國外,都還沒有開發(fā)出來可以用直接自動的把垃圾自行分類的控制系統(tǒng),現(xiàn)在的垃圾處理也是僅僅停留在對垃圾的簡單分類,比如說之前提到的將垃圾體積壓縮,目前來說要實現(xiàn)垃圾分類最終還是需要人類自己將垃圾進(jìn)行分類。垃圾桶自動垃圾分類的實現(xiàn)還有很一段路要走,垃圾桶也會朝著這一方向發(fā)展,變得更加方便智能,變得更加衛(wèi)生、干凈,更貼近我們的生活,智能垃圾桶也會普及到家家戶戶。1.3 課題的主要內(nèi)容1.3.1 課題內(nèi)容設(shè)計并制作基于單片機(jī)的智能垃圾桶控制系統(tǒng),以51單片機(jī)為控制芯片,并結(jié)合所學(xué)知識以及相應(yīng)的傳感器電路,實現(xiàn)更加智能化、更加適用于人類的垃圾桶,可實現(xiàn)以下幾點功能:1.自動檢測物體接近;2.垃圾桶裝滿提示;3.垃圾桶蓋的自動開啟和關(guān)閉;4.間隔一定時間自動消毒;1.3.2 設(shè)計內(nèi)容1.傳感器檢測電路;2.語音提示電路;3.自動開啟蓋子電路;4.自動消毒電路;1.4 本章小結(jié)通過這一章對智能垃圾桶的發(fā)展現(xiàn)狀以及未來發(fā)展的趨勢行進(jìn)了詳細(xì)的介紹,我們知道垃圾桶在人們的生活中扮演著重要的角色,也闡明了課題設(shè)計的意義。了解了現(xiàn)階段智能垃圾桶的發(fā)展?fàn)顩r,在設(shè)計思路上也有了方向。28第2章 系統(tǒng)硬件電路2.1 系統(tǒng)總體框架本次基于單片機(jī)的智能垃圾桶的設(shè)計所要實現(xiàn)的功能有:自動檢測物體接近、垃圾桶蓋的自動開啟和關(guān)閉、垃圾裝滿自動語音提示、定時自動消毒等。本系統(tǒng)不僅可以讓扔垃圾變得更方便,還可以提高人們對垃圾分類的習(xí)慣,使環(huán)境更加干凈整潔。本次智能垃圾桶選用STC89C51RC單片機(jī)來控制。圖2-1 為系統(tǒng)框圖。 單 片 機(jī)光電傳感器模塊器自動翻蓋語音提示超聲波模塊定時消毒圖2-1 系統(tǒng)框圖2.2 單片機(jī)最小系統(tǒng)2.2.1 STC89C51RC單片機(jī)簡介如圖2-2為STC89C51RC引腳圖。圖2-2 STC89C51RC引腳圖本次設(shè)計使用一個STC89C51RC單片機(jī)2,由于具有技術(shù)十分成熟且穩(wěn)定的優(yōu)點,所以廣泛運用在電子電路設(shè)計中,其特點:4K字節(jié)的Flash閃存,32個可編程I/O端口線,128字節(jié)的內(nèi)部RAM;兩個16位定時器/計數(shù)器,兩級5向量中斷結(jié)構(gòu),一個全雙工串行通信端口,以及芯片上的時鐘振蕩器電路。51單片機(jī)P0端口口是開漏輸出,而P1、P2以及P3端口是弱上拉輸出。如果P0作為普通的I/O來用時,必須外部接上上拉電阻。而P1、P2、P3的結(jié)構(gòu)差異不大,輸出接在上拉電阻與mos管漏極之間。2.2.2 復(fù)位電路復(fù)位電路的作用就是使系統(tǒng)回到最開始時的狀態(tài),有點類似于計算器的C鍵。51單片機(jī)的復(fù)位可以通過外部的電路來實現(xiàn),簡單的復(fù)位電路可以是電阻加上電容即可組成了。通常使用按鈕復(fù)位和上電復(fù)位兩個方式。本設(shè)計選用的是上電復(fù)位電路,如圖2-3所示,上電自動復(fù)位是vcc給電容c1充電加到rst上的高電平,這個高電平會隨著c1的充電漸漸下降,電容c1的充電時間決定了rst上的高電平,而后電容相當(dāng)于開路,rst拉低。圖2-3復(fù)位電路圖2.3 光電傳感器模塊光電傳感器模塊是通過反射型光電傳感器在檢測距離內(nèi)檢測有沒有物體存在,通過比較器候輸出給單片機(jī)系統(tǒng),然后又后者程序執(zhí)行相應(yīng)動作。該傳感器模塊采用2并行RPR220傳感器電路3,光電傳感器模塊電路圖如圖2-5所示。本次垃圾桶分為兩個小桶,所以由兩個反射型光電探測器RPR220和四電壓比較器LM3934組成。RPR220傳感器實際上是由兩部分組成,分別是紅外發(fā)射二極管和接收管,顧名思義,一個用于接收而另一個用于發(fā)射;LM3934是4電壓比較器,里面集成4個比較器,引腳圖如圖2-4所示。圖2-4 LM3934引腳圖圖2-5光電感應(yīng)模塊電路如圖2-5所示,就U4管來說,當(dāng)沒有物體接近時,光電傳感器的發(fā)射管所發(fā)射的紅外光沒有發(fā)射回來,即接收管未接收到,接收管截止,3,4不通,則對于比較器的5腳就有一個電壓。比較器U5的4腳接華東變阻器,可滑動直至4腳電壓為2v上下,作為基準(zhǔn)電壓;當(dāng)光電傳感器接收管為接收到反射光,5腳有電壓,且比4腳的基準(zhǔn)電壓大時,即正端大于負(fù)端,LM393的2腳輸出高電平給單片機(jī);相反的,當(dāng)有物體靠近,并且形成反射時,則LM393的2腳輸出低電平給單片機(jī),執(zhí)行相應(yīng)動作。2.4 電機(jī)模塊本次垃圾桶系統(tǒng)內(nèi)部有兩個類別的小垃圾桶,配有一個大蓋子,即開蓋則兩個類別的小垃圾桶同時開啟,關(guān)閉也是。電機(jī)模塊用于開啟和關(guān)閉垃圾桶的蓋子,需要較為精準(zhǔn)的定位控制,所以相對于直流電機(jī)而言,步進(jìn)電機(jī)在定位控制中較為出色。步進(jìn)電機(jī)是開環(huán)控制元件4,它將電脈沖信號轉(zhuǎn)換為角位移或者是線位移。通常的狀況下脈沖個數(shù)和頻率直接決定著步進(jìn)電機(jī)的轉(zhuǎn)速大小,給多少個脈沖即轉(zhuǎn)過多少角度,可控性和穩(wěn)定度上面很優(yōu)秀。脈沖序列的更變可以很輕松地變動轉(zhuǎn)向。把步進(jìn)電機(jī)看成一個發(fā)動機(jī)的話,那么驅(qū)動信號就是讓步進(jìn)電機(jī)運行的汽油,沒有汽油的話,發(fā)動機(jī)則無法工作,本次設(shè)計采用的電機(jī)驅(qū)動是ULN2003芯片5,驅(qū)動電路如圖2-6所示。圖2-6電機(jī)驅(qū)動電路圖ULN2003電流增壓大,可以帶高負(fù)載電流運行,可以用在各種有較大功率驅(qū)動的系統(tǒng).將ULN2003的4到7引腳分別一次接入單片機(jī)的P2口,10到13引腳分別與步進(jìn)電機(jī)的1至4接口相連接,控制步進(jìn)電機(jī)的轉(zhuǎn)動。ULN2003的GND腳接地,9腳vcc和P1的5腳相連接,如圖2-7所示。單片機(jī)的P2.0口對應(yīng)ULN2003的A,單片機(jī)的P2.1口對應(yīng)ULN2003的B相,單片機(jī)的P2.2口對應(yīng)ULN2003的C相,單片機(jī)的P2.0口對應(yīng)ULN2003的D相。2.5 超聲波測距模塊超聲波測距模塊一共有4個引腳6,7,引腳1接電源,引腳4接地,觸發(fā)信號的輸入端接到單片機(jī)的P3.4端口,信號輸出端3腳接到P3.5端口。由單片機(jī)的I/O端口產(chǎn)生一10us以上高電平,單片機(jī)同時開始計時,當(dāng)超聲波被物體反彈回來并接收時,超聲波模塊會產(chǎn)生一個高低電平的跳變并輸出給單片機(jī),單片機(jī)記錄發(fā)出方波到跳變的時間。通過公式:距離等于時間與聲速的乘積的一半,最終得出距離,本次設(shè)計沒有加入顯示模塊,沒有很精確的獨處距離并顯示,而是單單用于檢測物體靠近,而相較于光電檢測物體,超聲波的準(zhǔn)確度和精度都比較高,而且穩(wěn)定性也比較好,不容易受環(huán)境因素干擾。具體模塊電路圖如圖2-7所示。圖2-7超聲波測距模塊電路圖2.6 語音模塊WT588D語音模塊是可重復(fù)擦除燒寫的的單片機(jī)語音芯片8,模塊的上位機(jī)軟件操作簡單容易上手,可以對任意語音進(jìn)行組合。而且模塊與單片機(jī)可直接交互,可以通過發(fā)送地址碼來觸發(fā)播放指定的語音,模塊可存儲220段的語音。本次設(shè)計采用三線串口的控制模式來控制語音輸出。語音模塊電路如圖2-8所示。圖2-8語音模塊電路圖圖2-9語音模塊引腳圖2.7 噴灑消毒劑電路由于本次設(shè)計主要側(cè)重于垃圾桶的控制系統(tǒng)的設(shè)計,所以用led指示燈來模擬消毒劑噴灑。當(dāng)系統(tǒng)定時時間60ms到,單片機(jī)P3.3口變?yōu)榈碗娖?,led燈亮,即垃圾桶正在噴灑消毒劑進(jìn)行消毒,led燈滅即停止,每60s循環(huán)一下,可有效的抑止細(xì)菌的滋生還有垃圾腐爛發(fā)臭。噴灑消毒劑電路如圖2-10所示。圖2-10噴灑消毒劑電路圖2.8 本章小結(jié)這一章對智能垃圾桶系統(tǒng)的幾個重要模塊的硬件進(jìn)行了詳細(xì)的說明,在這一設(shè)計過程中,通過查閱書籍和網(wǎng)上資料,并結(jié)合在學(xué)校學(xué)到的知識,一步步從整體的框架到具體的每個模塊的設(shè)計,最后得出最終的原理圖。每一個模塊的準(zhǔn)確性和穩(wěn)定性都決定著最終整個系統(tǒng)的成敗。硬件部分的確定,也就為整個系統(tǒng)打下基石。第3章 系統(tǒng)軟件設(shè)計3.1 系統(tǒng)總體程序設(shè)計流程圖系統(tǒng)程序分為三個大塊,分別是超聲波檢測程序、自動消毒程序和語音提示程序。系統(tǒng)從外部接入5V電源,通電后,先把各個模塊初始化,然后系統(tǒng)開始計時,計時到達(dá)60s后,啟動自動消毒功能;在此期間,如果超聲波系統(tǒng)檢測到物體接近10cm后,啟動步進(jìn)電機(jī)控制程序和語音提示功能,語音模塊提示將垃圾分類,并且步進(jìn)電機(jī)同步正向轉(zhuǎn)動開啟垃圾桶蓋,3秒后反向轉(zhuǎn)動關(guān)閉;如果光電傳感器檢測到垃圾已滿的話,也將啟動語音提示功能,語音提示“一號垃圾箱滿”或者“二號垃圾箱滿”,視情況而定,兩個類別的垃圾桶都裝滿則提示“一、二號垃圾箱已滿”。系統(tǒng)總體程序流程圖如圖3-1所示。開始模塊初始化超聲波測量距離判斷1號和2號垃圾桶滿的情況N到達(dá)消毒時間?N開門狀態(tài)?物體接近10cm?N垃圾已滿?NYYYY噴灑消毒劑電機(jī)正轉(zhuǎn)開門,語音播報:垃圾放置請分類延時3s關(guān)門語音播報相關(guān)信息“1號垃圾箱已滿”“2號垃圾箱已滿”圖3-1系統(tǒng)總體程序設(shè)計流程圖3.2 超聲波檢測程序設(shè)計超聲波主要運用在測量距離上面,通過單片機(jī)產(chǎn)生一段連續(xù)的高電平給超聲波,單片機(jī)同時開始計時,當(dāng)超聲波被物體反彈回來并接收時,超聲波模塊會產(chǎn)生一個高低電平的跳變并輸出給單片機(jī),單片機(jī)統(tǒng)計處發(fā)出方波到跳變的時間。通過公式:距離等于時間與聲速的乘積的一半,最終得出距離。而本次設(shè)計最主要的是用來超聲波來檢測物體靠近與否。下圖為超聲波檢測程序流程圖。開始單片機(jī)發(fā)送脈沖給超聲波,開啟模塊定時器清零Nc_recive為高?Y開啟定時器c_recive為低?NY讀取時間,計算出距離返回圖3-2超聲波檢測程序流程圖3.3 語音模塊的程序設(shè)計本設(shè)計采用三線串口控制模式,不僅可以控制語音播放和停止,還能夠控制音量的高低??梢园l(fā)送0219的地址位,每個地址對應(yīng)相應(yīng)語音段,最多220段語音段。復(fù)位信號在發(fā)碼前拉低5ms之后保持高電平,片選信號拉低5ms??刂茣r序圖如圖3-3圖3-3超聲波測距子程序流程圖語音模塊控制時序圖框圖如圖3-4所示。初始化主循環(huán)N按鍵動作?Y地址累加發(fā)送串口程序圖3-4語音模塊控制時序框圖3.4 自動消毒的程序設(shè)計噴灑消毒劑部分設(shè)計由led模擬,時間到達(dá)60s開啟噴灑消毒劑,噴灑時間持續(xù)為1s,然后重新開始計時并循環(huán)。具體程序流程圖如下:開始開始計時N計時200ms?Yxiaodu累加NXiaodu大于等于300?Y消毒1秒,消毒置零重新計時返回圖3-5自動消毒程序流程圖3.5 本章小結(jié)程序就是一個系統(tǒng)的大腦,所有的命令都由它來發(fā)出,而程序流程圖就是來表示程序的框架,有利于增加程序的條理性,也有助于讀程序。從整體程序流程圖細(xì)化到每個模塊子程序,它決定系統(tǒng)的實現(xiàn)的穩(wěn)定度和性能。第4章 系統(tǒng)調(diào)試硬件電路搭建和程序編寫完之后,就是對系統(tǒng)的調(diào)試了。調(diào)試過程中存在著很多不確定因素,在硬件設(shè)計和軟件設(shè)計若存在著缺陷或是錯誤,在調(diào)試階段就會被放大。4.1 硬件調(diào)試本次設(shè)計由于制作工序的關(guān)系選用普通的萬能板而沒有用pcb板來制作。然后對照著原理圖和元器件將器件的位置確定下來后,進(jìn)行焊接。由于是萬能版,所以很多走線需要用到跳線來完成,這也影響到了這個設(shè)計的美觀。焊接前應(yīng)先將各個模塊進(jìn)行模擬,測試一下電路設(shè)計是否存在問題,把模塊電路先在面包板上搭建起來,然后可以通過led燈來觀察輸出是否正常,有的則需要借助示波器來進(jìn)行觀察。在調(diào)試過程中,發(fā)現(xiàn)了有錯焊的地方,如圖4-2所示,元器件焊點很近而且多,一不注意的話就可能就搭在一起了。這個故障也是花費大量的時間來排查,先通過程序運行的狀況將問題點大致范圍確定下來,然后再細(xì)致的排查故障點。圖4-1焊接完的萬能版4.2 軟件調(diào)試除了程序編寫的問題,軟件的調(diào)試是建立在硬件調(diào)試的基礎(chǔ)上來進(jìn)行的。程序編寫最常見的故障就是編譯失敗了,本次使用的是c語言來編寫程序9,有幾次由于輸入法的問題一直導(dǎo)致編譯不成功,后面就比較注意這個問題并少犯錯;編寫完之后配合著硬件調(diào)試的同步進(jìn)行,在確定了硬件沒問題后,調(diào)試起來就比較有針對性,效率也會大大增大,主要是參數(shù)的修改和程序的優(yōu)化,程序的優(yōu)化可以提高系統(tǒng)的穩(wěn)定度,減少程序運行錯亂的發(fā)生。第5章 成品模擬及設(shè)計總結(jié)5.1 成品模擬經(jīng)過反復(fù)實驗和不斷的調(diào)試,最終達(dá)到了預(yù)想的結(jié)果。當(dāng)人或物體接近至距離超聲波傳感器小于10cm時,用白色紙板來模擬人體,如圖5-1所示。然后系統(tǒng)語音提示“垃圾放置請分類”,同時垃圾桶蓋子自動開啟,如圖5-2為垃圾桶蓋子關(guān)閉狀態(tài),然后步進(jìn)電機(jī)慢慢左轉(zhuǎn)開啟,垃圾桶翻蓋狀態(tài)如圖5-3所示。圖5-1人接近垃圾桶模擬圖圖5-2垃圾桶蓋子關(guān)閉狀態(tài)圖5-3垃圾桶翻蓋狀態(tài)翻蓋動作完成后延時3s,讓人扔放垃圾,然后步進(jìn)電機(jī)反向轉(zhuǎn)動重新關(guān)閉蓋子。本次設(shè)計的垃圾桶又分有兩個垃圾桶,用于垃圾的分類,有一號垃圾桶和二號垃圾桶,所以配有兩個用于檢測垃圾是否裝滿的光電傳感器,當(dāng)一號垃圾桶裝滿時(用手指模擬垃圾裝滿),語音提示“一號垃圾桶裝滿”如圖5-4,二號垃圾桶裝滿如圖5-5所示。圖5-4一號垃圾桶裝滿模擬圖圖5-5二號垃圾桶裝滿模擬圖當(dāng)兩個垃圾桶同時裝滿時,也會對應(yīng)的兩個指示燈都亮起,并且語音提示“一、二號垃圾桶已滿”。本次系統(tǒng)還有自動消毒功能,每過60秒,系統(tǒng)就會自動對垃圾桶進(jìn)行消毒,由圖5-6自動消毒模擬圖中的紅燈來模擬,每次消毒的持續(xù)時間設(shè)為1秒。圖5-6自動消毒模擬圖5.2 設(shè)計總結(jié)本次基于單片機(jī)的垃圾桶的設(shè)計,具有自動開蓋,語音提示以及自動消毒等功能,主要的設(shè)計目的是為了提高人們的垃圾分類意識,將垃圾分類逐漸形成一種習(xí)慣,提高垃圾回收利用率,從而減少人類對環(huán)境的污染。時代在進(jìn)步,科技在進(jìn)步,人類的環(huán)保意識也要也必將越來越強(qiáng),智能垃圾桶也會在不久的將來走進(jìn)我們的生活。本次設(shè)計通過對網(wǎng)上的現(xiàn)有產(chǎn)品的參考與借鑒,取其精華取其糟粕,舍棄了一些相對雞肋的功能,確定了較為合理的設(shè)計方案。當(dāng)然,本次設(shè)計相比正真的智能垃圾桶還是很粗糙的10,也還有很多細(xì)節(jié)需要進(jìn)行優(yōu)化的,這在后面會慢慢完善;還有就是一些功能的欠缺,如電源部分可以使用太陽能來供能,就更加環(huán)保了;還有可以加入對金屬的檢測分類,甚至是對垃圾自動進(jìn)行分類11,這些在未來可能會實現(xiàn)的,由于本身學(xué)識的欠缺,還有各方面能力的不足,這次設(shè)計存在很多需要改進(jìn)的地方,爭取在后面的學(xué)習(xí)工作中,不斷改進(jìn)。致謝經(jīng)過這一段時間的忙碌,設(shè)計終于完成了,感謝我的指導(dǎo)老師曾瑋老師,在課題設(shè)計的時,我還是毫無頭緒也沒有方向,多虧了來時的指導(dǎo)踩最終確定下來,并給予我專業(yè)知識的指導(dǎo),我才能如期完成我的畢業(yè)設(shè)計。老師平時課程繁多,還耐心的對我的論文進(jìn)行審查批注,做事一絲不茍,細(xì)致入微,每次修改都是耐心的跟我講解修改的重點。除了感謝我的指導(dǎo)老師,也感謝任課老師們以及班上同學(xué)的幫助,有了老師們的認(rèn)真教學(xué)才可以完成這次的設(shè)計。參考文獻(xiàn)1李偉國.網(wǎng)記看兩會:太陽能垃圾桶蓋子可自動開關(guān)http:/ 2張毅剛,彭喜元.單片機(jī)原理與應(yīng)用設(shè)計M.電子工業(yè)出版社,2008.3國勝,陸明,常天慶.基于光電傳感器電路的迷宮機(jī)器人設(shè)計J. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(01):65-674Mohanty Kant Nalin;Muthu Ranganath.Microcontroller based PWM controlled four switch three phase I nverter fed induction motor driveJ. Serbian Journal of Electrical Engineering 2010(02):195-204.5鄭振杰,江衍煊,游德智. 單片機(jī)結(jié)合ULN2003驅(qū)動步進(jìn)電機(jī)J.電機(jī)技術(shù),2010(06):44-466孔明,侯蕊,趙軍.基于FPGA的超聲波測距系統(tǒng)J.儀表技術(shù)與傳感器,2013(06):78-83.7鄭暉,林樹青.超聲檢測M.中國勞動社會保障出版社,2008.8王春武,劉春玲,秦政坤,王廣德,王立忠. 基于WT588D模塊的語音播報系統(tǒng)設(shè)計J.電子技術(shù)應(yīng)用,2012(01)21-121.9唐國明,王智群.C語言程序設(shè)計M.清華大學(xué)出版社,2009.10徐強(qiáng)民,陳學(xué)平,唐洪興,張華.農(nóng)戶庭院衛(wèi)生垃圾箱制作及利廢技術(shù)J.農(nóng)村能源,1996(01):24-25.11朱杜.垃圾分類管理到位J. 鄉(xiāng)鎮(zhèn)企業(yè)導(dǎo)報,2008(08):171-171.附錄一附錄二#include #define uchar unsigned char #define uint unsigned int #include sbit led = P33; /xiaodusbit c_send = P34;/chaoshengjiesbit c_recive = P35;/chaoshengshouuchar flag_hc_value; bit flag_200ms ;sbit hongwai_1 = P15; /hongwai1sbit hongwai_2 = P16; /hongwai2uchar hw1_value ;uchar hw2_value ;uchar hw12_value ;uchar flag_k_g ; uint xiaodu; long distance; uint set_d; bit flag_csb_juli; uint flag_time0; uchar menu_1; uchar a_a;sbit VRST = P14; sbit VBUSY= P13;sbit VSDA = P12; sbit VCS = P11; sbit VSCL = P10;uchar yujing3;uchar flag_z_f; unsigned char code zheng4=0 x08,0 x04,0 x02,0 x01;/zhengunsigned char code fan4=0 x01,0 x02,0 x04,0 x08;/fanuint bjdj_value; uchar i;uchar flag_lj_value; uchar flag_guan;void delay_uint(uint q)while(q-);void bujindj() if(flag_z_f != 0)if(flag_z_f = 1) /kaibjdj_value +;if(bjdj_value = 127)flag_z_f = 0;P2 = P2 & 0 xf0;if(flag_z_f = 2) /guanif(bjdj_value = 1)flag_z_f = 0;bjdj_value = 1;P2 = P2 & 0 xf0; bjdj_value -;for(i=0;i4;i+) if(flag_z_f = 2) /guanP2=zhengi; /else if(flag_z_f = 1)/kaiP2=fani; delay_uint(900); void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);void delay_us (unsigned int us)while(us-)_nop_();void Send_threelines(unsigned char addr) unsigned char i;if(VBUSY = 1)VRST=0;delay_1ms(5);VRST=1;delay_1ms(20);VCS=0;delay_1ms(5); for(i=0;i=1;delay_us(150); VSCL=0;delay_us(150); VCS=1;void delay()_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); void send_wave()c_send = 1; delay();c_send = 0; TH0 = 0; TL0 = 0;TR0 = 0; while(!c_recive); TR0=1;while(c_recive) flag_time0 = TH0 * 256 + TL0;if(flag_time0 40000) TR0 = 0;flag_csb_juli = 2;distance = 888;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)TR0=0; distance =flag_time0; distance *= 0.017; if(distance 500) distance = 888; void time_init() EA = 1; TMOD = 0X11; ET0 = 1; TR0 = 1; ET1 = 1; TR1 = 1; void main()static uchar value;led = 0; delay_1ms(200);P0 = P1 = P2 = P3 = 0 xff;send_wave();time_init();while(1)bujindj(); if(flag_200ms = 1)flag_200ms = 0;xiaodu +;if(xiaodu = 300) /60sled = 0;if(xiaodu = 305) xiaodu = 0;led = 1;send_wave();if(distance = 2)if(flag_z_f = 0) Send_threelines(0 x1d); /fenleivalue = 0;flag_z_f = 1; /kaiflag_k_g = 1; flag_guan = 0;else value = 0;if(flag_z_f = 0)flag_guan+;if(flag_guan = 15) /3sflag_guan = 0;if(flag_k_g = 1)flag_k_g = 2;flag_z_f = 2; /guanif(hongwai_1 = 0) & (hongwai_2 = 0)/doumanhw12_value +;if(hw12_value 5)hw12_value = 0;Send_threelines(0 x1c); else hw12_value = 0;if(hongwai_1 = 0) /1hw1_value +;if(hw1_value 5)hw1_value = 0;Send_threelines(0 x1a); else/hw1_value = 0;if(hongwai_2 = 0) /2hw2_value +;if(hw2_value 5)hw2_value = 0;Send_threelines(0 x1b); else/hw2_value = 0;void time0_int() interrupt 1 flag_hc_value +; void time1_int() interrupt 3static uchar value;TH1 = 0 xf8;TL1 = 0 x30; /2msvalue+;if(value = 100)value = 0;flag_200ms = 1;