欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 智能WIFI視頻小車論文 [打印本頁]

作者: wangshuai610    時間: 2018-4-15 10:41
標題: 智能WIFI視頻小車論文
基于51單片機的WIFI智能視頻小車的設計與實現

摘  要
   當代的電子工業方面的發展特別迅猛,因此智能技術就變得越來越熱門并得到廣泛應用,無論是在工業上,還是在科學探索和緊急搶險中,總是有些區域由于比較危險會對人類造成傷害而導致人類不能直接進入,這時就需要用智能小車來完成。隨著互聯網+時代的興起,在智能家居中智能小車的應用也是越來越受到人們的關注。
本設計的控制核心選用了STC89C52單片機,通過單片機的串口與WIFI模塊進行AT指令的通訊,使小車和手機連接在同一WIFI熱點。然后利用相同熱點這個特點,根據WIFI智能視頻傳輸原理將智能小車攝像頭拍攝到的畫面實時傳輸給終端設備,利用終端設備,控制小車的運行躲避障礙物,并且可以進行拍攝以便于獲得需要的數據。這樣即實現了無線控制功能,又實現了監控功能,達到了使小車代替人類去完成那些有風險性的工作的目的,有效的降低了人類安全危險性,促進了人與機器合作時代的發展,為世界科技創造了更多的可能性。

Design and Implementation of WIFI SmartVideo Car Based on 51 Single Chip Microcomputer
Author:Wang Shuai
Tutor:WangHuanhuan
Abstract
The modern electronic industry development especially rapidly, so theintelligent technology has become more and more popular and widely used,whether in industry or in scientific exploration, and emergency rescue in someareas due to the more dangerous, always will cause harm to humans causeddirectly into the human can not, then you need to use the intelligent carcomplete. With the rise of Internet plus times, Home Furnishing in intelligentvehicle in intelligent application is also more and more attention.
The design of the control core uses the STC89C52 microcontroller, throughthe microcontroller serial port and WIFI module AT command communication, sothat the car and mobile phone connected to the same WIFI hotspot. Then use thesame characteristics of hot spots, will screen in real-time smart car camera tothe terminal device based on WIFI intelligent video transmission principle, theuse of terminal equipment, control the operation of car to avoid obstacles, andcan be taken to obtain the data for. This is to realize the wireless controlfunction, and realize the monitoring function, to make the car to replace humanto complete those objective risks at work, reduce the risk of human security,promote the development of human and machine cooperation era, create morepossibilities for the world science and technology.
Keywords: Intelligence,Singlechip,WIFI, Video Transmission
目       錄
1  緒論………………………………………………………………………………... ……1
1.1  課題背景和意義.............................................................................................. ……..1
1.2  國內外發展現狀.............................................................................................. ……..1
1.3  主要研究內容.................................................................................................. ……..2
2  系統總體設計方案................................................................................................... ……..3
2.1  系統方案的選擇.............................................................................................. ……..3
2.2  整機系統.......................................................................................................... ……..4
3  硬件設計…………………………………………………………………………………..5
3.1  主控部分.......................................................................................................... ……..5
3.2  驅動模塊.......................................................................................................... ……..6
3.3  WIFI無線收發模塊........................................................................................ ……..7
3.4  圖像采集處理模塊.......................................................................................... ……..8
3.5  終端顯示模塊.................................................................................................. ……..8
3.6  電源模塊.......................................................................................................... ……..9
4  軟件系統................................................................................................................... ……12
4.1  軟件開發環境.................................................................................................. ……12
4.1.1  Android的APP軟件的開發............................................................... ……12
4.1.2  單片機程序開發環境........................................................................... ……13
4.2  軟件工作流程圖.............................................................................................. ……13
5  設備調試................................................................................................................... ……17
5.1  系統調試.......................................................................................................... ……17
5.2  硬件設備調試.................................................................................................. ……17
5.2.1  驅動模塊調試....................................................................................... ……17
5.2.2  WIFI模塊調試..................................................................................... ……17
5.2.3  圖像采集處理模塊調試....................................................................... ……17
5.2.4  電源模塊調試....................................................................................... ……17
5.2.5  STC89C52RC單片機連線................................................................... ……17
5.3  程序調試.......................................................................................................... ……18
5.3.1  Keil軟件簡介........................................................................................ ……18
5.3.2 程序調試................................................................................................. ……18結論…………………………………………………………………………………………..20致謝…………………………………………………………………………………………..21參考文獻……………………………………………………………………………………..22附錄…………………………………………………………………………………………..23


