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

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

QQ登錄

只需一步,快速開始

搜索
查看: 5828|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

智能WIFI視頻小車論文

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:308418 發(fā)表于 2018-4-15 10:41 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于51單片機(jī)的WIFI智能視頻小車的設(shè)計(jì)與實(shí)現(xiàn)

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

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  國(guó)內(nèi)外發(fā)展現(xiàn)狀.............................................................................................. ……..1
1.3  主要研究?jī)?nèi)容.................................................................................................. ……..2
2  系統(tǒng)總體設(shè)計(jì)方案................................................................................................... ……..3
2.1  系統(tǒng)方案的選擇.............................................................................................. ……..3
2.2  整機(jī)系統(tǒng).......................................................................................................... ……..4
3  硬件設(shè)計(jì)…………………………………………………………………………………..5
3.1  主控部分.......................................................................................................... ……..5
3.2  驅(qū)動(dòng)模塊.......................................................................................................... ……..6
3.3  WIFI無線收發(fā)模塊........................................................................................ ……..7
3.4  圖像采集處理模塊.......................................................................................... ……..8
3.5  終端顯示模塊.................................................................................................. ……..8
3.6  電源模塊.......................................................................................................... ……..9
4  軟件系統(tǒng)................................................................................................................... ……12
4.1  軟件開發(fā)環(huán)境.................................................................................................. ……12
4.1.1  Android的APP軟件的開發(fā)............................................................... ……12
4.1.2  單片機(jī)程序開發(fā)環(huán)境........................................................................... ……13
4.2  軟件工作流程圖.............................................................................................. ……13
5  設(shè)備調(diào)試................................................................................................................... ……17
5.1  系統(tǒng)調(diào)試.......................................................................................................... ……17
5.2  硬件設(shè)備調(diào)試.................................................................................................. ……17
5.2.1  驅(qū)動(dòng)模塊調(diào)試....................................................................................... ……17
5.2.2  WIFI模塊調(diào)試..................................................................................... ……17
5.2.3  圖像采集處理模塊調(diào)試....................................................................... ……17
5.2.4  電源模塊調(diào)試....................................................................................... ……17
5.2.5  STC89C52RC單片機(jī)連線................................................................... ……17
5.3  程序調(diào)試.......................................................................................................... ……18
5.3.1  Keil軟件簡(jiǎn)介........................................................................................ ……18
5.3.2 程序調(diào)試................................................................................................. ……18結(jié)論…………………………………………………………………………………………..20致謝…………………………………………………………………………………………..21參考文獻(xiàn)……………………………………………………………………………………..22附錄…………………………………………………………………………………………..23


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

圖2.1方案1設(shè)計(jì)圖
方案2:通過自己的學(xué)習(xí)去了解單片機(jī)原理,小車原理以及WIFI模塊的原理。接著制作普通單片機(jī)智能小車,然后通過外接一個(gè)WIFI模塊與單片機(jī)相連,再編寫相關(guān)的程序,最終實(shí)現(xiàn)用手機(jī)控制小車的目的。
下圖是根據(jù)方案2設(shè)計(jì)的構(gòu)想圖,如圖2.2所示。

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



   


