基于.單片機(jī)的智能垃圾桶的設(shè)計說明_第1頁
基于.單片機(jī)的智能垃圾桶的設(shè)計說明_第2頁
基于.單片機(jī)的智能垃圾桶的設(shè)計說明_第3頁
基于.單片機(jī)的智能垃圾桶的設(shè)計說明_第4頁
基于.單片機(jī)的智能垃圾桶的設(shè)計說明_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 PAGE18 / NUMPAGES18經(jīng)濟(jì)學(xué)院信息工程學(xué)院電子信息工程專業(yè)專業(yè)課程設(shè)計報告題 目 基于Arduino的智能垃圾桶的設(shè)計姓 名 王 彤 學(xué) 號 9 班 級 4101090102 指導(dǎo)教師 明 亮 2014年 1 月 8 日要求:1指導(dǎo)教師按照課程設(shè)計大綱要求完成學(xué)生課程設(shè)計指導(dǎo)工作。2課程設(shè)計任務(wù)書由指導(dǎo)教師照大綱要求填寫,容要全面。3課程設(shè)計報告由參加本學(xué)生填寫。課程設(shè)計結(jié)束時交指導(dǎo)教師。4指導(dǎo)教師要根據(jù)每一位學(xué)生課程設(shè)計任務(wù)完成情況,認(rèn)真審核設(shè)計報告,并在課程設(shè)計結(jié)束時,給出客觀、準(zhǔn)確的評語和成績。5課程設(shè)計任務(wù)書和報告要語言流暢,圖表正確規(guī)。6本表要用鋼筆、圓柱筆填寫或打

2、印,字跡工整。課程設(shè)計任務(wù)書班級 4101090102 王 彤 學(xué)號 9 課程設(shè)計題目 基于Arduino的智能垃圾桶的設(shè)計 課程設(shè)計起止日期 2013.12.23 至 2014.1.10 實習(xí)地點 實驗樓 106 課程設(shè)計容與要求 設(shè)計任務(wù):基于Arduino的智能垃圾桶 要求: 1.可以用遙控器控制垃圾桶的行走,并由人們實時隨意控制; 2.垃圾桶在行進(jìn)過程中可以躲避障礙物; 3.有人伸手扔垃圾時,垃圾桶蓋自動打開,之后自動關(guān)閉; 4.圾桶垃圾到達(dá)一定程度時,垃圾桶能自動發(fā)出提醒聲; 指導(dǎo)教師: 明亮 2013 年 12月 23 日注:此表可加附頁一、設(shè)計原理與技術(shù)方法(包括:電路工作原理分

3、析與原理圖、元器件選擇、電路調(diào)試方法與結(jié)果說明;軟件設(shè)計說明書與流程圖、軟件源程序代碼、軟件調(diào)試方法與運行結(jié)果說明。)智能垃圾桶的功能分析為實現(xiàn)所有功能,需要一個控制中心,即主控單元,實時接收各方面信息并處理,然后發(fā)出指令,從而實現(xiàn)功能。要實現(xiàn)無線遙控功能,需要一個外置的遙控器,垃圾桶主體還要設(shè)置一個信號接收的模塊接受遙控的指令并把信號轉(zhuǎn)換為電信號傳輸給主控單元,再由主控單元處理并發(fā)送指令,驅(qū)動發(fā)動機(jī)轉(zhuǎn)動和控制輪子以改變方向。而對于自動避障功能,需要設(shè)置一個避障模塊和電機(jī)驅(qū)動模塊,能夠檢測前方是否有障礙。若有,則發(fā)送電信號至主控單元,再由主控單元發(fā)送指令至發(fā)動機(jī),從而停止行進(jìn)。需要檢測環(huán)境的功

4、能還有自動開蓋功能和自動提醒垃圾已滿功能。自動開蓋功能需要一個感應(yīng)模塊和一個軸承控制模塊。如果有人體靠近,感應(yīng)模塊就發(fā)送信號到主控單元,通過主控單元控制軸承控制模塊,打開垃圾桶蓋。自動提醒垃圾已滿功能需要一個測試模塊和語音控制模塊。桶垃圾達(dá)到一定高度時測試模塊就發(fā)送信號給主控單元,從而使語音控制模塊發(fā)出提醒聲。以上三個功能都需要傳感器來檢測外界環(huán)境從而判斷是否發(fā)出信號給主控單元,實現(xiàn)其相應(yīng)的功能。1.1 設(shè)計方案的選擇以Arduino板作為控制中心的主控單元,為實現(xiàn)垃圾桶的智能化,還需要加入其他功能模塊,分別與主控單元相連接,接收主控單元的命令從而實現(xiàn)其特有功能。需要的功能模塊如下:用于為各個