1緒論1.1       課題背景和意義
智能作為現代社會的新發明,在未來豐富的多元化的發展方向中帶領著各個行業迅猛的發展,所以起的是決定性作用。而智能化設備早已在不知不覺中充滿了我們生活的每一個角落,譬如在智能家居系統的研究方面,西方的各個發達國家一直是作為世界的領頭羊。今年來,以美國微軟公司為代表的國外著名的優秀大企業,都漸漸加入到了智能家居的研發潮流中。此外,像日本和韓國這樣的新國的龍頭企業也漸漸的把注意力放在了家居智能化研發上,使家居市場的爭奪變得更激烈和沸騰[1]。智能化設備對工業的發展也起到積極作用,比如在汽車工業技術各方面的開展十分迅猛,對于智能汽車的鉆研就變得越來越火爆搶手。智能化設備對于教育的影響也很明顯,比如全國電子類的設計大賽幾乎每一屆都會出一道與智能小車相關的題目,因此全國所有電子類的高校也開始特別重視智能小車發面的相關研究。所以智能化設備在將來無論是工業還是日常生活中都會成為必不可少的成分之一。
智能小車就是智能化設備的代表之一,作為一門剛剛沸騰的綜合性技術,不僅可以在固定場地搬運中起到很大的作用,而且在自動料車等領域也是起到的特別大的作用。
它以自己獨特的魅力引領著智能時代的發展,為人類與機器合作的世界創造了更多的可能性。
1.2國內外發展現狀
國外在智能小車的發展上比我國起步的早很多。從歷史上看,它的發展大概分為三個階段[2][3][4]:
第一階段,1950年前后的時期智能車的研究屬于初始階段。這一階段主要代表是美國BarrettElectronics 公司,這個公司歷史開創性的研發出一臺自主引導車系統。這個系統可以在無人的情況下在固定路線上運行。這個系統也為人類在智能車的發展上做了一個很好的表率作用。
第二階段,1985年前后各個發達國家也漸漸融入到智能車研究行列。這個階段的主要代表有歐洲的普羅米修斯項目和美國的自動高速公路系統。這些研發的主要目的是增加智能車的實用性,讓智能車不只是概念車,而成為人們生活中的元素之一。
第三階段,1990年后,智能車規模性發展的勢頭就開始銳不可當了。這一階段的主要代表是美國的Navlab系列自主車。它們將人類的智能車研究帶入了高潮。
在我們國家,智能車的研究開始比較晚。并且大多數研究的范圍也比較窄。跟國外發達國家比起來,存在著一定的差距。但是我國研究者還是做出了一些卓越的成績[5],主要有:
我國第一輛自主駕駛智能車的誕生開啟了新時代的潮流。這個智能車是由第一汽車集團公司與國防科技大學共同合作研究的,可以以正常速度在高速公路上行駛,各項指標和性能已經可以與世界上先進的小車相媲美。
   于連國、李偉等[6]設計出具有自動往返功能的智能車。他們以51單片機為核心,用紅外接收管作為傳感器,利用紅外接收管的特點識別預先設置好的路線,將接收到的信號給單片機進行處理,使小車可以在規定路線上自動行駛。
姜寶華、齊強等[7]設計出具有遙控功能的智能車。他們也是以51單片機作為核心,研發出既有自動行駛功能又可遙控的智能車。遙控模式下可以用遙控設備進行1公里的控制,自動模式則可以讓智能車到達任意指定位置。這種創新性的研發給中國研發者擴寬了研發思路,讓他們的眼界更為遠見,發展之路更長。
1.3主要研究內容
本設計要設計一種WIFI智能視頻小車,該小車能根將智能小車攝像頭拍攝到的畫面實時傳輸給終端設備,并能利用終端設備控制小車的運行躲避障礙物,并且可以進行拍攝以便于獲得需要的數據。本文第一章介紹了研究背景和國內外發展現狀,了解智能車的發展歷程和相關的原理知識。第二章通過思考設計方案,進行了總體設計方案的擇優選取。第三章進行了硬件設計,電路連接和器件組裝。第四章為軟件系統設計,根據要實現的功能,用keil進行程序的設計與編寫。第五章是設備調試,對小車的硬件和軟件分別進行調試,調試成功后,把軟件程序燒寫到單片機里,完成整個小車的設計和制作。最后,對本設計進行了總結。
2  系統總體設計方案
2.1系統方案的選擇
經過查閱資料和思考后,構思出兩種方案的選擇,兩種方案都是利用單片機與WIFI模塊的結合,實現WIFI智能視頻傳輸的功能。
方案1:通過自己的學習去了解單片機原理,小車原理以及WIFI模塊的原理。然后應用所學知識,制作相應的帶有WIFI模塊的單片機組件。接著組裝小車車架,把制作的單片機組件安裝到小車車架上。最后調試程序,完成用手機控制小車的功能。
下圖是根據方案1設計的構想圖,如圖2.1所示。

