arduino循跡小車畢業(yè)論文.doc
《arduino循跡小車畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關(guān)《arduino循跡小車畢業(yè)論文.doc(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、福建船政交通學院 目 錄 摘要 2 引 言 2 1 Arduino智能小車設(shè)計方案與參數(shù) 3 1.1 Arduino智能小車設(shè)計方案簡介 3 1.1.1 功能要求 3 1.1.2 基本原理 3 1.2 循跡小車參數(shù) 4 2 Arduino與51單片機的區(qū)別 5 2.1 Arduino單片機 5 2.1.1 Arduino單片機的介紹 5 2.1.2 Arduino單片機的特色 5 2.1.3 Arduino單片機的功能 5 2.2 51單片機 6 2.2.1 51
2、單片機的介紹 6 2.2.2 51單片機的功能 6 2.3 Arduino比51更好的地方 7 3 循跡小車設(shè)計 8 3.1 硬件設(shè)計 8 3.1.1 單片機最小系統(tǒng) 8 3.1.2 灰度傳感器模塊 9 3.1.3 電機驅(qū)動電路 10 3.2 軟件設(shè)計 12 3.2.1 系統(tǒng)主程序 13 3.2.2 本系統(tǒng)編譯器 13 3.3 實物展示 14 3.4 部分程序展示 15 結(jié) 論 20 致 謝 21 參考文獻 22 Arduino循跡小車設(shè)計與實現(xiàn) 摘要:循跡小車是
3、Arduino單片機的一種典型應(yīng)用。本智能小車是由ardiuno單片機和外部電路組成,包括檢測模塊,控制模塊,電源模塊。循跡車設(shè)計采用Arduino單片機作為小車的控制核心,采用灰度傳感器作為小車的檢測模塊來識別綠色路面中央的黑色引導線,采集信號并將信號轉(zhuǎn)換為能被ardiuno單片機識別的數(shù)字信號;采用驅(qū)動芯片L298N構(gòu)成雙H橋控制直流電機。其中軟件系統(tǒng)采用C程序。 關(guān)鍵詞:Arduino單片機,自動循跡,驅(qū)動電路。 引言 自第一臺工業(yè)機器人誕生以來,機器人的民展已經(jīng)遍及機械、電子、冶金、交通、宇航、國防等領(lǐng)域。近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人
4、們在不斷探討、改造、認識自然的過程中,制造能替代人工作的機器一直是人類的目標。單片機是一種可通過編程控制的微處理器,雖其自身不能單獨用在某項工程或產(chǎn)品上,但當其與外圍數(shù)字器件和模擬器件結(jié)合時便可發(fā)揮強大的功能,現(xiàn)在單片機已廣泛應(yīng)用于眾多領(lǐng)域。例如:工業(yè)自動化,智能儀器儀表,消費類電子產(chǎn)品,通信方面,武器裝備等。 作為與自動化技術(shù)和電子密切相關(guān)的理工科學生,掌握單片機是最基礎(chǔ)的要求。為進一步豐富和鞏固單片機知識,也為能更好的聯(lián)系實際應(yīng)用,本次畢業(yè)設(shè)計選擇了基于單片機Arduino循跡車,并做出實物。鑒于電子技術(shù)、計算機技術(shù)以及各種更先進的仿真軟件的出現(xiàn),使用高級語言如C代替匯編語言進行編程和控
5、制已成為現(xiàn)實,單片機C語言編程相對于MC51匯編語言編程有如下優(yōu)點: 對單片機的指令系統(tǒng)不需要有很深的理解就可以編程操作單片機。寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)完全由編輯器自動處理。程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),可使程序結(jié)構(gòu)化。庫中包括許多標準子程序,具有較強的處理能力,使用方便。具有方便的模塊化編程技術(shù),使已編好的程序便于移植,可極大縮短開發(fā)時間,增加程序的可讀性和可維護性。 事實上,當今許多硬件的開發(fā)都已開始用C語言編程,如各種單片機、DSP、ARM等,用C語言進行工業(yè)控制也已成為一種趨勢,為了更好的適應(yīng)當今社會形勢,為了更好的面對挑戰(zhàn)、把握機遇,此次畢業(yè)設(shè)計決定嘗試
6、用C語言編程完成。也希望能在進一步熟悉單片機控制的同時,對數(shù)字電子技術(shù)、模擬電子技術(shù)、計算控制技術(shù)以及常用外圍芯片有更深層次的了解,提高自己的綜合能力。 1 Arduino智能小車設(shè)計方案與參數(shù) 根據(jù)設(shè)計要求,Arduino智能小車要沿著山道環(huán)山跑一圈。Arduino智能小車主要由四部分組成:分別為大腦-微控制器Arduino、眼睛-灰度傳感器、軀體-電機驅(qū)動模塊和心臟-電源模塊。 1.1 Arduino智能小車方案簡介 依據(jù)所需功能的要求,設(shè)計計價器系統(tǒng)的結(jié)構(gòu)圖和硬件電路,繪制出智能小車的電路圖,再繪制程序框圖,之后編程并燒錄到單片機;將各模塊組合進行調(diào)試。 1.1.1功能要求
7、 小車以Arduino 為控制核心, 用單片機產(chǎn)生PWM波,控制小車速度。利用灰度傳感器對路面黑色軌跡進行檢測,并將路面檢測信號反饋給單片機內(nèi)。單片機對采集到的信號予以分析判斷,及時控制驅(qū)動電機以調(diào)整小車轉(zhuǎn)向,從而使小車能夠沿著黑色軌跡自動行駛,實現(xiàn)小車自動尋跡的目的。 1.1.2基本原理 智能小車系統(tǒng)主要由四部分組成:大腦-微控制器Arduino、眼睛-灰度傳感器、手腳-電機驅(qū)動模塊、能源-電源模塊, 智能車循跡行駛過程是:首先灰度傳感器將檢測到黑線的信號傳送給單片機最小系統(tǒng),然后通過單片機最小系統(tǒng)的控制算法對信號進行計算處理,將此信號在通過控制算法驅(qū)動電機,最后實現(xiàn)對智能車運動軌跡進
8、行實時控制。 微控制器-Arduino為內(nèi)部核心處理處理單元,將外部給予的電平信號通過以植入的c語言程序為主進行處理?;叶葌鞲衅鳛橹悄苄≤嚨难劬?,通過辨別地面的黑色線條的物理信號,灰度再將之轉(zhuǎn)換為單片機能夠處理的電平信號。單片機將信號傳輸給電機驅(qū)動模塊,即我們小車結(jié)構(gòu)的手腳接受指令運行。智能車總體模塊設(shè)計圖如圖1-1所示。 L298N 驅(qū)動模塊 Arduino 單片機 電源模塊 灰度傳感器模塊 直流電機 小車 路徑 圖1-1 循跡車
9、總體模塊設(shè)計圖 1.2 循跡小車參數(shù) 系統(tǒng)參數(shù)如下表所示: 微控制器 Arduino 路徑檢測模塊 灰度傳感器 倆輪驅(qū)動 車模配套直流電機 直流電機驅(qū)動模塊 芯片:LM298N 電機電源 9V 3A 參數(shù) 2 Arduino與51單片機的區(qū)別 2.1 Arduino單片機 2.1.1 Arduino單片機的介紹 Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。它適用于愛好者、藝術(shù)家、設(shè)計師和對于"互動"有興趣的朋友們。是一個基于開放原始碼的軟硬件平臺,構(gòu)建
10、于開放原始碼simple I/O介面版,并且具有使用類似Java、C語言的Processing/Wiring開發(fā)環(huán)境。Arduino包含兩個主要的部分:硬件部分是可以用來做電路連接的Arduino電路板;另外一個則是Arduino IDE,你的計算機中的程序開發(fā)環(huán)境。你只要在IDE中編寫程序代碼,將程序上傳到Arduino電路板后,程序便會告訴Arduino電路板要做些什么了。 2.1.2 Arduino單片機的特色 開放源代碼的電路圖設(shè)計,程序開發(fā)接口可以免費下載,也可依個人需求自己修改。而且低價格的微處理控制器 (AVR系列控制器),可以采用USB接口供電,不需外接電源,也可以
11、使用外部9VDC輸入。Arduino支持ISP在線燒,可以將新的"bootloader"固件燒入AVR芯片。有了bootloader之后,可以通過串口或者USB to RS232線更新固件。也可依據(jù)官方提供的Eagle格式PCB和SCH電路圖簡化Arduino模組,完成獨立運作的微處理控制;可簡單地與傳感器,各式各樣的電子元件連接(例如:紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達,…等)支持多種互動程序,如:Flash、Max/Msp、vvvv、PD、C、Processing等。應(yīng)用方面:利用Arduino,突破以往只能使用鼠標、鍵盤、CCD等輸入的裝置的互動內(nèi)容,可以更簡單地達成單人或多人
12、游戲互動。 2.1.3 Arduino單片機的功能 在功能上可以快速使用Arduino與Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider等軟件結(jié)合,作出互動作品。 Arduino可以使用現(xiàn)有的電子元件例如開關(guān)或者傳感器或者其他控制器件、LED、步進馬達或其他輸出裝置。 Arduino也可以獨立運行,并與軟件進行交互,例如: Macromedia Flash, Processing, Max/MSP, Pure Data, VVVV或其他互動軟件等。 Arduino的IDE界面基于開放源代碼,可以免費下載使用,開發(fā)出更多令人
13、驚艷的互動作品。 在更多功能上有基于知識共享開放元源碼的電路圖設(shè)計,有基于知識共享開放源碼的程式開發(fā)環(huán)境。Arduino可使用ICSP線上燒入器,將「bootloader」燒入新的IC晶片,可依據(jù)官方電路圖,簡化Arduino模組,完成獨立運作的微處理控制,可簡單地與傳感器,各式各樣的電子元件連接(例如:紅外線,超聲波,熱敏電阻,光敏電阻,伺服馬達等),USB接口上,不需外接電源。另外有提供9V直流電源輸入。 2.2 51單片機 2.2.1 51單片機的介紹 51單片機是對所有兼容Intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單
14、片機,后來隨著Flash rom技術(shù)的發(fā)展,8031單片機取得了長足的進展,成為應(yīng)用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。很多公司都有51系列的兼容機型推出,今后很長的一段時間內(nèi)將占有大量市場。51單片機是基礎(chǔ)入門的一個單片機,還是應(yīng)用最廣泛的一種。需要注意的是52系列的單片機一般不具備自編程能力。 2.2.2 51單片機的功能 51單片機的功能特點分別有:8位CPU4kbytes程序存儲器(ROM) (52為8K),128bytes的數(shù)據(jù)存儲器(RAM) (52有256bytes的RAM),32條I/O口線111條指令,大部分為單
15、字節(jié)指令,21個專用寄存器,2個可編程定時/計數(shù)器5個中斷源,2個優(yōu)先級(52有6個),一個全雙工串行通信口,外部數(shù)據(jù)存儲器尋址空間為64kB,外部程序存儲器尋址空間為64kB,邏輯操作位尋址功能雙列直插40PinDIP封裝。 51單片機的內(nèi)部結(jié)構(gòu)分別為CPU:由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;RAM:用以存放可以讀寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);ROM:用以存放程序、一些原始數(shù)據(jù)和表格;I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出;T/C:兩個定時/記數(shù)器,既可以工作在定時模式,也可以工作在記數(shù)模式;五個中斷源的中斷控制系
16、統(tǒng); 一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現(xiàn)單片機之間或單片機與微機之間的串行通信;片內(nèi)振蕩器和時鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最佳振蕩頻率為6M-12M。 2.3 Arduino比51更好的地方 Arduino與51單片機相比:變更人性化,編程相對人性化和直觀,沒有單片機基礎(chǔ)的人也能很快上手。硬件性能上,Arduino更加穩(wěn)定,不會像51一樣時常出現(xiàn)跑飛的現(xiàn)象。Arduino作為開源的一款的單片機,更重要的是在這個4g時代可搜尋的學習資料是非常多的。綜上所述,Arduino無疑是比51更適合新手和用于比賽專用的。 3 循跡
17、小車設(shè)計 3.1 硬件設(shè)計 3.1.1單片機最小系統(tǒng) 主控機系統(tǒng)采用Arduino mega2560單片機,采用USB接口的核心電路板,它最大的特點就是具有多達54路數(shù)字輸入輸出,特別適合需要大量IO接口的設(shè)計。Mega2560的處理器核心是ATmega2560, 同時具有54路數(shù)字輸入/輸出口(其中16路可作為PWM輸出),16路模擬輸入,4路UART接口,一個16MHz晶體振蕩器,一個USB口,一個電源 插座,一個ICSP header和一個復位按鈕。單片機最小系統(tǒng)電路圖如圖3-1所示。 圖3-1 單片機最小系統(tǒng) Arduino mega2560的主要參數(shù): 處理器 AT
18、mega2560,工作電壓 5V,輸入電壓(推薦) 7-12V,輸入電壓(范圍) 6-20V,數(shù)字IO腳 54 (其中16路作為PWM輸出),模擬輸入腳 16,IO腳直流電流 40 mA,3.3V腳直流電流 50 mA,F(xiàn)lash Memory 256 K,(ATmega328,其中8 KB 用于 bootloader),SRAM 8 KB,EEPROM 4 KB,工作時鐘 16 MHz。 存儲器: ATmega2560包括了片上256KB Flash,其中8KB用于Bootloader。同時還有8KB SRAM和4KB EEPROM。 輸入輸出: 一共有數(shù)字輸入輸出口,4路串口信
19、號,6路外部中斷,14路脈沖寬度調(diào)制PWM(0--13),SPI(53(SS),51(MOSI),50(MISO),52(SCK)):SPI通信接口,16路模擬輸入,特別LED(13號):Arduino專門用于測試LED的保留接口,和TWI接口(專門支持通信)。 3.1.2 灰度傳感器模塊 灰度傳感器是利用黑線對紅外線不同的反射能力通過光敏二極管或光敏三極管,接收反射回的不同光強信號,把不同光強轉(zhuǎn)換為電流信號,最后通過電阻,轉(zhuǎn)換為單片機可識別的高低電平?;叶葌鞲衅鲗崿F(xiàn)循跡的基本電路如3-2所示。 圖3-2 灰度傳感器電路圖 (1)灰度傳感器工作原理 傳感器的紅外發(fā)射二極管不斷發(fā)射紅
20、外線,當發(fā)射出的紅外線沒有被反射回來或被反射回來但強度不夠大時,光敏三極管一直處于關(guān)斷狀態(tài),此時模塊的輸出端為低電平,指示二極管一直處于熄滅狀態(tài);而當紅外線被反射回來且強度足夠大,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。 小車行駛過程中向地面發(fā)射紅外光,當紅外光遇到綠色路線,地板發(fā)生漫反射,安裝在小型車的反射光接收器會接收;如果是遇到黑色路線,紅外光將被黑線吸收,安裝在小車上的接收管沒有收到紅外光??刂破鲿鶕?jù)是否收到反射的紅外光為判斷依據(jù)來確定的黑線的位置和小車的路線。這種探測方法,即利用紅外線在不同顏色的表面特征,具有不同的反射性能。 紅外發(fā)射和接收紅外線感應(yīng)器,可
21、以直接使用集成的紅外探頭,選擇寬度為3-5厘米的黑線。該傳感器的靈敏度是可調(diào)的,傳感器有時遇到黑線卻不能送出相應(yīng)的信號,通過調(diào)節(jié)傳感器上的可調(diào)電阻,適當?shù)脑龃蠡驕p小可改變靈敏度。 (2)傳感器分布 傳感器通過信號采集,向單片機提供信息。因此傳感器合理的布局很重要,傳感器布局需要考慮小車行駛過程中信息檢測的準確度和前瞻性,能使在相同數(shù)量的傳感器下,獲得更多的數(shù)據(jù)。 而由于考慮到我們改造車的車座較窄、不平整,且車身較請,適合放多的傳感器,最終決定選用對6個傳感器來進行布局,即在車子底座前端放6個傳感器。這種布局是目前最適合我們改造車的布局方法。 3.1.3 電機驅(qū)動電路 本設(shè)計采用L29
22、8N電機專用驅(qū)動芯片帶動兩個5V的直流電動機。 L298N是一個內(nèi)部有兩個H橋的高電壓大電流全橋式驅(qū)動芯片,可以用來驅(qū)動直流電動機、步進電動機。使用標準邏輯電平信號控制,直接連接單片機管腳,具有兩個使能控制端,使能端在不受輸入信號影響的情況下不允許器件工作。L298N有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作。 (1) L298N引腳結(jié)構(gòu)如表3-1 圖3-3 L298N 驅(qū)動芯片 表3-1 L298N引腳編號與功能: 引腳編號 名稱 功能 1 電流傳感器A 在該引腳和地之間接小阻值電阻可用來檢測電流 2 輸出引腳1 內(nèi)置
23、驅(qū)動器A的輸出端1,接至電機A 3 輸出引腳2 內(nèi)置驅(qū)動器A的輸出端2,接至電機A 4 電機電源端 電機供電輸入端,電壓可達46V 5 輸入引腳1 內(nèi)置驅(qū)動器A的邏輯控制輸入端1 6 使能端A 內(nèi)置驅(qū)動器A的使能端 7 輸入引腳2 內(nèi)置驅(qū)動器A的邏輯控制輸入端2 8 邏輯地 邏輯地 9 邏輯電源端 邏輯控制電路的電源輸入端為5V 10 輸入引腳3 內(nèi)置驅(qū)動器B的邏輯控制輸入端1 11 使能端B 內(nèi)置驅(qū)動器B的使能端 12 輸入引腳4 內(nèi)置驅(qū)動器B的邏輯控制輸入端2 13 輸出引腳3 內(nèi)置驅(qū)動器B的輸出端1,接至電機B 14
24、輸出引腳4 內(nèi)置驅(qū)動器B的輸出端2,接至電機B 15 電流傳感器B 在該引腳和地之間接小阻值電阻可用來檢測電流 (2) 電機驅(qū)動原理 電路的形狀很像字母H。四個三極管就是H橋的四條垂直線,而電機就是H中的橫線,如圖3-4所示。 圖3-4 L298N內(nèi)部H橋驅(qū)動電路 H橋電機驅(qū)動電路包含四個三極管和一個電機。電機運轉(zhuǎn),必須遵循導通對角線上的一對三極管?;诓煌龢O管對的導通情況可以控制電機的轉(zhuǎn)向,電流可可以從左至右流過電機,也可以從右至左流過電機。當Q1管和Q4管導通時,電流就從電源正極經(jīng)Q1從左至右流過電機,然后再經(jīng)Q4回到電源負極,該流向的電
25、流將驅(qū)動電機順時針轉(zhuǎn)動。下面分析另一對三極管Q2和Q3,當兩個三極管同時導通的情況下,電流將從右至左流過電機。從而驅(qū)動電機沿逆時針方向轉(zhuǎn)動。 電機控制邏輯如下:以電機A為例,當使能端ENA為高電平時,如果輸入引腳IN1為低電平而輸入引腳IN2為高電平,電機A反轉(zhuǎn);如果輸入引腳IN1為高電平而輸入引腳IN2為低電平,電機A正轉(zhuǎn)。 電機A 電機B 圖3-5 L298N驅(qū)動芯片和直流電機接線圖 3.2 軟件設(shè)計 本設(shè)計的目的是以Arduino單片機為控制核心,將紅外光電傳感器輸出的電信號送至單片機電路,再由單片機向L298N電機驅(qū)動模塊發(fā)送指
26、令,控制后輪電機驅(qū)動小車行進,控制前輪電機驅(qū)動小車轉(zhuǎn)向,從而自動循跡。 3.2.1 系統(tǒng)主程序 在主程序模塊中,需要完成對各參量和接口的初始化、檢測黑線、前進或轉(zhuǎn)向判斷等工作。當小車探測到黑線后,根據(jù)檢測到黑線的傳感器的編號不同,小車要做出相應(yīng)的動作。當小車左邊的傳感器檢測到黑線時,說明小車車頭向右邊偏移,這時主控芯片控制前輪電機反轉(zhuǎn),車體向左邊修正;同理當小車的右邊傳感器檢測到黑線時,主控芯片控制前輪電機正轉(zhuǎn),車體向右邊修正;當黑線在車體的中間,中間的傳感器一直檢測到黑線,這樣小車就會沿著黑線自動循跡。主程序流程如圖3-6所示。 圖3-6 循跡車程序流程圖 3.2.2 本系統(tǒng)編
27、譯器 本設(shè)計采用C語言來編譯程序。模塊化結(jié)構(gòu)程序的設(shè)計,可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設(shè)計。因此,軟件的設(shè)計上,運用了模塊化程序的結(jié)構(gòu)對軟件進行設(shè)計,使得程序變得更加直觀易懂。 隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,ARDUINO IDE軟件是目前Arduino專用開發(fā)的軟件,界面清晰整潔,編程簡便。. ARDUINO IDE開發(fā)系統(tǒng)可用于編輯C。由編譯器編譯可以生成目標文件(.ino)。 3.2.3 實物展示 圖3-7 小車全景圖 19
28、 3.4 部分程序展示 unsigned int p_1=22; unsigned int p_2=24; unsigned int p_3=26; unsigned int p_4=28; unsigned int p_5=30; unsigned int p_6=32; #define l 1 #define r 2 #define rl 3 unsigned int num,co,c=0,mum,d=0; int t; void setup() { pinMode(2,OUTPUT);//lift back
29、 pinMode(3,OUTPUT);//lift go pinMode(4,OUTPUT);//right back pinMode(5,OUTPUT);//right go for(t=22;t<=52;t++) { pinMode(t, INPUT); } } void stop (unsigned char m) { switch(m) { case r : analogWrite(5,0); analogWrite(4,0); case l : analogWrite(3,0);
30、analogWrite(2,0); case rl : analogWrite(5,0); analogWrite(4,0); analogWrite(3,0); analogWrite(2,0); default : break; } } void FOLL_FINE(unsigned int ti) { while(1) { num=0; p_1=digitalRead(22); p_2=digitalRead(24); p_3=digitalRead(26); p_4=digitalRead(28
31、); p_5=digitalRead(30); p_6=digitalRead(32); if(p_1) num++; if(p_2) num++; if(p_3) num++; if(p_4) num++; if(p_5) num++; if(p_6) num++; if(num>3) { //for(co=0;co<200;co++); num=0; p_1=digitalRead(22); p_2=digitalRead(24); p_3=d
32、igitalRead(26); p_4=digitalRead(28); p_5=digitalRead(30); p_6=digitalRead(32); if(p_1) num++; if(p_2) num++; if(p_3) num++; if(p_4) num++; if(p_5) num++; if(p_6) num++; if(num>3) { c=c+1; } if(c==ti) { analogWri
33、te(2,0); analogWrite(4,0); analogWrite(3,40); analogWrite(5,40); delay(350); return; } } if(p_3) { analogWrite(2,0); analogWrite(4,0); analogWrite(3,90); analogWrite(5,90); } else if(p_4) {
34、analogWrite(2,0); analogWrite(4,0); analogWrite(3,90); analogWrite(5,90); } else if(p_2) { analogWrite(2,30); analogWrite(4,0); analogWrite(3,0); analogWrite(5,40); } else if(p_5) { analogWrite(2,0); analogWrite(4,30);
35、 analogWrite(3,40); analogWrite(5,0); } else if(p_1) { analogWrite(2,40); analogWrite(4,0); analogWrite(3,0); analogWrite(5,50); } else if(p_6) { analogWrite(2,0); analogWrite(4,40); analogWrite(3,50); analogWrite(5,
36、0); } } } void TURN_90(unsigned char e) { stop(rl); delay (500); if(e==r) { delay (10); analogWrite(2,0); analogWrite(4,70); analogWrite(3,60); analogWrite(5,0); delay (450); do { p_1=dig
37、italRead(22); p_2=digitalRead(24); p_3=digitalRead(26); p_4=digitalRead(28); p_5=digitalRead(30); p_6=digitalRead(32); if(p_4||p_3) { delay (3); p_1=digitalRead(22); p_2=digitalRead
38、(24); p_3=digitalRead(26); p_4=digitalRead(28); p_5=digitalRead(30); p_6=digitalRead(32); } } while(!(p_4||p_3)); } else if(e==l) { delay (10); analogWrite(2,70);
39、 analogWrite(4,0); analogWrite(3,0); analogWrite(5,60); delay (450); do { p_1=digitalRead(22); //讀取12位灰度 p_2=digitalRead(24); p_3=digitalRead(26); p_4=digitalRead(28); p_5=digitalRead(30); p_6=digitalRead(32)
40、; if(p_3||p_4) { delay (3); p_1=digitalRead(22); p_2=digitalRead(24); p_3=digitalRead(26); p_4=digitalRead(28); p_5=digitalRead(30); p_6=digitalRead(32); } } while(!(p_3||p_4)); }
41、 stop(rl); delay (100); } void loop() { while(1) { FOLL_FINE(1); 結(jié) 論 經(jīng)過努力《Arduino循跡小車設(shè)計與實現(xiàn)》實務(wù)專題的畢業(yè)設(shè)計終于接近尾聲。較好地實現(xiàn)了小車自動循跡行駛功能。但是仍舊有許多不足的地方,循跡車部分由于是遙控車改造所以無法進行大幅度的拐彎,循跡行駛的靈敏度不高,循跡部分的這兩個問題造成拍攝視頻時難度加大。 以為學的知識已經(jīng)很完善,但是通過這次對《Arduino智能小車》實務(wù)專題的畢業(yè)設(shè)計,讓我認識到自己所學的東西不過是
42、冰山一角,認識到理論和實踐相合的重要性。之后,我會更加勤奮地去學習。如果說完成畢業(yè)設(shè)計是我們這幾個月艱苦奮斗的“硬件”成果,那么能夠激起我對知識的不斷渴求則是這幾月不懈努力的“軟件”成果。 通過這“最后一次的大學作業(yè)”,我深刻理解了理論和實踐相結(jié)合的重要性,理論與實踐相結(jié)合不僅可以鞏固我們所學的的知識,還加深與鞏固了原有的知識,更重要的是還拓寬了我們的知識面,學到了更多更深的東西,與此同時,自己的動手能力也大大的提高。在說明文的編寫過程中,查閱了不少的相關(guān)資料,使我Arduino單片機、L298N驅(qū)動芯片、灰度傳感器、光電傳感器等電子元器件有了更進一步的了解和掌握,同時也襯托出自己專業(yè)知識學
43、得還不扎實。特別是在電路制作過程中,由于缺少實際經(jīng)驗,對單片機的很多功能還不能熟練的掌握。所以在今后的工作和學習過程中,應(yīng)加強專業(yè)知識的學習,不段以理論和實踐相結(jié)合,鍛煉出具有突出的專業(yè)技能,不段完善自己,拓寬知識面,最終成為復合型人才,適應(yīng)社會的挑戰(zhàn),實現(xiàn)人生的自我價值。 致 謝 在此次設(shè)計中,童曉薇老師作為我的指導老師,至始至終都給予我了不少幫助,從下任務(wù)書開始,就幫我制定規(guī)劃,提醒我應(yīng)注意的問題;借給我資料,幫我聯(lián)系硬件;和我一起調(diào)程序,并提出了很多的修改意見以及完善方案;此外還認真批閱了我的論文,指出其中很多瑕疵和不清晰的地方;更重要的是在我遇到困難時
44、對我的鼓勵,讓我不懈怠、不退縮、也讓我更有信心;可以說我的每一點進展都與童老師的付出是分不開的。 當然在此,我還要向身邊關(guān)心我的老師、同學致以誠摯的謝意!最后感謝母校對我這幾年的辛勤培養(yǎng)。還有其他老師和同學,都幫了我不少忙,在此不再一一陳述。謹祝老師們工作順利,萬事如意,桃李滿天下;同學們學業(yè)有成,前程似錦! 參考文獻 [1]基于Arduino的趣味電子制作 Simon Monk、張寶玲、吳蘭臻、 鄭海昕 科學出版社(2011-07出版) [2] (英)Simon M
45、onk,ARDUINO 編程從零開始, 科學出版社 [3] 單成祥,牛彥文,傳感器設(shè)計基礎(chǔ),北京: 國防工業(yè)出版社,2007 [4] 竇振中,單片機外圍部件實用手冊輸出通道器件分冊,北京:北京航空航天大學出版社,2003. [5] 楊素行,模擬電子技術(shù)基礎(chǔ)簡明教程(第三版),北京:高等教育出版社,2005 [6] 閻石,數(shù)字電子技術(shù)(第五版),北京:高等教育出版社,2006 [7] 孫余凱,傳感器應(yīng)用電路300例[M],北京: 電子工業(yè)出版社,2008. [8] 陳曉莉,張俊濤,KEIL C51單片機仿真器的設(shè)計第二版,陜西科技大學出版社,2006:19-20 [9] 張一斌,余建坤,單片機原理課程設(shè)計,長沙:中南大學出版社,2008 21
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學習解讀(規(guī)范增值稅的征收和繳納保護納稅人的合法權(quán)益)
- 2024《文物保護法》全文解讀學習(加強對文物的保護促進科學研究工作)
- 銷售技巧培訓課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓課件:絕對成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