5、模塊供電的電源模塊,其電源輸出端分別連接上述各個模塊的電源端;用于接收遙控命令的無線信號接收模塊;用于避免障礙物的紅外避障模塊,用于測試?yán)叨鹊募t外測試模塊,用于自動感應(yīng)人體靠近的紅外感應(yīng)模塊;用于驅(qū)動電機(jī)工作的電機(jī)驅(qū)動模塊;用于當(dāng)垃圾桶物品到達(dá)指定高度時,自動發(fā)出提醒聲的語音控制模塊。用于當(dāng)人體靠近時自動開蓋的軸承控制模塊。1.2 設(shè)計方案的各模塊關(guān)系框圖與說明課程設(shè)計報告圖1 各模塊關(guān)系框圖各模塊關(guān)系圖如圖1 所示,電源模塊A用于為各個模塊供電的,其電源輸出端分別連接所用到的各個模塊的電源端。當(dāng)使用時,首先通過遙控器B1發(fā)送命令,此命令通過無線信號傳輸給無線電模塊B2,無線模塊B2將信號

6、處理后傳送至Arduino主控單元G,由主控單元G發(fā)送命令至電機(jī)驅(qū)動模塊D,垃圾桶按照命令,在電機(jī)驅(qū)動模塊D的驅(qū)動下實現(xiàn)前進(jìn)、后退、左移、右移功能。在行駛過程中,距離障礙物20cm處,垃圾桶可通過紅外避障模塊C1感應(yīng)前方障礙物,此模塊發(fā)送命令至主控單元G,再發(fā)送給電機(jī)驅(qū)動模塊指令,此時垃圾桶會向左或向右轉(zhuǎn)彎,控制者可根據(jù)自己的方位對垃圾桶進(jìn)行實時控制以使垃圾桶到達(dá)控制者附近,控制者向垃圾桶扔垃圾,當(dāng)手靠近垃圾桶時,垃圾桶可通過紅外控制模塊C3發(fā)送命令到主控單元G,再由主控單元G發(fā)送命令到軸承控制模塊F,使垃圾桶自動開蓋,5秒后自動關(guān)蓋。如果垃圾桶物品裝滿時,可通過紅外測試模塊C2感應(yīng)到垃圾桶物

7、品高度,如果桶物品高度到達(dá)距桶蓋5厘米處,紅外測試模塊C3可向主控單元G發(fā)送命令,主控單元G向語音控制模塊E傳輸命令,使得語音控制模塊E自動發(fā)出提醒聲。智能垃圾桶設(shè)計器材的選擇由于時間與材料有限,我們僅利用紅外避障模塊和紅外感應(yīng)模塊與Arduino板模擬了躲避障礙物,自動感應(yīng)周圍的人來自動開蓋關(guān)蓋的功能。所需材料如表一所示:表一 設(shè)計所需器材說明表元件名稱參考規(guī)格數(shù)量實物參考圖Arduino開發(fā)板Uno R3一塊9V電池一塊紅外避障模塊三個紅外測距模塊夏普GP2Y0D805Z0一個無線遙控模塊OPENJUMPER藍(lán)牙模塊v2.0兩個紅外感應(yīng)模塊HC-SR501一塊車體Openjumper小車車

8、體套件一個擴(kuò)展板UNO配套的傳感器擴(kuò)展板一個電機(jī)驅(qū)動openjumperL298電機(jī)驅(qū)動板一個面包板840孔無焊板一個蜂鳴器一個面包板專用線若干指示燈LED燈若干2.1 芯片說明2.1.1 ArduinoUNO芯片圖2 Arduino UNO芯片實物圖Arduino UNO芯片,如圖2 Arduino UNO是Arduino USB接口系列的最新版本,作為Arduino平臺的參考標(biāo)準(zhǔn)模板。UNO的處理器核心是ATmega328,同時具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個16MHz晶體振蕩器,一個USB口,一個電源插座,一個ICSP header和一個復(fù)位按鈕