圖2.1方案1設計圖
方案2:通過自己的學習去了解單片機原理,小車原理以及WIFI模塊的原理。接著制作普通單片機智能小車,然后通過外接一個WIFI模塊與單片機相連,再編寫相關的程序,最終實現用手機控制小車的目的。
下圖是根據方案2設計的構想圖,如圖2.2所示。

圖2.2方案2設計圖
這兩種方案用到的知識都是一樣的,都是通過單片機開發板和WIFI模塊來實現想要的功能。兩種方案的不同之處在于所思考的方式不同,所用到的原料也就不同了。方案1和方案2涉及的相關知識大致相同,兩種不同思路的選擇,所需要的材料也不同。考慮到自身知識的限制和實驗室條件的限制,本課題選用了方案2,先制作出普通單片機智能小車,再外接WIFI模塊等組件,完成具有WIFI視頻傳輸的智能小車。
2.2整機系統
根據本課題研究目的,智能小車大體構架如圖2.                                    
圖2.3智能小車大體構架
總設計方案可分為如下5個模塊:單片機模塊、動力驅動模塊、WIFI無線收發模塊、終端顯示模塊、電源模塊。其中,單片機模塊負責核心的信息處理工作;動力驅動模塊負責小車運動的數據處理;WIFI模塊負責信號的發送與接收;終端顯示模塊負責顯示傳輸的視頻;電源模塊為其他各模塊的正常工作提供的電壓保證。
在以上設計方案中,51單片機通過單片機的串口與WIFI模塊進行AT指令的通訊,讓WIFI模塊連接到預先準備好的路由器上,然后進行手機操作,使手機連接WIFI熱點,達到手機和智能小車連接在同一個熱點的目的。然后利用在同一個WIFI熱點的特點,進行手機與路由器之間信息的傳遞與溝通,路由器與智能小車之間的指令通訊,實現手機控制小車的目的,從而控制小車的運動等功能。
3硬件設計
3.1主控部分
主控部分選用了STC89C52單片機。現在這個時代的單片機已不是以前那樣功能簡易的單片機了,現在的單片機集合了特別多的功能,所以種類也隨著功能的變化而不同。每一種單片機適用的環境也隨著單片機種類的不同而各有所異,所以當用單片機同一功能下就可以用多種單片機來實現,因而必須通過多面相比,抉擇出最合適的單片機。
STC89C52單片機是一種51系列單片機,它以低功耗、高性能的特點為大多電子發燒友的青睞,儲存器的內存是8k。這種單片機之所以深受廣大電子發燒友的熱愛是因為其內核為經典的MCS-51內核,而且在此根底上有更多性能的選擇。在單芯片上,它的CPU是8位的,而且還能在系統可編程Flash[8]。這樣,就讓STC89C52單片機高靈活和高效的特點展現的淋漓盡致。
STC89C52單片機芯片引腳圖如圖3.1所示。
圖3.1 STC89C52芯片引腳圖
VCC和GND是電源引腳;P0-P3是雙向I/O口;RST是復位引腳;XTAL是時鐘引腳;EA、ALE、PSEN是控制引腳。
綜合要實現功能的各種因素,本設計選用了STC89C52為中心的芯片,盡管這個單片機的I/O端口不是無限多的,但是進行每個端口功能擴充,完成視頻傳輸,運動等控制功能還是能夠實現的。所以在跟其他眾多單片機比起來,這種單片機也最適合本設計的研究。
3.2驅動模塊
驅動模塊使用的是一般的直流電機。直流電機很容易就掌握它的用法,性能也是可以匹敵其他的電機,直流電源更是電源中最常見的。本設計使用的是L293D,L293D是一種單片芯片,并且高度集成,其中不僅有高電壓、高電流,還有4通道電機驅動[9]。
L293芯片采用16腳封裝。主要特點是:L293芯片的工作電壓很高,當工作時,最大能到46V;L293芯片工作時輸出電流也很大,當正常工作時,瞬間峰值能到3A,持續工作電流能到2A;L293芯片工作時的額定功率是25W[10]。使用L293芯可以驅動一臺兩相步進電機或四相步進電機,以實現小車的驅動程序,包括前進,后退,調速,轉向等。
    L293芯片引腳圖如圖3.2所示。
     
