找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9589|回復(fù): 1
收起左側(cè)

基于51單片機(jī)的智能垃圾桶設(shè)計(jì)論文

[復(fù)制鏈接]
ID:229530 發(fā)表于 2017-8-27 16:51 | 顯示全部樓層 |閱讀模式



要求:
1.指導(dǎo)教師按照課程設(shè)計(jì)大綱要求完成學(xué)生課程設(shè)計(jì)指導(dǎo)工作。
2.課程設(shè)計(jì)任務(wù)書由指導(dǎo)教師照大綱要求填寫,內(nèi)容要全面。
3.課程設(shè)計(jì)報(bào)告由參加本學(xué)生填寫。課程設(shè)計(jì)結(jié)束時(shí)交指導(dǎo)教師。
4.指導(dǎo)教師要根據(jù)每一位學(xué)生課程設(shè)計(jì)任務(wù)完成情況,認(rèn)真審核設(shè)計(jì)報(bào)告,并在課程設(shè)計(jì)結(jié)束時(shí),給出客觀、準(zhǔn)確的評(píng)語和成績(jī)。
5.課程設(shè)計(jì)任務(wù)書和報(bào)告要語言流暢,圖表正確規(guī)范。
6.本表要用鋼筆、圓柱筆填寫或打印,字跡工整。




課程設(shè)計(jì)任務(wù)書
班級(jí)      4101090102    姓名    王 彤            學(xué)號(hào)   410109060209              
課程設(shè)計(jì)題目           基于Arduino的智能垃圾桶的設(shè)計(jì)
課程設(shè)計(jì)起止日期           2013.12.23              2014.1.10                    
實(shí)習(xí)地點(diǎn)            實(shí)驗(yàn)樓 106         
課程設(shè)計(jì)內(nèi)容與要求
  設(shè)計(jì)任務(wù):基于Arduino的智能垃圾桶
要求:
     1.可以用遙控器控制垃圾桶的行走,并由人們實(shí)時(shí)隨意控制;
     2.垃圾桶在行進(jìn)過程中可以躲避障礙物;
     3.有人伸手扔垃圾時(shí),垃圾桶蓋自動(dòng)打開,之后自動(dòng)關(guān)閉;
     4.圾桶內(nèi)垃圾到達(dá)一定程度時(shí),垃圾桶能自動(dòng)發(fā)出提醒聲;  


[size=12.0000pt]
[size=14.0000pt]
[size=14.0000pt]
[size=14.0000pt]
                                        指導(dǎo)教師: 李明亮
                                        2013 年 12月 23 日