9、。與51單片機(jī)相比,Arduino UNO具有很多優(yōu)勢,例如功耗小、每個人模塊是打包好的可以直接用,操作簡單等等。所以在這里我們選用Arduino UNO芯片。參考數(shù)據(jù)(1) 處理器 ATmega328 (2) 工作電壓 5V (3) 輸入電壓(推薦) 7-12V (4) 輸入電壓(圍) 6-20V (5) 數(shù)字IO腳 14 (其中6路作為PWM輸出) (6) 模擬輸入腳 6 (7) IO腳直流電流 40 mA (8) 3.3V腳直流電流 50 mA (9) Flash Memory 32 KB (ATmega328,其中0.5 KB 用于 bootloader) (10) SRAM 2 KB

10、 (ATmega328) (11) EEPROM 1 KB (ATmega328) (12) 工作時鐘 16 MHz2.1.2 HC-SR501芯片圖3 HC-SR501實物圖紅外感應(yīng)模塊可采用HC-SR501普通型人體紅外感應(yīng)模塊熱釋電紅外傳感器。如圖3其技術(shù)參數(shù)如下:(1)工作電壓:DC5V至20V(2)靜態(tài)功耗:65微安 (3)電平輸出:高3.3V,低0V (4)延時時間:可調(diào)(0.3秒18秒) (5)封鎖時間:0.2秒 (6)觸發(fā)方式:L不可重復(fù),H可重復(fù),默認(rèn)值為H (7)感應(yīng)圍:小于120度錐角,7米以 (8)工作溫度:-15+70度 (9)PCB外形尺寸:32*24mm,螺絲孔距

11、28mm,螺絲孔徑2mm,感應(yīng)透鏡尺寸:(直徑):23mm(默認(rèn))其功能特點如下:(1)全自動感應(yīng):當(dāng)有人進(jìn)入其感應(yīng)圍則輸出高電平,人離開感應(yīng)圍則自動延時關(guān)閉高電平。輸出低電平。(2)兩種觸發(fā)方式:L不可重復(fù),H可重復(fù)??商€選擇,默認(rèn)為H。 A.不可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,延時時間一結(jié)束,輸出將自動從高電平變?yōu)榈碗娖健?B.可重復(fù)觸發(fā)方式: 即感應(yīng)輸出高電平后,在延時時間段,如果有人體在其感應(yīng)圍活動,其輸出將一直保持高電平,直到人離開后才延時將高電平變?yōu)榈碗娖?感應(yīng)模塊檢測到人體的每一次活動后會自動順延一個延時時間段,并且以最后一次活動的時間為延時時間的起始點)。 (3)具有感應(yīng)封

12、鎖時間(默認(rèn)設(shè)置:0.2秒):感應(yīng)模塊在每一次感應(yīng)輸出后(高電平變?yōu)榈碗娖?,可以緊跟著設(shè)置一個封鎖時間,在此時間段感應(yīng)器不接收任何感應(yīng)信號。此功能可以實現(xiàn)(感應(yīng)輸出時間和封鎖時間)兩者的間隔工作,可應(yīng)用于間隔探測產(chǎn)品;同時此功能可有效抑制負(fù)載切換過程中產(chǎn)生的各種干擾。 (4)工作電壓圍寬:默認(rèn)工作電壓DC5V至20V (5)微功耗:靜態(tài)電流65微安,特別適合干電池供電的電器產(chǎn)品。 7.輸出高電平信號:可方便與各類電路實現(xiàn)對接。把人體紅外感應(yīng)模塊放在垃圾桶蓋上,放在桶蓋中心位置,一個即可。若有條件,可放4個甚至跟多,均勻的放在桶蓋邊上,并聯(lián)即可。2.1.3 紅外避障模塊原理圖4 紅外障傳感器實

13、物圖 如圖4 紅外避障模塊采用普通的紅外障傳感器,該傳感器模塊對環(huán)境光線適應(yīng)能力強(qiáng),其具有一對紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,經(jīng)過比較器電路處理之后,綠色指示燈會亮起,同時信號輸出接口輸出數(shù)字信號(一個低電平信號),可通過電位器旋鈕調(diào)節(jié)檢測距離,有效距離圍 280cm,工作電壓為3.3V-5V。該傳感器的探測距離可以通過電位器調(diào)節(jié)、具有干擾小、便于裝配、使用方便等特點,可以廣泛應(yīng)用于機(jī)器人避障、避障小車、流水線計數(shù)與黑白線循跡等眾多場合。其主要參數(shù)說明如下:(1) 當(dāng)模塊檢測到前方障礙物信號時,電路板上綠色指示燈點