圖3.2 L293芯片引腳圖
INPUT1:輸入電機1的引腳A。
INPUT2:輸入電機1的引腳B。
INPUT3:輸入電機2的引腳A。
INPUT4:輸入電機2的引腳B。
GND:電源地接口。  
VSS:輸入電機驅動電壓接口。
OUTPUT1:輸出電機1的引腳A。
    OUTPUT2:輸出電機1的引腳B。
OUTPUT3:輸出電機2的引腳A。  
OUTPUT4:輸出電機2的引腳B。
L293 電機驅動板的特點決定了它的優異性。因為它可以驅動起來四個直流電機。在本設計中,我們把L293 的每一路輸出引出了兩個端口,這樣就可以控制四輪小車的所有電機。
驅動板原理圖如圖3.3所示。
圖3.3 驅動板原理圖
3.3 WIFI無線收發模塊
無線收發模塊,因為視頻的數據量都是很大的,所以為了可以正常的進行視頻數據的傳輸我們就要提供足夠大的帶寬才可以。Open-WRT的特點就是能進行多次撥號,而且還是在一條線路上,再加上能夠疊加帶寬,所以進行數據的高速傳輸就顯得輕而易舉了。因此,我們將路由器刷成openwrt系統用于視頻的傳輸。
openwrt管理提供了文件系統,這個系統是一個完全可寫的,從應用程序供應商提供的選擇和配置,設備也是可以自定義的,這樣就可以適應任何應用程序通過使用包。
WIFI無線收發模塊實物圖如圖3.4所示。
圖3.4 WIFI無線收發模塊實物圖
3.4圖像采集處理模塊
本設計使用的攝像頭選用的是30W像素的高清攝像頭,這種攝像頭區別于一般的普通攝像頭,它本身就帶有具有圖像處理壓縮功能的驅動程序。驅動程序可以將拍攝到的圖像轉換為二進制信號,這樣視頻信號就能在設備間進行傳輸了。把攝像頭的驅動程序處理好的數據直接傳輸給WIFI模塊,然后再通過熱點把數據無線傳輸給單片機處理。無線局域網可實現54Mbp/s的數據傳輸,因此,在進行視頻的實時傳輸時,不會感到有時間上的延長。
攝像頭實物圖如圖3.5所示。
圖3.5 攝像頭實物圖
3.5終端顯示模塊
本設計的終端顯示模塊使用的是安卓智能手機。用手機界面上的觸控按鍵來控制小車的運行,用拍照鍵來進行的畫面的拍攝。使用前需要先設置好相關參數,把手機控制端的IP與WIFI熱點的IP設置成一致的,視頻分辨率設置成320*240,小車控制端口設置成2001,小車視頻端口設置成8083,小車前進和后退的動力設置成255,轉彎動力設置成200,FPS值設置成15。這樣就可以實現用安卓手機來控制小車的運動。
手機顯示界面圖如圖3.6所示。
圖3.6 手機顯示界面圖
3.6電源模塊
電源模塊使用的是3.3V降/穩壓模塊。此模塊是通過降壓和穩壓的過程,使設備可以在一個比較穩定的工作環境中運行,如果不同工作電壓的設備想在一起工作的話,降/穩壓模塊也能讓這些不同的設備都穩定到同一個電壓下一起讓它們工作,由于降/穩壓模塊的這個特點,單片機上就能添加不同工作電壓的設備,都加在一起來完成所需的功能。
降/穩壓模塊圖如圖3.7所示。
圖3.7 降/穩壓模塊圖
可以使單片機上原來的5V電源變為3.3V穩壓電源,這樣其他電子設備也可以在正常電壓下正常工作了。實現給5V和3.3V電壓之間的轉換,提供了能和單片機同時工作且電壓值可以不同的電子設備。
下圖是降/穩壓模塊的原理圖,如圖3.8所示。
圖3.8 降/穩壓模塊原理圖
如上圖3.8所示,D1的作用是可以避免電源出現反接的情況。C01、C02為電源輸入濾波。VDD3.3為3.3V電源,是給數字電路提供電源的。L1、L2是隔離濾波電感。VCC3.3為3.3V電源,是給模擬電路提供電源的。通過降/穩壓電路后,電壓就從5V變為了3.3V,這樣需要3.3V電壓才能正常工作的電子設備就可以正常運轉了。
將以上各個模塊綜合在一起,焊接好的小車實物圖如圖3.9所示。
圖3.9 小車實物圖
    整體電路圖如圖3.10所示。