圖4.3主程序流程圖
單片機(jī)首先設(shè)置好串口初始化。然后單片機(jī)會(huì)向已經(jīng)設(shè)置好的WIFI模塊指揮讓其反應(yīng),做出相應(yīng)動(dòng)作后WIFI模塊就可以和路由器連接在一起。路由器會(huì)發(fā)出一個(gè)WIFI熱點(diǎn),用手機(jī)連接到這個(gè)熱點(diǎn)上,這樣就保證了手機(jī)和小車連接在了同一個(gè)熱點(diǎn)上,也就可以通過手機(jī)向單片機(jī)發(fā)出指令,發(fā)出的指令由WIFI信號(hào)給到WIFI模塊,這樣單片機(jī)就得到了手機(jī)發(fā)出的數(shù)據(jù),接著馬上開始中斷函數(shù)來執(zhí)行接收數(shù)據(jù)的模式。單片機(jī)從已經(jīng)儲(chǔ)存好指令的寄存器中讀取指令。手機(jī)發(fā)送的指令不同,單片機(jī)接收的指令就不同,根據(jù)不同指令做出的反應(yīng)也就不同。
單片機(jī)對(duì)串口進(jìn)行初始化的軟件程序界面圖,如圖4.4所示
圖4.4 串口初始化軟件程序界面圖
單片機(jī)假如想和WIFI模塊之間進(jìn)行數(shù)據(jù)通信,那么兩端的波特率就必須是一致的,由于WIFI模塊的波特率是115200,所以單片機(jī)端的波特率也必須是115200。只有這樣才會(huì)有兩端之間正常的數(shù)據(jù)通信。如上圖,我們要先設(shè)置T1(TMOD)選擇工作模式,然后設(shè)置TH1和TL1賦初始值,接著啟動(dòng)T1和T2(TR2位),確定串口工作方式。
接收到信號(hào)后的單片機(jī)會(huì)繼續(xù)做出反應(yīng),它會(huì)驅(qū)動(dòng)電機(jī)模塊,從而使小車做出相應(yīng)的運(yùn)動(dòng),如圖4.5所示。
圖4.5 單片機(jī)驅(qū)動(dòng)小車前進(jìn)的程序圖
無線WIFI模塊把數(shù)據(jù)傳輸給單片機(jī),接著通過調(diào)用switch語句的方法來進(jìn)行小車模式的選擇。單片機(jī)假如收到前進(jìn)的指令,然后會(huì)馬上進(jìn)行小車模式的選擇,對(duì)收到的指令進(jìn)行判斷,如果與小車預(yù)先設(shè)置的值相同,則小車就進(jìn)入那種模式,直到等待新的指令的發(fā)出。
5  設(shè)備調(diào)試
5.1系統(tǒng)調(diào)試
本次設(shè)計(jì)思路是讓W(xué)IFI模塊與路由器相連,由路由器散發(fā)出一個(gè)WIFI熱點(diǎn),然后用手機(jī)連接到這個(gè)熱點(diǎn),這樣就可以用手機(jī)來控制小車的各種運(yùn)行動(dòng)作。
具體的步驟是由硬件設(shè)備調(diào)試和軟件調(diào)試兩部分組成。經(jīng)過一系列連線操作,將硬件的各個(gè)設(shè)備連接好,確保每一部分在單獨(dú)情況下都能夠正常工作,然后再把每一部分連接在一起,成為一個(gè)整體,這樣就能實(shí)現(xiàn)WIFI智能小車的各種功能。
5.2硬件設(shè)備調(diào)試
由于本次設(shè)計(jì)的工作量還是很大的。所以在電路安裝完成后,第一要進(jìn)行的就是檢查有沒有焊接的問題。然后再對(duì)電路各個(gè)模塊進(jìn)行分級(jí)調(diào)試,逐步實(shí)現(xiàn)系統(tǒng)的整體功能。
5.2.1  驅(qū)動(dòng)模塊調(diào)試
將車架組裝完成后,把電機(jī)固定在車架上,并安裝好車輪,將電機(jī)線分別接到驅(qū)動(dòng)模塊的對(duì)應(yīng)的接口上,然后分別給驅(qū)動(dòng)模塊和電機(jī)供電,查看小車車輪是否正常運(yùn)轉(zhuǎn),如果小車車輪運(yùn)轉(zhuǎn)方向不一樣,就把驅(qū)動(dòng)模塊上接電機(jī)的線反接,直至車輪運(yùn)轉(zhuǎn)方向一致,則表示驅(qū)動(dòng)模塊調(diào)試成功。
5.2.2  WIFI模塊調(diào)試
單獨(dú)給WIFI模塊供電,等待大約一分鐘時(shí)間,用手機(jī)搜索WIFI,成功連接到WIFI模塊發(fā)出的信號(hào),用手機(jī)給WIFI模塊發(fā)送任意指令,如果小車接收到指令,則表示W(wǎng)IFI模塊調(diào)試成功。
5.2.3  圖像采集處理模塊調(diào)試
將攝像頭的USB口插入電腦中,等待驅(qū)動(dòng)自動(dòng)安裝完成。打開聊天軟件進(jìn)行視頻聊天功能,攝像頭可以正常工作。接著打開手機(jī)控制軟件,設(shè)置相關(guān)參數(shù),則攝像頭圖像采集處理功能調(diào)試成功。
5.2.4  電源模塊調(diào)試
將3.3V降/穩(wěn)壓模塊單獨(dú)供5V電源,用電壓表測(cè)量輸出端的電壓,測(cè)量結(jié)果為3.3V穩(wěn)定電壓,則電源模塊調(diào)試成功。
5.2.5  STC89C52RC單片機(jī)連線
單片機(jī)上不僅有有RXD口,還有TXD口,將單片機(jī)與WIFI模塊連接到一起時(shí),屬于交叉連線。當(dāng)然除此之外,單片機(jī)上還要接復(fù)位電路和時(shí)鐘(晶振)電路,晶振電路用來設(shè)置單片機(jī)的波特率,以達(dá)到和WIFI模塊的波特率一致。
下圖是單片機(jī)的接線圖,如圖5.1所示。
圖5.1 單片機(jī)引腳接線圖
各模塊與單片機(jī)連線完成后,檢查確認(rèn)沒有虛焊或者斷路的情況后,打開小車可以按照規(guī)定要求正常工作,而且手機(jī)顯示端也可以正常顯示圖像,則單片機(jī)連線部分調(diào)試成功。
5.3程序調(diào)試
5.3.1  Keil軟件簡(jiǎn)介
如果需要編寫源代碼,就在編輯器中進(jìn)行,之后添加到C51編譯器中生成OBJ文件,然后連接定位庫文件后生成HEX文件。
5.3.2  程序調(diào)試
用Keil軟件進(jìn)行程序調(diào)試時(shí),首先新建個(gè)工程,在建好的工程里選擇所使用的主控芯片,接著添加一個(gè)空白的C語言文檔,保存好C語言文檔后把編寫好的程序輸入到C語言文檔里,保存好后就可以編譯,若出現(xiàn)錯(cuò)誤,軟件下方的Build Output框里會(huì)出現(xiàn)錯(cuò)誤警告。然后進(jìn)行錯(cuò)誤修改,當(dāng)修改到?jīng)]有錯(cuò)誤后,Build Output框里會(huì)顯示錯(cuò)誤警告為零個(gè),則程序就被編譯成功,編譯成功的畫面如圖5.2所示。
最后還要生成Hex文件,打開TargetOptions功能,選擇Output的界面,然后勾選創(chuàng)建Hex文件選項(xiàng),再進(jìn)行一次編譯,成功后Build Output框里會(huì)提示Hex文件創(chuàng)建成功。創(chuàng)建Hex文件的界面如圖5.3所示。
圖5.2  Keil編譯成功
圖5.3  創(chuàng)建Hex文件界面
結(jié)論
本設(shè)計(jì)選擇了主控芯片STC89C52單片機(jī),用高清攝像頭拍攝圖像,進(jìn)行WIFI無線數(shù)據(jù)的傳輸,利用WIFI模塊的串口將無線收到的數(shù)據(jù)給單片機(jī)進(jìn)行數(shù)據(jù)處理,達(dá)到用手機(jī)無線控制小車并顯示監(jiān)控內(nèi)容的目的。經(jīng)過一系列的硬件設(shè)計(jì),把單片機(jī)與WIFI模塊、驅(qū)動(dòng)模塊、電源模塊等外圍電路結(jié)合起來,然后又經(jīng)過一系列的軟件設(shè)計(jì),主控芯片的控制程序使用C語言編寫而成,簡(jiǎn)潔而注釋充分條理,完成了課題的要求。
最終的WIFI智能視頻小車系統(tǒng)設(shè)計(jì)成品具有以下功能:精準(zhǔn)的讓小車進(jìn)行前進(jìn)、后退、轉(zhuǎn)向和拍照等功能,使智能小車在無人控制情況下,安全自動(dòng)化行駛。實(shí)現(xiàn)復(fù)雜地形內(nèi)危險(xiǎn)源的準(zhǔn)確定位。
本設(shè)計(jì)的智能小車還有待提升的空間,未來可以將溫度測(cè)量功能,煙霧測(cè)量報(bào)警功能,危險(xiǎn)氣體檢測(cè)功能,智能清掃功能,自動(dòng)滅火功能等加入到小車中。使小車的用處更廣泛,更好的造福于人類。
致謝
本次設(shè)計(jì)的智能小車是基于WIFI的一種智能小車,經(jīng)歷了兩個(gè)多月的努力,終于將本設(shè)計(jì)完整的呈現(xiàn)給大家。在這期間,身心經(jīng)歷也是極其豐富 ,從剛開始的茫然不知所措,到一點(diǎn)一點(diǎn)探索其中的奧秘,直至后來完整的做出本設(shè)計(jì)。其中,最重要的就是得到我的指導(dǎo)老師——王緩緩老師的幫助,王老師犧牲了很多業(yè)余的時(shí)間來指導(dǎo)我,使我一點(diǎn)一點(diǎn)的看清整個(gè)系統(tǒng)的真面目,而且我的問題也很多,但是王老師總是不厭其煩的指導(dǎo)我、激勵(lì)我,使我在整個(gè)過程中充滿信心。王老師仔細(xì)認(rèn)真的工作態(tài)度也是深深影響我,致使我在整個(gè)過程中也一直抱著仔細(xì)認(rèn)真的態(tài)度。除此以外,圖書館的各位老師也是幫助我很多,使我更容易的找到相關(guān)的參考書籍。我還要感謝我的同學(xué)朋友的幫助,是他們專業(yè)的幫助才讓我解決了安卓軟件的問題。
同時(shí)也很感謝在本篇論文中涉及到的各位學(xué)者。是他們的文章開啟我整個(gè)制作的方向,通過他們的一點(diǎn)一滴的啟蒙,才讓我打開了眼界和思想,以至于成功完整的完成本次設(shè)計(jì)。
但是由于我的學(xué)術(shù)水平有限,所寫的論文難免有不足之處,所以誠(chéng)心的懇請(qǐng)各位老師和學(xué)友批評(píng)和指正!
參考文獻(xiàn)
[1]趙海蘭.基于單片機(jī)的紅外遙控智能小車的設(shè)計(jì)[J]. 無線互聯(lián)科技,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].現(xiàn)代電子技術(shù),2012,35(23):126-129.
[8]于連國(guó),李偉,王妍瑋.基于單片機(jī)的智能小車設(shè)計(jì)[J].林業(yè)機(jī)械與木工設(shè)備,2011,39(4A):39-41.
[9]姜寶華,齊強(qiáng).基于單片機(jī)的無線遙控智能小車的設(shè)計(jì)與制作[J].計(jì)算機(jī)測(cè)量與控制, 2013,12(2A):24-25.   
[10]董濤,劉進(jìn)英,蔣蘇.基于單片機(jī)的智能小車的設(shè)計(jì)與制作[J].計(jì)算機(jī)測(cè)量與控制,2009,17(2):380-382.                                                
[11]葛廣軍,楊帆.基于單片機(jī)的智能小車控制系統(tǒng)設(shè)計(jì)[J].河南城建學(xué)院學(xué)報(bào),2011,  20(3):47-50.
[12] 周淑娟. 基于單片機(jī)智能尋跡小車的設(shè)計(jì)方案[J]. 工業(yè)技術(shù)與職業(yè)教育,2011,,32(20A):112-118.
附錄
部分程序代碼:
//Wifi小車
//小車增加調(diào)速功能
//名稱:TANTIC7428
//單片機(jī)采用22.1184M晶振
//加入紅外線避障
//加入超聲波測(cè)距模塊
#include <STC12C5A.h>      //包含STC12C5A系列單片機(jī)的頭文件
#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;
//電機(jī)控制端
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;    //定義兩個(gè)電機(jī)的速度,有正負(fù)之分,為正是,正轉(zhuǎn)。(范圍-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;       //用于計(jì)數(shù)PWM的點(diǎn)空比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; //用于舵機(jī)直流電機(jī)控制
unsigned char flag_ser=0;
unsigned char flag_phone=0;  //用于手機(jī)控制標(biāo)記
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;                 //超聲波發(fā)射標(biāo)記
unsigned char flag_Ult_overflow=0;
unsigned long Ult_cnt=0;              //超聲波時(shí)間計(jì)數(shù)變量
unsigned long Ult_time;                //超聲波定時(shí)發(fā)射時(shí)間
void delay(unsigned long t)      //軟件延時(shí)帶參數(shù)t
{
      unsignedint j,k;
      for(t;t>0;t--)
      for(j=20;j>0;j--)
      for(k=100;k>0;k--);
}
/**********超聲波模塊啟動(dòng)***************************/
void Start_Ult()                    //啟動(dòng)模塊
{
      unsignedt=200;
        Ult_TX=1;                                         //啟動(dòng)一次模塊
        while(t--);
        {
           _nop_();
        }
        Ult_TX=0;
}
/************計(jì)算距離*******************************/
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;    //定時(shí)器工作在模式1
      TH0=0xff;    //定時(shí)初值TH0=0xff  TL0=0x49 定時(shí)100uS
      TL0=0x49;   
      TR0=1;
      ET0=1;
}
/************TO interrupt********/
void timer0(void) interrupt 1
{
      TH0=0xff;
      TL0=0x49;
      cnt_s++;       //PWM占空比計(jì)數(shù) 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;
      }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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