14、亮電平,同時OUT端口持續(xù)輸出低電平信號,該模塊檢測距離280cm,檢測角度35,檢測距離可以通過電位器進(jìn)行調(diào)節(jié),順時針調(diào)電位器,檢測距離增加;逆時針調(diào)電位器,檢測距離減少。(2) 傳感器主動紅外線反射探測,因此目標(biāo)的反射率和形狀是探測距離的關(guān)鍵。其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大。(3) 傳感器模塊輸出端口OUT可直接與單片機(jī)IO口連接即可,也可以直接驅(qū)動一個5V繼電器;連接方式:VCC-VCC;GND-GND;OUT-IO(4) 比較器采用LM393,工作穩(wěn)定;(5) 可采用3-5V直流電源對模塊進(jìn)行供電。當(dāng)電源接通時,紅色電源指示燈點亮;(6) 具有3mm的螺

15、絲孔,便于固定、安裝;(7) 電路板尺寸:3.1CM*1.5CM (8) 每個模塊在發(fā)貨已經(jīng)將閾值比較電壓通過電位器調(diào)節(jié)好,非特殊情況,請勿隨意調(diào)節(jié)電位器。模塊接口說明(3線制)如下:(1) VCC 外接3.3V-5V電壓(可以直接與5v單片機(jī)和3.3v單片機(jī)相連) (2) GND 外接GND(3) OUT 小板數(shù)字量輸出接口(0和1)這個模塊的主體是三個紅外傳感器。只需要把三個紅外傳感器均勻的安裝在小車上。2.1.4 電源Arduino UNO可以通過3種方式供電,而且能自動選擇供電方式 (1)外部直流電源通過電源插座供電。 (2)電池連接電源連接器的GND和VIN引腳。 (3)USB接口直

16、接供電。 電源引腳說明: VIN 當(dāng)外部直流電源接入電源插座時,可以通過VIN向外部供電;也可以通過此引腳向UNO直接供電;VIN有電時將忽略從USB或者其他引腳接入的電源。 5V 通過穩(wěn)壓器或USB的5V電壓,為UNO上的5V芯片供電。 3.3V 通過穩(wěn)壓器產(chǎn)生的3.3V電壓,最大驅(qū)動電流50mA。 GND 地腳。2.1.5 遙控器和無線模塊:圖5藍(lán)牙串口通信模塊HC-05實物圖OPENJUMPER藍(lán)牙模塊v2.0是主從一體的藍(lán)牙串口通信模塊HC-05,可通過AT模式改寫其各參數(shù)。適用于Arduino與PC、手機(jī)等設(shè)備的無線連接,如圖5 所示。將藍(lán)牙模塊通過USB傳串口模塊連接到電腦USB端

17、口,可直接通過串口助手發(fā)送AT命令來配置藍(lán)牙模塊。設(shè)置好AT指令后,讓藍(lán)牙主機(jī)通過轉(zhuǎn)串口模塊連接電腦,藍(lán)牙從機(jī)連接小車上。藍(lán)牙處于工作狀態(tài),也就是AT引腳接低電平或者懸空(工作狀態(tài)下,藍(lán)牙state燈為快閃)。此時藍(lán)牙會自動搜索能夠與之配對的模塊,自動連接配對,配對成功后LINK燈變?yōu)槌A?.1.6 紅外測距模塊圖6 紅外測距傳感器實物圖在垃圾桶蓋的下方安裝一個紅外測距傳感器,該傳感器與主控單元連接,用來測試桶垃圾高度,實物圖如圖6所示。2.1.7 電機(jī)驅(qū)動模塊圖7 整體連接效果圖先下載一個程序來為電機(jī)接線做準(zhǔn)備。電機(jī)的2根線并沒有正負(fù)之分,電機(jī)驅(qū)動板上的M1,M2接線端子也不能確定應(yīng)該對應(yīng)左

18、右哪一個電機(jī)然后要對uno下載一段程序,以方便我們對小車電機(jī)進(jìn)行連線。效果圖如圖7所示。2.2 設(shè)計說明由于時間和材料有限,我們利用小燈、面包板、HC-SR501普通型人體紅外感應(yīng)器、紅外避障傳感器等實驗器材,編寫了紅外避障、紅外感應(yīng)模塊的程序,并用小燈的亮滅檢測兩個模塊是否能正常執(zhí)行。各模塊程序如下:電機(jī)測試程序: int INA = 4; /電機(jī)A正反轉(zhuǎn)控制端int PWMA = 5; /電機(jī)A調(diào)速端int INB = 7; /電機(jī)B正反轉(zhuǎn)控制端int PWMB = 6; /電機(jī)B調(diào)速端void setup()pinMode(INA,OUTPUT);pinMode(INB,OUTPUT);