圖3.10 整體電路圖
4  軟件系統
4.1軟件開發環境
軟件工具無疑是最重要的,在軟件開發環境中它的地位是毋庸置疑的。軟件工具所使用的是一種交互式對話系統,進行用戶和軟件之間的數據交互。軟件環境的數據庫是軟件開發環境的后端數據支持,它有著不可替代的地位。軟件數據庫主要存儲了運動數據,而這些數據來源于各種軟件工具的加工。
4.1.1  Android的APP軟件的開發
Android開發需要用到Eclipse、ADT和SDK三個組件整合開發。
1、Eclipse 是一種可擴展的開發平臺。它不僅僅是開放源代碼,還是基于Java開發的。Eclipse 有一個很標準的插件集,其中就有Java開發工具。
下面就是開發環境的界面,如圖4.1所示
圖4.1 安卓開發環境界面
2、ADT:如今的工程師們開發所用的工具主要有Android Studio、Eclipse,可以用Eclipse編譯IDE,安裝ADT,為Android開發提供開發工具的升級[11]。
3、SDK:如今的工程師們用于為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件的開發工具的集合[12]。在Android中,它既可以給開發者提供了庫文件又能夠給它開發所用。
4.1.2  單片機程序開發環境
Keil 是美國Keil Software公司制造一種51系列編程軟件,這個軟件的優勢數不勝數,它不僅可以完美兼容單片機C語言,而且在功能上、結構性上也比其他軟件表現優異,因而很容易上手,也很容易深入研究。Keil的開發方案也是特別齊全,其中不僅有C編譯器、宏匯編、鏈接器、庫管理,還有一個很厲害的仿真調試器。
下面是Keil編程界面,如圖4.2所示。
圖4.2Keil編程界面
4.2軟件工作流程圖
系統主程序模塊主要的工作就是初始化。初始化就是初始配置,如果進行不同的功能使用,就要用不同的初始配置。首先進行串口中斷的初始化,設置特定波特率。然后進行外部中斷初始化,啟動外部中斷,設置參數,包括計數器和定時器。接著是判斷是否執行終端設備所發送的命令,如果需要執行,就等待外部中段,然后執行相應的動作以實現需要的功能。
下面是主程序流程圖,如圖4.3所示。



   