注:此表可加附頁(yè)
一、設(shè)計(jì)原理與技術(shù)方法
(包括:電路工作原理分析與原理圖、元器件選擇、電路調(diào)試方法與結(jié)果說明;
軟件設(shè)計(jì)說明書與流程圖、軟件源程序代碼、軟件調(diào)試方法與運(yùn)行結(jié)果說明。)
1. 智能垃圾桶的功能分析
為實(shí)現(xiàn)所有功能,需要一個(gè)控制中心,即主控單元,實(shí)時(shí)接收各方面信息并處理,然后發(fā)出指令,從而實(shí)現(xiàn)功能。
要實(shí)現(xiàn)無線遙控功能,需要一個(gè)外置的遙控器,垃圾桶主體還要設(shè)置一個(gè)信號(hào)接收的模塊接受遙控的指令并把信號(hào)轉(zhuǎn)換為電信號(hào)傳輸給主控單元,再由主控單元處理并發(fā)送指令,驅(qū)動(dòng)發(fā)動(dòng)機(jī)轉(zhuǎn)動(dòng)和控制輪子以改變方向。
而對(duì)于自動(dòng)避障功能,需要設(shè)置一個(gè)避障模塊和電機(jī)驅(qū)動(dòng)模塊,能夠檢測(cè)前方是否有障礙。若有,則發(fā)送電信號(hào)至主控單元,再由主控單元發(fā)送指令至發(fā)動(dòng)機(jī),從而停止行進(jìn)。需要檢測(cè)環(huán)境的功能還有自動(dòng)開蓋功能和自動(dòng)提醒垃圾已滿功能。自動(dòng)開蓋功能需要一個(gè)感應(yīng)模塊和一個(gè)軸承控制模塊。如果有人體靠近,感應(yīng)模塊就發(fā)送信號(hào)到主控單元,通過主控單元控制軸承控制模塊,打開垃圾桶蓋。自動(dòng)提醒垃圾已滿功能需要一個(gè)測(cè)試模塊和語音控制模塊。桶內(nèi)垃圾達(dá)到一定高度時(shí)測(cè)試模塊就發(fā)送信號(hào)給主控單元,從而使語音控制模塊發(fā)出提醒聲。以上三個(gè)功能都需要傳感器來檢測(cè)外界環(huán)境從而判斷是否發(fā)出信號(hào)給主控單元,實(shí)現(xiàn)其相應(yīng)的功能。
1.1 設(shè)計(jì)方案的選擇
Arduino板作為控制中心的主控單元,為實(shí)現(xiàn)垃圾桶的智能化,還需要加入其他功能模塊,分別與主控單元相連接,接收主控單元的命令從而實(shí)現(xiàn)其特有功能。需要的功能模塊如下:
用于為各個(gè)模塊供電的電源模塊,其電源輸出端分別連接上述各個(gè)模塊的電源端;
用于接收遙控命令的無線信號(hào)接收模塊;
用于避免障礙物的紅外避障模塊,用于測(cè)試?yán)叨鹊募t外測(cè)試模塊,用于自動(dòng)感應(yīng)人體靠近的紅外感應(yīng)模塊;
用于驅(qū)動(dòng)電機(jī)工作的電機(jī)驅(qū)動(dòng)模塊;
用于當(dāng)垃圾桶內(nèi)物品到達(dá)指定高度時(shí),自動(dòng)發(fā)出提醒聲的語音控制模塊。
用于當(dāng)人體靠近時(shí)自動(dòng)開蓋的軸承控制模塊。
1.2 設(shè)計(jì)方案的各模塊關(guān)系框圖及說明

課程設(shè)計(jì)報(bào)告
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsD9F4.tmp.png
1 各模塊關(guān)系框圖
各模塊關(guān)系圖如圖1 所示,電源模塊A用于為各個(gè)模塊供電的,其電源輸出端分別連接所用到的各個(gè)模塊的電源端。當(dāng)使用時(shí),首先通過遙控器B1發(fā)送命令,此命令通過無線信號(hào)傳輸給無線電模塊B2,無線模塊B2將信號(hào)處理后傳送至Arduino主控單元G,由主控單元G發(fā)送命令至電機(jī)驅(qū)動(dòng)模塊D,垃圾桶按照命令,在電機(jī)驅(qū)動(dòng)模塊D的驅(qū)動(dòng)下實(shí)現(xiàn)前進(jìn)、后退、左移、右移功能。在行駛過程中,距離障礙物20cm處,垃圾桶可通過紅外避障模塊C1感應(yīng)前方障礙物,此模塊發(fā)送命令至主控單元G,再發(fā)送給電機(jī)驅(qū)動(dòng)模塊指令,此時(shí)垃圾桶會(huì)向左或向右轉(zhuǎn)彎,控制者可根據(jù)自己的方位對(duì)垃圾桶進(jìn)行實(shí)時(shí)控制以使垃圾桶到達(dá)控制者附近,控制者向垃圾桶內(nèi)扔垃圾,當(dāng)手靠近垃圾桶時(shí),垃圾桶可通過紅外控制模塊C3發(fā)送命令到主控單元G,再由主控單元G發(fā)送命令到軸承控制模塊F,使垃圾桶自動(dòng)開蓋,5秒后自動(dòng)關(guān)蓋。如果垃圾桶內(nèi)物品裝滿時(shí),可通過紅外測(cè)試模塊C2感應(yīng)到垃圾桶內(nèi)物品高度,如果桶內(nèi)物品高度到達(dá)距桶蓋5厘米處,紅外測(cè)試模塊C3可向主控單元G發(fā)送命令,主控單元G向語音控制模塊E傳輸命令,使得語音控制模塊E自動(dòng)發(fā)出提醒聲。
2. 智能垃圾桶設(shè)計(jì)器材的選擇
由于時(shí)間及材料有限,我們僅利用紅外避障模塊和紅外感應(yīng)模塊及Arduino板模擬                               了躲避障礙物,自動(dòng)感應(yīng)周圍的人來自動(dòng)開蓋關(guān)蓋的功能。所需材料如表一所示:
表一 設(shè)計(jì)所需器材說明表
元件名稱
參考規(guī)格
數(shù)量
實(shí)物參考圖
Arduino開發(fā)板
[size=10.0000pt]
Uno R3