19、 /配置電機(jī)輸出IO口為輸出void loop()int value;for(value = 20 ; value 0) digitalWrite(INA, HIGH); elsedigitalWrite(INA, LOW);if(sp20) digitalWrite(INB, HIGH); else digitalWrite(INB, LOW); analogWrite(PWMA,abs (sp1);analogWrite(PWMB,abs (sp2);功能:測試電機(jī)驅(qū)動功能和電機(jī)連線是否正確,左電機(jī)反轉(zhuǎn),右電機(jī)正轉(zhuǎn),電機(jī)轉(zhuǎn)速由小到大。紅外感應(yīng)模塊:int Sensor = 2;int in

20、a = 13;void setup() pinMode(ina, OUTPUT); /13引腳定義為輸出 Serial.begin(9600); /設(shè)置下載程序的串口的波特率為9600 pinMode(Sensor, INPUT); /2引腳定義為輸入void loop() int SensorState = digitalRead(Sensor);/讀取2引腳的電平 while(SensorState = 1) SensorState = digitalRead(Sensor); /2引腳為高電平時,設(shè)置13引腳為高 digitalWrite(ina,HIGH); delay(1000);

21、/延時1000ms while(SensorState = 0) /當(dāng)2引腳為低電平時,設(shè)置13引腳為低 SensorState = digitalRead(Sensor); digitalWrite(ina,LOW); delay(100); /延時100ms實驗現(xiàn)象:當(dāng)我們靠近此模塊圓形凸面時,13引腳連接的小燈亮了并延時一段時間,過后小燈滅,也延時一段時間,在此期間,在接近圓形凸面時,小燈不亮,過后會亮。這說明紅外感應(yīng)模塊能夠正常工作。避障模塊:int Sensor1 = 2;int Sensor2 = 4 ;int ina = 13;int inb = 12;void setup()

22、pinMode(ina, OUTPUT); /定義輸入、輸出引腳 pinMode(inb, OUTPUT); Serial.begin(9600); pinMode(Sensor1, INPUT); pinMode(Sensor2, INPUT);void loop() int SensorState1 = digitalRead(Sensor1);/讀取數(shù)據(jù) int SensorState2 = digitalRead(Sensor2); boolean Write = true; /定義布爾變量 boolean Black = true; if(SensorState1 = 1) Writ

23、e = false; if(SensorState2 = 1) Black = false; if(Write & Black) /當(dāng)量輸入引腳同時為高時,兩輸出引腳為高 digitalWrite(ina,HIGH); digitalWrite(inb,HIGH); delay(1000); digitalWrite(ina,LOW); /復(fù)位 digitalWrite(inb,LOW); delay(100);實驗現(xiàn)象說明:當(dāng)芯片上紅外發(fā)射管周圍有障礙物時,12、13引腳連接的小燈同時亮,有障礙物時一直亮,障礙物除去以后,小燈滅。這說明紅外避障模塊能夠正常工作。二、課程設(shè)計工作記錄設(shè)計步驟與

24、時間安排(含調(diào)試步驟與時間安排)12月23日至12月27日,選課題,查閱資料,確定設(shè)計方案。12月28日至1月1日,根據(jù)設(shè)計方案,確定所需模塊與器材,學(xué)習(xí)Arduino的編寫語言,然后分模塊編寫程序。1月2至1月5日,通過實驗板調(diào)試程序,糾正程序的功能錯誤,不斷完善程序。1月6日,行答辯。1月7日至1月8日,交實習(xí)報告,修改實習(xí)報告。課題完成結(jié)果說明(1)程序?qū)崿F(xiàn)了以下功能1)當(dāng)避障模塊周圍出現(xiàn)障礙物時,連接的小燈點亮,障礙物移走,小燈滅,反應(yīng)比較靈敏。2)當(dāng)紅外感應(yīng)模塊周圍有人活動時,連接的小燈點亮,亮一段時間后,小燈滅并延時,再次期間,再有人活動小燈不亮,過了延時期,才會正常感應(yīng)。3)通過量模塊小燈的亮滅,正確判斷了兩模塊是否正常工作。(2)遇到的問題總結(jié)如下1)以前沒有接觸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論