圖4.3主程序流程圖
單片機首先設置好串口初始化。然后單片機會向已經設置好的WIFI模塊指揮讓其反應,做出相應動作后WIFI模塊就可以和路由器連接在一起。路由器會發出一個WIFI熱點,用手機連接到這個熱點上,這樣就保證了手機和小車連接在了同一個熱點上,也就可以通過手機向單片機發出指令,發出的指令由WIFI信號給到WIFI模塊,這樣單片機就得到了手機發出的數據,接著馬上開始中斷函數來執行接收數據的模式。單片機從已經儲存好指令的寄存器中讀取指令。手機發送的指令不同,單片機接收的指令就不同,根據不同指令做出的反應也就不同。
單片機對串口進行初始化的軟件程序界面圖,如圖4.4所示
圖4.4 串口初始化軟件程序界面圖
單片機假如想和WIFI模塊之間進行數據通信,那么兩端的波特率就必須是一致的,由于WIFI模塊的波特率是115200,所以單片機端的波特率也必須是115200。只有這樣才會有兩端之間正常的數據通信。如上圖,我們要先設置T1(TMOD)選擇工作模式,然后設置TH1和TL1賦初始值,接著啟動T1和T2(TR2位),確定串口工作方式。
接收到信號后的單片機會繼續做出反應,它會驅動電機模塊,從而使小車做出相應的運動,如圖4.5所示。
圖4.5 單片機驅動小車前進的程序圖
無線WIFI模塊把數據傳輸給單片機,接著通過調用switch語句的方法來進行小車模式的選擇。單片機假如收到前進的指令,然后會馬上進行小車模式的選擇,對收到的指令進行判斷,如果與小車預先設置的值相同,則小車就進入那種模式,直到等待新的指令的發出。
5  設備調試
5.1系統調試
本次設計思路是讓WIFI模塊與路由器相連,由路由器散發出一個WIFI熱點,然后用手機連接到這個熱點,這樣就可以用手機來控制小車的各種運行動作。
具體的步驟是由硬件設備調試和軟件調試兩部分組成。經過一系列連線操作,將硬件的各個設備連接好,確保每一部分在單獨情況下都能夠正常工作,然后再把每一部分連接在一起,成為一個整體,這樣就能實現WIFI智能小車的各種功能。
5.2硬件設備調試
由于本次設計的工作量還是很大的。所以在電路安裝完成后,第一要進行的就是檢查有沒有焊接的問題。然后再對電路各個模塊進行分級調試,逐步實現系統的整體功能。
5.2.1  驅動模塊調試
將車架組裝完成后,把電機固定在車架上,并安裝好車輪,將電機線分別接到驅動模塊的對應的接口上,然后分別給驅動模塊和電機供電,查看小車車輪是否正常運轉,如果小車車輪運轉方向不一樣,就把驅動模塊上接電機的線反接,直至車輪運轉方向一致,則表示驅動模塊調試成功。
5.2.2  WIFI模塊調試
單獨給WIFI模塊供電,等待大約一分鐘時間,用手機搜索WIFI,成功連接到WIFI模塊發出的信號,用手機給WIFI模塊發送任意指令,如果小車接收到指令,則表示WIFI模塊調試成功。
5.2.3  圖像采集處理模塊調試
將攝像頭的USB口插入電腦中,等待驅動自動安裝完成。打開聊天軟件進行視頻聊天功能,攝像頭可以正常工作。接著打開手機控制軟件,設置相關參數,則攝像頭圖像采集處理功能調試成功。
5.2.4  電源模塊調試
將3.3V降/穩壓模塊單獨供5V電源,用電壓表測量輸出端的電壓,測量結果為3.3V穩定電壓,則電源模塊調試成功。
5.2.5  STC89C52RC單片機連線
單片機上不僅有有RXD口,還有TXD口,將單片機與WIFI模塊連接到一起時,屬于交叉連線。當然除此之外,單片機上還要接復位電路和時鐘(晶振)電路,晶振電路用來設置單片機的波特率,以達到和WIFI模塊的波特率一致。
下圖是單片機的接線圖,如圖5.1所示。
圖5.1 單片機引腳接線圖
各模塊與單片機連線完成后,檢查確認沒有虛焊或者斷路的情況后,打開小車可以按照規定要求正常工作,而且手機顯示端也可以正常顯示圖像,則單片機連線部分調試成功。
5.3程序調試
5.3.1  Keil軟件簡介
如果需要編寫源代碼,就在編輯器中進行,之后添加到C51編譯器中生成OBJ文件,然后連接定位庫文件后生成HEX文件。
5.3.2  程序調試
用Keil軟件進行程序調試時,首先新建個工程,在建好的工程里選擇所使用的主控芯片,接著添加一個空白的C語言文檔,保存好C語言文檔后把編寫好的程序輸入到C語言文檔里,保存好后就可以編譯,若出現錯誤,軟件下方的Build Output框里會出現錯誤警告。然后進行錯誤修改,當修改到沒有錯誤后,Build Output框里會顯示錯誤警告為零個,則程序就被編譯成功,編譯成功的畫面如圖5.2所示。
最后還要生成Hex文件,打開TargetOptions功能,選擇Output的界面,然后勾選創建Hex文件選項,再進行一次編譯,成功后Build Output框里會提示Hex文件創建成功。創建Hex文件的界面如圖5.3所示。
圖5.2  Keil編譯成功
圖5.3  創建Hex文件界面
結論
本設計選擇了主控芯片STC89C52單片機,用高清攝像頭拍攝圖像,進行WIFI無線數據的傳輸,利用WIFI模塊的串口將無線收到的數據給單片機進行數據處理,達到用手機無線控制小車并顯示監控內容的目的。經過一系列的硬件設計,把單片機與WIFI模塊、驅動模塊、電源模塊等外圍電路結合起來,然后又經過一系列的軟件設計,主控芯片的控制程序使用C語言編寫而成,簡潔而注釋充分條理,完成了課題的要求。
最終的WIFI智能視頻小車系統設計成品具有以下功能:精準的讓小車進行前進、后退、轉向和拍照等功能,使智能小車在無人控制情況下,安全自動化行駛。實現復雜地形內危險源的準確定位。
本設計的智能小車還有待提升的空間,未來可以將溫度測量功能,煙霧測量報警功能,危險氣體檢測功能,智能清掃功能,自動滅火功能等加入到小車中。使小車的用處更廣泛,更好的造福于人類。
致謝
本次設計的智能小車是基于WIFI的一種智能小車,經歷了兩個多月的努力,終于將本設計完整的呈現給大家。在這期間,身心經歷也是極其豐富 ,從剛開始的茫然不知所措,到一點一點探索其中的奧秘,直至后來完整的做出本設計。其中,最重要的就是得到我的指導老師——王緩緩老師的幫助,王老師犧牲了很多業余的時間來指導我,使我一點一點的看清整個系統的真面目,而且我的問題也很多,但是王老師總是不厭其煩的指導我、激勵我,使我在整個過程中充滿信心。王老師仔細認真的工作態度也是深深影響我,致使我在整個過程中也一直抱著仔細認真的態度。除此以外,圖書館的各位老師也是幫助我很多,使我更容易的找到相關的參考書籍。我還要感謝我的同學朋友的幫助,是他們專業的幫助才讓我解決了安卓軟件的問題。
同時也很感謝在本篇論文中涉及到的各位學者。是他們的文章開啟我整個制作的方向,通過他們的一點一滴的啟蒙,才讓我打開了眼界和思想,以至于成功完整的完成本次設計。
但是由于我的學術水平有限,所寫的論文難免有不足之處,所以誠心的懇請各位老師和學友批評和指正!
參考文獻
[1]趙海蘭.基于單片機的紅外遙控智能小車的設計[J]. 無線互聯科技,2007,56(8A):332-335.                                                                                                                                                                                                                                       
[2]Dickmanns ED,etc.The Seeing Passenger Car “Vamors-P” Proc 1994IEEE Symposia on Intelligent Vehicles[J]. IEEE Press Piscataway,1994,10(5):68-73.           
[3]Maurer M.Vamors-p——An Advanced Platform for Visual AutonomousRoad Vehicl  Guidance[J]. In:SPIEConfonMobile Robots IX.Boston,1994,12(3):239-248.                                       
[4]Broggi A, Bertozzi M, Faseioli A et al.Automatic vehicleguidance:the experience of the ARGO autonomous vehicle.Singapore[J].WorldScientific PubllshingCo, 1998,56(9):23-24.
[5]尹念東.智能車輛的研究及前景[J].上海汽車,2002,56(15A):241-246.
[6]趙振德.多功能遙控智能小車的制作[J]. 電子制作, 2011,29(12A):739-741.
[7]黃建能等.無線遙控小車[J].現代電子技術,2012,35(23):126-129.
[8]于連國,李偉,王妍瑋.基于單片機的智能小車設計[J].林業機械與木工設備,2011,39(4A):39-41.
[9]姜寶華,齊強.基于單片機的無線遙控智能小車的設計與制作[J].計算機測量與控制, 2013,12(2A):24-25.   
[10]董濤,劉進英,蔣蘇.基于單片機的智能小車的設計與制作[J].計算機測量與控制,2009,17(2):380-382.                                                
[11]葛廣軍,楊帆.基于單片機的智能小車控制系統設計[J].河南城建學院學報,2011,  20(3):47-50.
[12] 周淑娟. 基于單片機智能尋跡小車的設計方案[J]. 工業技術與職業教育,2011,,32(20A):112-118.
附錄
部分程序代碼:
//Wifi小車
//小車增加調速功能
//名稱:TANTIC7428
//單片機采用22.1184M晶振
//加入紅外線避障
//加入超聲波測距模塊
#include <STC12C5A.h>      //包含STC12C5A系列單片機的頭文件
#include"1602.h"
#include <intrins.h>
sbit LED1=P3^0;             //定義兩只LED到P3^0,P3^1
sbit LED2=P3^1;
//sbit Light_F=P3^2;
sbit Light_B=P2^3;  //控制車身的LED
sbit beed=P2^7;
sbit KEY1=P3^6;
sbit KEY2=P3^7;
//電機控制端
sbit EN1=P1^0;
sbit IN1=P1^1;
sbit IN2=P1^2;
sbit EN2=P1^3;
sbit IN3=P1^4;
sbit IN4=P1^5;
#define sensor_IROA P3
//超聲波模塊
sbit Ult_TX=P1^6;
sbit Ult_RX=P1^7;
//紅外避障傳感器
sbit IROA_R=P3^3;
sbit IROA_M=P3^4;
sbit IROA_L=P3^5;
unsigned long PWM_cnt=0;//
unsigned int PWM_G1=33;    //初始化中心值
unsigned int PWM_G2=33;    //
int speed_R=0;    //定義兩個電機的速度,有正負之分,為正是,正轉。(范圍-100~100)
int speed_L=0;
int pre_RS=0;
int pre_LS=0;
int set_RS=0;
int set_LS=0;
int speed_A=0;
unsigned int cnt_s=0;       //用于計數PWM的點空比0=100;
unsigned long cnt_b=0;
unsigned long cnt_beed=0;     //用于控制蜂鳴器
unsigned int flag_beed=1;
unsigned int B_counter=0;
unsigned char R_date[3]={0};
unsigned char RBuff_date[4]={0};
unsigned char pattern=0; //0:stop 1:start
unsigned long cnt_ser=0; //用于舵機直流電機控制
unsigned char flag_ser=0;
unsigned char flag_phone=0;  //用于手機控制標記
unsigned char check_phone=0;
unsigned char flag_PC=0;
unsigned char sen_inp_IROA()
{
      unsignedIROA_date;
      IROA_date=sensor_IROA;
      IROA_date=~IROA_date;
      IROA_date&=0x38;
      IROA_date>>=3;
      return(IROA_date);
}
unsigned long Ult_distance=0;     //超聲波距離變量
unsigned char flag_Ult;                 //超聲波發射標記
unsigned char flag_Ult_overflow=0;
unsigned long Ult_cnt=0;              //超聲波時間計數變量
unsigned long Ult_time;                //超聲波定時發射時間
void delay(unsigned long t)      //軟件延時帶參數t
{
      unsignedint j,k;
      for(t;t>0;t--)
      for(j=20;j>0;j--)
      for(k=100;k>0;k--);
}
/**********超聲波模塊啟動***************************/
void Start_Ult()                    //啟動模塊
{
      unsignedt=200;
        Ult_TX=1;                                         //啟動一次模塊
        while(t--);
        {
           _nop_();
        }
        Ult_TX=0;
}
/************計算距離*******************************/
void Ult_Conut()
{
       Ult_distance=(int)(Ult_cnt*0.8);
}
void beed_ctrl(unsigned long time ,unsigned int num)
{
      beed=0;
      cnt_beed=2*time;            
      B_counter=2*num;
      beed=1;
      cnt_b=0;
}
void display_1602(unsigned intaddr,unsigned char temp)
{
      unsignedint i,w[2];
      w[0]=temp/16;
      w[1]=temp%16;
      for(i=0;i<2;i++)
      {
             switch(w)
             {
                    case0: print(addr+i,"0"); break;
                    case1: print(addr+i,"1"); break;
                    case2: print(addr+i,"2"); break;
                    case3: print(addr+i,"3"); break;
                    case4: print(addr+i,"4"); break;
                    case5: print(addr+i,"5"); break;
                    case6: print(addr+i,"6"); break;
                    case7: print(addr+i,"7"); break;
                    case8: print(addr+i,"8"); break;
                    case9: print(addr+i,"9"); break;
                    case10: print(addr+i,"A"); break;
                    case11: print(addr+i,"B"); break;
                    case12: print(addr+i,"C"); break;
                    case13: print(addr+i,"D"); break;
                    case14: print(addr+i,"E"); break;
                    case15: print(addr+i,"F"); break;
                    default:break;
             }
      }
}
void display_1602_10(unsigned int addr,unsignedchar temp)
{
      unsignedint i,w[3];
      w[0]=temp/100;
      w[1]=temp/10%10;
      w[2]=temp%10;
      for(i=0;i<3;i++)
      {
        print2(addr+i,w);              
      }
}
void display_1602_dis(unsigned intaddr,unsigned char temp)
{
      unsignedint i,w[3];
      w[0]=temp/100;
      w[1]=temp/10%10;
      w[2]=temp%10;
      for(i=0;i<3;i++)
      {
        print2(addr+i,w);              
      }
}
/*************init To************/
void init_T0(void)
{
      TMOD|=0x01;    //定時器工作在模式1
      TH0=0xff;    //定時初值TH0=0xff  TL0=0x49 定時100uS
      TL0=0x49;   
      TR0=1;
      ET0=1;
}
/************TO interrupt********/
void timer0(void) interrupt 1
{
      TH0=0xff;
      TL0=0x49;
      cnt_s++;       //PWM占空比計數 0-100
      if(cnt_s>=speed_R)
      {
             EN1=0;
      }
      if(cnt_s>=speed_L)
      {
             EN2=0;
      }
      if(cnt_s>=100)
      {
             EN1=1;
             EN2=1;
             cnt_s=0;
      }
}







歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1