一塊
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsD9F5.tmp.jpg
[size=10.0000pt]
[size=10.0000pt]
[size=10.0000pt]
9V電池



----


一塊
[size=9.0000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsD9F6.tmp.png


紅外避障模塊


----


三個(gè)
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsD9F7.tmp.jpg

紅外測(cè)距模塊


夏普GP2Y0D805Z0


一個(gè)
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsD9F8.tmp.jpg
[size=10.0000pt]
[size=10.0000pt]
無線遙控模塊

[size=10.0000pt]
[size=10.0000pt]
OPENJUMPER藍(lán)牙模塊v2.0


兩個(gè)
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsD9F9.tmp.jpg


紅外感應(yīng)模塊


HC-SR501


一塊
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA0A.tmp.png

車體


Openjumper小車車體套件
[size=10.0000pt]

一個(gè)
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA0B.tmp.jpg


擴(kuò)展板


UNO配套的傳感器擴(kuò)展板
[size=10.0000pt]

一個(gè)
[size=9.0000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA0C.tmp.png

電機(jī)驅(qū)動(dòng)

[size=10.0000pt]
[size=10.0000pt]
openjumperL298電機(jī)驅(qū)動(dòng)板
[size=10.5000pt]

一個(gè)
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA0D.tmp.jpg

面包板
[size=10.5000pt]

840孔無焊板

一個(gè)
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA0E.tmp.png

蜂鳴器

----

一個(gè)
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA0F.tmp.jpg
[size=10.5000pt]

面包板專用線

----

若干
[size=10.5000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA10.tmp.jpg


指示燈


LED燈


若干
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA21.tmp.png
2.1 芯片說明
2.1.1 ArduinoUNO芯片


[size=12.0000pt]file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA22.tmp.png
2  Arduino UNO芯片實(shí)物圖
Arduino UNO芯片,如圖2 Arduino UNOArduino USB接口系列的最新版本,作為Arduino平臺(tái)的參考標(biāo)準(zhǔn)模板。UNO的處理器核心是ATmega328,同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個(gè)16MHz晶體振蕩器,一個(gè)USB口,一個(gè)電源插座,一個(gè)ICSP header和一個(gè)復(fù)位按鈕。與51單片機(jī)相比,Arduino UNO具有很多優(yōu)勢(shì),例如功耗小、每個(gè)人模塊是打包好的可以直接用,操作簡(jiǎn)單等等。所以在這里我們選用Arduino UNO芯片。
參考數(shù)據(jù)
(1) 處理器 ATmega328  
(2) 工作電壓 5V
(3) 輸入電壓(推薦) 7-12V  
(4) 輸入電壓(范圍) 6-20V
(5) 數(shù)字IO14 (其中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 ATmega328
(11) EEPROM 1 KB ATmega328)  
(12) 工作時(shí)鐘 16 MHz
2.1.2 HC-SR501芯片
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA23.tmp.png
3 HC-SR501實(shí)物圖
紅外感應(yīng)模塊可采用HC-SR501普通型人體紅外感應(yīng)模塊熱釋電紅外傳感器。如圖3
其技術(shù)參數(shù)如下:
1)工作電壓:DC5V20V
2)靜態(tài)功耗:65微安
3)電平輸出:高3.3V,低0V
4)延時(shí)時(shí)間:可調(diào)(0.3~18)
5)封鎖時(shí)間:0.2
6)觸發(fā)方式:L不可重復(fù),H可重復(fù),默認(rèn)值為H
7)感應(yīng)范圍:小于120度錐角,7米以內(nèi)
8)工作溫度:-15~+70
9PCB外形尺寸:32*24mm,螺絲孔距28mm,螺絲孔徑2mm,感應(yīng)透鏡尺寸:(直徑)23mm(默認(rèn))
其功能特點(diǎn)如下:
1)全自動(dòng)感應(yīng):當(dāng)有人進(jìn)入其感應(yīng)范圍則輸出高電平,人離開感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉高電平。輸出低電平。
2)兩種觸發(fā)方式:L不可重復(fù),H可重復(fù)?商選擇,默認(rèn)為H。     
A.不可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,延時(shí)時(shí)間一結(jié)束,輸出將自動(dòng)從高電平變?yōu)榈碗娖健?
B.可重復(fù)觸發(fā)方式: 即感應(yīng)輸出高電平后,在延時(shí)時(shí)間段內(nèi),如果有人體在其感應(yīng)范圍內(nèi)活動(dòng),其輸出將一直保持高電平,直到人離開后才延時(shí)將高電平變?yōu)榈碗娖?/font>(感應(yīng)模塊檢測(cè)到人體的每一次活動(dòng)后會(huì)自動(dòng)順延一個(gè)延時(shí)時(shí)間段,并且以最后一次活動(dòng)的時(shí)間為延時(shí)時(shí)間的起始點(diǎn))。
3)具有感應(yīng)封鎖時(shí)間(默認(rèn)設(shè)置:0.2):感應(yīng)模塊在每一次感應(yīng)輸出后(高電平變?yōu)榈碗娖?/font>),可以緊跟著設(shè)置一個(gè)封鎖時(shí)間,在此時(shí)間段內(nèi)感應(yīng)器不接收任何感應(yīng)信號(hào)。此功能可以實(shí)現(xiàn)(感應(yīng)輸出時(shí)間和封鎖時(shí)間)兩者的間隔工作,可應(yīng)用于間隔探測(cè)產(chǎn)品;同時(shí)此功能可有效抑制負(fù)載切換過程中產(chǎn)生的各種干擾。
4)工作電壓范圍寬:默認(rèn)工作電壓DC5V20V
5)微功耗:靜態(tài)電流65微安,特別適合干電池供電的電器產(chǎn)品。 7.輸出高電平信號(hào):可方便與各類電路實(shí)現(xiàn)對(duì)接。
把人體紅外感應(yīng)模塊放在垃圾桶蓋上,放在桶蓋中心位置,一個(gè)即可。若有條件,可放4個(gè)甚至跟多,均勻的放在桶蓋邊上,并聯(lián)即可。
2.1.3 紅外避障模塊原理
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA24.tmp.png
4 紅外障傳感器實(shí)物圖
如圖4 紅外避障模塊采用普通的紅外障傳感器,該傳感器模塊對(duì)環(huán)境光線適應(yīng)能力強(qiáng),其具有一對(duì)紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測(cè)方向遇到障礙物(反射面)時(shí),紅外線反射回來被接收管接收,經(jīng)過比較器電路處理之后,綠色指示燈會(huì)亮起,同時(shí)信號(hào)輸出接口輸出數(shù)字信號(hào)(一個(gè)低電平信號(hào)),可通過電位器旋鈕調(diào)節(jié)檢測(cè)距離,有效距離范圍 280cm,工作電壓為3.3V-5V。該傳感器的探測(cè)距離可以通過電位器調(diào)節(jié)、具有干擾小、便于裝配、使用方便等特點(diǎn),可以廣泛應(yīng)用于機(jī)器人避障、避障小車、流水線計(jì)數(shù)及黑白線循跡等眾多場(chǎng)合。
其主要參數(shù)說明如下:
(1) 當(dāng)模塊檢測(cè)到前方障礙物信號(hào)時(shí),電路板上綠色指示燈點(diǎn)亮電平,同時(shí)OUT端口持續(xù)輸出低電平信號(hào),該模塊檢測(cè)距離280cm,檢測(cè)角度35°,檢測(cè)距離可以通過電位器進(jìn)行調(diào)節(jié),順時(shí)針調(diào)電位器,檢測(cè)距離增加;逆時(shí)針調(diào)電位器,檢測(cè)距離減少。
(2) 傳感器主動(dòng)紅外線反射探測(cè),因此目標(biāo)的反射率和形狀是探測(cè)距離的關(guān)鍵。其中黑色探測(cè)距離最小,白色最大;小面積物體距離小,大面積距離大。
(3) 傳感器模塊輸出端口OUT可直接與單片機(jī)IO口連接即可,也可以直接驅(qū)動(dòng)一個(gè)5V繼電器;連接方式:VCC-VCC;GND-GND;OUT-IO
(4) 比較器采用LM393,工作穩(wěn)定;
(5) 可采用3-5V直流電源對(duì)模塊進(jìn)行供電。當(dāng)電源接通時(shí),紅色電源指示燈點(diǎn)亮;
(6) 具有3mm的螺絲孔,便于固定、安裝;
(7) 電路板尺寸:3.1CM*1.5CM
(8) 每個(gè)模塊在發(fā)貨已經(jīng)將閾值比較電壓通過電位器調(diào)節(jié)好,非特殊情況,請(qǐng)勿隨意調(diào)節(jié)電位器。
模塊接口說明(3線制)如下:
(1) VCC  外接3.3V-5V電壓(可以直接與5v單片機(jī)和3.3v單片機(jī)相連)
(2) GND  外接GND
(3) OUT  小板數(shù)字量輸出接口(01
這個(gè)模塊的主體是三個(gè)紅外傳感器。只需要把三個(gè)紅外傳感器均勻的安裝在小車上。
2.1.4 電源
Arduino UNO可以通過3種方式供電,而且能自動(dòng)選擇供電方式  
(1)外部直流電源通過電源插座供電。  
(2)電池連接電源連接器的GNDVIN引腳。  
(3)USB接口直接供電。
電源引腳說明:
VIN --- 當(dāng)外部直流電源接入電源插座時(shí),可以通過VIN向外部供電;也可以通過此引腳向UNO直接供電;VIN有電時(shí)將忽略從USB或者其他引腳接入的電源。
5V --- 通過穩(wěn)壓器或USB5V電壓,為UNO上的5V芯片供電。
3.3V --- 通過穩(wěn)壓器產(chǎn)生的3.3V電壓,最大驅(qū)動(dòng)電流50mA。   
GND --- 地腳。
2.1.5 遙控器和無線模塊:
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA34.tmp.jpg
5藍(lán)牙串口通信模塊HC-05實(shí)物圖
OPENJUMPER藍(lán)牙模塊v2.0是主從一體的藍(lán)牙串口通信模塊HC-05,可通過AT模式改寫其各參數(shù)。適用于ArduinoPC、手機(jī)等設(shè)備的無線連接,如圖5 所示。
將藍(lán)牙模塊通過USB傳串口模塊連接到電腦USB端口,可直接通過串口助手發(fā)送AT命令來配置藍(lán)牙模塊。
設(shè)置好AT指令后,讓藍(lán)牙主機(jī)通過轉(zhuǎn)串口模塊連接電腦,藍(lán)牙從機(jī)連接小車上。藍(lán)牙處于工作狀態(tài),也就是AT引腳接低電平或者懸空(工作狀態(tài)下,藍(lán)牙state燈為快閃)。此時(shí)藍(lán)牙會(huì)自動(dòng)搜索能夠與之配對(duì)的模塊,自動(dòng)連接配對(duì),配對(duì)成功后LINK燈變?yōu)槌A?/div>
2.1.6 紅外測(cè)距模塊
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA35.tmp.png
6 紅外測(cè)距傳感器實(shí)物圖
在垃圾桶蓋的下方安裝一個(gè)紅外測(cè)距傳感器,該傳感器與主控單元連接,用來測(cè)試桶內(nèi)垃圾高度,實(shí)物圖如圖6所示。
2.1.7 電機(jī)驅(qū)動(dòng)模塊
file:///C:\Users\lengshao\AppData\Local\Temp\ksohtml\wpsDA36.tmp.jpg
7 整體連接效果圖
先下載一個(gè)程序來為電機(jī)接線做準(zhǔn)備。電機(jī)的2根線并沒有正負(fù)之分,電機(jī)驅(qū)動(dòng)板上的M1,M2接線端子也不能確定應(yīng)該對(duì)應(yīng)左右哪一個(gè)電機(jī)然后要對(duì)uno下載一段程序,以方便我們對(duì)小車電機(jī)進(jìn)行連線。效果圖如圖7所示。
2.2 設(shè)計(jì)說明
由于時(shí)間和材料有限,我們利用小燈、面包板、HC-SR501普通型人體紅外感應(yīng)器、紅外避障傳感器等實(shí)驗(yàn)器材,編寫了紅外避障、紅外感應(yīng)模塊的程序,并用小燈的亮滅檢測(cè)兩個(gè)模塊是否能正常執(zhí)行。各模塊程序如下:
電機(jī)測(cè)試程序:
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);   //配置電機(jī)輸出IO口為輸出
}
void loop(){
int value;
for(value = 20 ; value <= 255;value+=2){    //循環(huán)每次速度增加2最大到255
motosp(-value,value);//電機(jī)速度賦值,左電機(jī)負(fù)值為反轉(zhuǎn),右電機(jī)正轉(zhuǎn)。
delay(50);
}
}
void motosp(int sp1,int sp2)//聲明電機(jī)速度控制函數(shù)。括號(hào)內(nèi)定義的變量分別為左右電機(jī)速
{
if(sp1>0) {
digitalWrite(INA, HIGH);   
}
else
{
digitalWrite(INA, LOW);
}
if(sp2>0)
{  
digitalWrite(INB, HIGH);
}
else  
{  
digitalWrite(INB, LOW);
}
analogWrite(PWMA,abs (sp1));
analogWrite(PWMB,abs (sp2));
}
功能:測(cè)試電機(jī)驅(qū)動(dòng)功能和電機(jī)連線是否正確,左電機(jī)反轉(zhuǎn),右電機(jī)正轉(zhuǎn),電機(jī)轉(zhuǎn)速由小到大。
紅外感應(yīng)模塊:
int Sensor = 2;
int ina = 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í),設(shè)置13引腳為高
    digitalWrite(ina,HIGH);
    delay(1000);                             //延時(shí)1000ms  
    }
    while(SensorState == 0){      //當(dāng)2引腳為低電平時(shí),設(shè)置13引腳為低
      SensorState = digitalRead(Sensor);
      digitalWrite(ina,LOW);
    }
    delay(100);                           //延時(shí)100ms
}

實(shí)驗(yàn)現(xiàn)象:當(dāng)我們靠近此模塊圓形凸面時(shí),13引腳連接的小燈亮了并延時(shí)一段時(shí)間,過后小燈滅,也延時(shí)一段時(shí)間,在此期間內(nèi),在接近圓形凸面時(shí),小燈不亮,過后會(huì)亮。這說明紅外感應(yīng)模塊能夠正常工作。
避障模塊:
int Sensor1 = 2;
int Sensor2 = 4  ;
int ina = 13;
int inb = 12;
void setup() {
    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){
       Write = false;
    }
    if(SensorState2 == 1){
      Black = false;
  }
    if(Write && Black){         //當(dāng)量輸入引腳同時(shí)為高時(shí),兩輸出引腳為高
      digitalWrite(ina,HIGH);
      digitalWrite(inb,HIGH);
      delay(1000);     
    }
    digitalWrite(ina,LOW);       //復(fù)位
    digitalWrite(inb,LOW);
    delay(100);
}
實(shí)驗(yàn)現(xiàn)象說明:當(dāng)芯片上紅外發(fā)射管周圍有障礙物時(shí),1213引腳連接的小燈同時(shí)亮,有障礙物時(shí)一直亮,障礙物除去以后,小燈滅。這說明紅外避障模塊能夠正常工作。
二、課程設(shè)計(jì)工作記錄
1. 設(shè)計(jì)步驟與時(shí)間安排(含調(diào)試步驟與時(shí)間安排)
1223日至1227日,選課題,查閱資料,確定設(shè)計(jì)方案。
1228日至11日,根據(jù)設(shè)計(jì)方案,確定所需模塊及器材,學(xué)習(xí)Arduino的編寫語言,然后分模塊編寫程序。
1215日,通過實(shí)驗(yàn)板調(diào)試程序,糾正程序的功能錯(cuò)誤,不斷完善程序。
16日,行答辯。
17日至18日,交實(shí)習(xí)報(bào)告,修改實(shí)習(xí)報(bào)告。
2. 課題完成結(jié)果說明
1)程序?qū)崿F(xiàn)了以下功能
1)當(dāng)避障模塊周圍出現(xiàn)障礙物時(shí),連接的小燈點(diǎn)亮,障礙物移走,小燈滅,反應(yīng)比較靈敏。
2)當(dāng)紅外感應(yīng)模塊周圍有人活動(dòng)時(shí),連接的小燈點(diǎn)亮,亮一段時(shí)間后,小燈滅并延時(shí),再次期間,再有人活動(dòng)小燈不亮,過了延時(shí)期,才會(huì)正常感應(yīng)。
3)通過量模塊小燈的亮滅,正確判斷了兩模塊是否正常工作。
2)遇到的問題總結(jié)如下
1)以前沒有接觸過Arduino,所以開始做有點(diǎn)費(fèi)力,時(shí)間、材料有限的情況下,就做出兩個(gè)模塊的功能。
2)紅外感應(yīng)模塊所用的芯片HC-SR501,上面有兩個(gè)旋轉(zhuǎn)按鈕,一個(gè)控制延時(shí)時(shí)間,一個(gè)控制感應(yīng)距離,開始的時(shí)候沒發(fā)現(xiàn)它們的作用,就單靠程序的延時(shí)控制小燈的亮滅時(shí)間,發(fā)現(xiàn)實(shí)驗(yàn)現(xiàn)象和預(yù)想不符,仔細(xì)閱讀了芯片引腳功能分析后,發(fā)現(xiàn)并解決了這個(gè)問題。
3)網(wǎng)上對(duì)Arduino的解說材料特別少,查找十分不便,對(duì)初期工作造成困擾。
3)心得體會(huì)
三周的實(shí)習(xí)很快過去了,雖然過程很痛苦,但果實(shí)是豐碩的。以前我們學(xué)習(xí)知識(shí)總是停留在知識(shí)層面,覺得書本上的只弄懂了就不錯(cuò)了。但通過這次實(shí)習(xí)我發(fā)現(xiàn)我以前的想法真是大錯(cuò)特錯(cuò)。要適應(yīng)現(xiàn)在高速發(fā)展的社會(huì)的人才需求,我們不光要具備良好的學(xué)習(xí)習(xí)慣,還有有優(yōu)秀的仔細(xì)能力、融會(huì)貫通能力。通過這次實(shí)習(xí)我發(fā)現(xiàn),我在這方面真的十分欠缺。我們做的基于Arduino的智能垃圾桶的設(shè)計(jì),聽似簡(jiǎn)單,但設(shè)計(jì)之初,我們焦頭爛額,首先,沒有學(xué)過Arduino板,一點(diǎn)都沒了解過,那時(shí)才發(fā)現(xiàn),作為電子信息工程專業(yè)的學(xué)生,我們的知識(shí)面有多么狹隘。其次,對(duì)于智能垃圾桶要具備哪些功能,我們也一無所知,我焦躁過,放棄過,但最終,都想著要最后提交實(shí)習(xí)報(bào)告,而重新振作。我們?cè)诰W(wǎng)上利用并不豐富關(guān)于Arduino的資料,查閱圖書館僅有的一種關(guān)于Arduino的圖書,團(tuán)結(jié)一致,發(fā)揮我們的想象力。在真正設(shè)計(jì)期間,我們遇到很多困難,但是我們沒有在氣餒,堅(jiān)持了三個(gè)星期。
在這門課程設(shè)計(jì)中,我鍛煉了自己動(dòng)手能力,提高了解決問題的能力。我學(xué)習(xí)了Arduino編程,了解了HC-SR501芯片,及紅外避障、紅外感應(yīng)的原理。這次課設(shè),我學(xué)到最多的還是,要獨(dú)立學(xué)習(xí),不要滿足,不斷學(xué)習(xí)和了解新的內(nèi)容,電子業(yè)是個(gè)更新?lián)Q代特別快的行業(yè),我們不跟上它的腳步,只能被淘汰。

課程設(shè)計(jì)驗(yàn)收
指導(dǎo)教師評(píng)語及成績(jī):
[size=14.0000pt]
成績(jī)
指導(dǎo)教師簽字

年   月   日
教研室主任意見
[size=14.0000pt]

教研室主任簽字

年   月    日


回復(fù)

使用道具 舉報(bào)

ID:684871 發(fā)表于 2020-10-17 23:10 來自觸屏版 | 顯示全部樓層
這個(gè)沒原理圖啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表