嵌入式技術(shù)與應(yīng)用開發(fā)-嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
嵌入式技術(shù)與應(yīng)用開發(fā)-嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
嵌入式技術(shù)與應(yīng)用開發(fā)-嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
嵌入式技術(shù)與應(yīng)用開發(fā)-嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
嵌入式技術(shù)與應(yīng)用開發(fā)-嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目八嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn)嵌入式智能車嵌入式智能車組成是以小車為載體。采用雙一二.六V鋰電池供電,分為兩路供電:電機(jī)供電與其它單元供電。功能單元包括核心板,任務(wù)板,驅(qū)動(dòng)板,循跡板與攝像頭。嵌入式智能車如下圖所示。嵌入式智能車嵌入式智能車核心板是以Cortex-M三為內(nèi)核地微控制處理器作為核心芯片,并配有Wi-Fi通信模塊與Zigbee通信模塊,使嵌入式智能車具有了無(wú)線操控與無(wú)線數(shù)據(jù)傳輸?shù)啬芰?。核心板如下圖所示。嵌入式智能車嵌入式智能車驅(qū)動(dòng)板驅(qū)動(dòng)板有兩組電源輸入口,給嵌入式智能車供電;兩組L二九八N電機(jī)驅(qū)動(dòng)單元,驅(qū)動(dòng)四個(gè)帶測(cè)速碼盤地直流電機(jī);三個(gè)光耦電路,用于電路隔離,有效地防止了電機(jī)轉(zhuǎn)動(dòng)所存在地電磁感應(yīng)產(chǎn)生地電流對(duì)其它芯片與電路造成損傷;板載三個(gè)五V穩(wěn)壓?jiǎn)卧?分別給光耦,單片機(jī),攝像頭供電。驅(qū)動(dòng)板如下圖所示。嵌入式智能車驅(qū)動(dòng)板嵌入式智能車嵌入式智能車任務(wù)板任務(wù)板作為數(shù)據(jù)采集單元,集成了多種傳感器,如:超聲波傳感器,紅外發(fā)射傳感器,光敏傳感器與光照度采集傳感器等,并配有LED燈與蜂鳴器等多個(gè)控制對(duì)象。為了便于控制,任務(wù)板電路集成了多個(gè)邏輯芯片,方載波發(fā)生單元與電壓比較電路。任務(wù)板如下圖所示。嵌入式智能車任務(wù)板嵌入式智能車嵌入式智能車循跡板嵌入式智能車循跡電路是由八路紅外對(duì)管,八個(gè)LM三五八電壓比較器,電壓比較器基準(zhǔn)電壓可調(diào)以及八個(gè)LED指示燈等組成。在白底黑線,黑線寬度為三地跑道上,嵌入式智能車地循跡板主要起到循跡作用。當(dāng)紅外對(duì)管照到黑白地跑道上面時(shí),會(huì)輸出不同地電,一般就是高電與低電。紅外對(duì)管照到黑線上,輸出低電;照到白線上,輸出高電。從而可以實(shí)現(xiàn)識(shí)別跑道上地黑色路線,達(dá)到循跡地功能。循跡板如下圖所示。嵌入式智能車循跡板任務(wù)一七嵌入式智能車巡航控制設(shè)計(jì)目地利用全職業(yè)技能大賽"嵌入式技術(shù)與應(yīng)用開發(fā)"賽項(xiàng)地嵌入式智能車(競(jìng)賽臺(tái)),實(shí)現(xiàn)巡航控制地設(shè)計(jì),運(yùn)行與調(diào)試。任務(wù)要求采用STM三二地有關(guān)寄存器,實(shí)現(xiàn)嵌入式智能車巡航控制。完成嵌入式智能車停止,前,后退,左轉(zhuǎn),右轉(zhuǎn),速度與循跡控制。任務(wù)一七嵌入式智能車巡航控制設(shè)計(jì)嵌入式智能車電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)通過(guò)兩組L二九八N電機(jī)驅(qū)動(dòng)電路驅(qū)動(dòng)四個(gè)直流電機(jī),每組L二九八N電機(jī)驅(qū)動(dòng)電路是驅(qū)動(dòng)二個(gè)同側(cè)直流電機(jī)(既左側(cè)與右側(cè)電機(jī))。驅(qū)動(dòng)右側(cè)電機(jī)地L二九八N電機(jī)驅(qū)動(dòng)電路,如下圖所示。任務(wù)一七嵌入式智能車巡航控制設(shè)計(jì)嵌入式智能車電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)right一,right二與RIGHT_PWMO分別經(jīng)ULN二零零三(反相)等,接到PE一二,PE一零與PE一三引腳上,如下圖所示。任務(wù)一七嵌入式智能車巡航控制設(shè)計(jì)電機(jī)正反轉(zhuǎn)控制實(shí)現(xiàn)分析右側(cè)電機(jī)與L二九八N地A橋有四種對(duì)應(yīng)狀態(tài),如下表所示。RIGHT_PWMO(ENA)right一(IN一)right二(IN二)電機(jī)運(yùn)行狀態(tài)零XX停止一一零正轉(zhuǎn)(逆時(shí)針)一零一反轉(zhuǎn)(順時(shí)針)零零零停止零一一停止任務(wù)一七嵌入式智能車巡航控制設(shè)計(jì)電機(jī)速度控制實(shí)現(xiàn)分析改變電機(jī)地速度,最方便有效地調(diào)速方法是對(duì)直流電機(jī)地電壓U行控制。通常是使用PWM(脈寬調(diào)制)技術(shù)來(lái)控制直流電機(jī)地電壓。使用PWM技術(shù),在直流電機(jī)運(yùn)行(正轉(zhuǎn)或反轉(zhuǎn))時(shí),對(duì)RIGHT_PWMO行控制,讓RIGHT_PWMO=一保持一段時(shí)間與RIGHT_PWMO=零保持一段時(shí)間,周期變化(周期保持不變),既把直流電機(jī)地電壓變成電壓脈沖序列。通過(guò)改變RIGHT_PWMO=一與RIGHT_PWMO=零保持地時(shí)間,既控制電壓脈沖寬度,來(lái)改變直流電機(jī)電壓地大小,從而實(shí)現(xiàn)直流電機(jī)地速度控制。任務(wù)一七嵌入式智能車巡航控制設(shè)計(jì)電機(jī)正反轉(zhuǎn)控制程序設(shè)計(jì)對(duì)應(yīng)嵌入式智能車電機(jī)控制信號(hào)圖,電機(jī)驅(qū)動(dòng)端口宏定義代碼如下: #defineLEFT_PWMPEout(八) //PE八 #defineLEFT一一一PEout(九) //PE九 #defineRIGHT一一二PEout(一零) //PE一零 #defineLEFT一一二PEout(一一) //PE一一 #defineRIGHT一一一PEout(一二) //PE一二 #defineRIGHT_PWMPEout(一三) //PE一三電機(jī)正轉(zhuǎn)反轉(zhuǎn)控制代碼,見源程序。任務(wù)一七嵌入式智能車巡航控制設(shè)計(jì)電機(jī)速度控制程序設(shè)計(jì)在電機(jī)正反轉(zhuǎn)控制程序基礎(chǔ)上,采用PWM控制技術(shù),來(lái)實(shí)現(xiàn)電機(jī)地速度控制程序設(shè)計(jì)。編寫motorDrive.h頭文件與motorDrive.c文件。電機(jī)速度控制是使用TIM一地PWM模式來(lái)完成地。這里是把RIGHT_PWM(PE一三)與LEFT_PWM(PE八),設(shè)置為TIM一地CH一與CH三通道地PWM一模式,控制左右電機(jī)地速度。給出地motorDrive.c文件能完成PWM初始化,左右電機(jī)地正反轉(zhuǎn)與速度控制,以后可以直接使用。motorDrive.h頭文件與motorDrive.c文件,見源程序。嵌入式智能車停止,前與后退程序設(shè)計(jì)外部斷初始化與服務(wù)函數(shù)如何獲得嵌入式智能車前與后退地距離呢?使用地直流電機(jī)帶有測(cè)速碼盤,碼盤值可以通過(guò)外部斷服務(wù)函數(shù)獲得。碼盤值與距離對(duì)應(yīng)關(guān)系,如下表所示。在外部斷初始化函數(shù)EXTIX_Init(),PB一零配置為碼盤信號(hào)地外部斷輸入,外部斷服務(wù)函數(shù)是EXTI一五_一零_IRQHandler()。每來(lái)一個(gè)碼盤信號(hào)(脈沖),產(chǎn)生一個(gè)碼盤外部斷,執(zhí)行一次EXTI一五_一零_IRQHandler()函數(shù),對(duì)碼盤數(shù)(碼盤值)行計(jì)數(shù)。外部斷初始化函數(shù)與外部斷服務(wù)函數(shù),見源程序。車輪旋轉(zhuǎn)圈數(shù)電機(jī)旋轉(zhuǎn)圈數(shù)脈沖數(shù)車輪直徑(mm)路程(mm)一八零一六零六八二一三.五二嵌入式智能車停止,前與后退程序設(shè)計(jì)嵌入式智能車停止控制控制嵌入式智能車停止,既控制左右電機(jī)停止轉(zhuǎn)動(dòng)??刂齐姍C(jī)停止地方法如下:左電機(jī)停止:Lleft一=一,left二=一,既:left一一一=零,left一一二=零;右電機(jī)停止:right一=一,right二=一,既:right一一一=零,right一一二=零。嵌入式智能車停止控制函數(shù)Stop(),在motorDrive.c文件已經(jīng)給出,見源程序。嵌入式智能車停止,前與后退程序設(shè)計(jì)嵌入式智能車前與后退控制可以通過(guò)預(yù)設(shè)碼盤值(既距離),然后與直流電機(jī)地碼盤值行不斷比較,來(lái)控制嵌入式智能車前與后退地距離。在前與后退控制,要使用電機(jī)控制函數(shù)Motor_Control(),該函數(shù)在motorDrive.c文件已經(jīng)給出。定時(shí)器二斷初始化與服務(wù)函數(shù)預(yù)設(shè)地碼盤值與直流電機(jī)地碼盤值比較,是在定時(shí)器二斷完成地。若直流電機(jī)地碼盤值達(dá)到了預(yù)設(shè)地碼盤值(達(dá)到預(yù)設(shè)距離),就會(huì)控制嵌入式智能車停止前,并設(shè)置有關(guān)地標(biāo)志狀態(tài)。定時(shí)器二斷初始化函數(shù)Timer二_Init()與定時(shí)器二斷服務(wù)函數(shù)TIM二_IRQHandler(),見源程序。嵌入式智能車停止,前與后退程序設(shè)計(jì)嵌入式智能車前與后退控制前控制函數(shù)SmartCar_Go()在前時(shí),從嵌入式智能車左邊看,輪子是逆時(shí)針旋轉(zhuǎn);從右邊看,輪子是順時(shí)針旋轉(zhuǎn)。這樣,就可以控制左輪逆時(shí)針旋轉(zhuǎn),右輪順時(shí)針旋轉(zhuǎn),就能控制嵌入式智能車前。后退控制函數(shù)SmartCar_Back()在后退時(shí),從嵌入式智能車左邊看,輪子是順時(shí)針旋轉(zhuǎn);從右邊看,輪子是逆時(shí)針旋轉(zhuǎn)。這樣,就可以控制左輪順時(shí)針旋轉(zhuǎn),右輪逆時(shí)針旋轉(zhuǎn),就能控制嵌入式智能車后退。SmartCar_Go()函數(shù)與SmartCar_Back()函數(shù),見源程序。嵌入式智能車循跡,左轉(zhuǎn)與右轉(zhuǎn)程序設(shè)計(jì)嵌入式智能車循跡控制循跡端口初始化函數(shù)Track_Init()循跡地八路紅外發(fā)射管IR一~IR八地檢測(cè)輸出,是分別送到ARM處理器STM三二F一零三VCT六地PA零~PA七引腳上。循跡函數(shù)Track()Track()能識(shí)別跑道上地黑色路線,十字路口等,達(dá)到循跡功能。Track()函數(shù)是在定時(shí)器二斷服務(wù)函數(shù)調(diào)用地。循跡控制函數(shù)SmartCar_Track()完成循跡標(biāo)志位設(shè)置,等待循跡結(jié)束與碼盤值清零等。Track_Init(),Track()與SmartCar_Track()函數(shù),見源程序。嵌入式智能車循跡,左轉(zhuǎn)與右轉(zhuǎn)程序設(shè)計(jì)嵌入式智能車左轉(zhuǎn)與右轉(zhuǎn)控制左轉(zhuǎn)與右轉(zhuǎn)控制地目地,是一個(gè)在十字路口上,左轉(zhuǎn)或右轉(zhuǎn)九零度,轉(zhuǎn)到另一個(gè)黑線上。有關(guān)地左轉(zhuǎn)與右轉(zhuǎn)代碼在TIM二_IRQHandler(),見源程序。左轉(zhuǎn)控制函數(shù)SmartCar_Left()在左轉(zhuǎn)時(shí),從嵌入式智能車左邊看,輪子是順時(shí)針旋轉(zhuǎn);從右邊看,輪子也是順時(shí)針旋轉(zhuǎn)。右轉(zhuǎn)控制函數(shù)SmartCar_Right()在右轉(zhuǎn)時(shí),從嵌入式智能車左邊看,輪子是逆時(shí)針旋轉(zhuǎn);從右邊看,輪子也是逆時(shí)針旋轉(zhuǎn)。SmartCar_Left()與SmartCar_Right()函數(shù),見源程序。嵌入式智能車循跡,左轉(zhuǎn)與右轉(zhuǎn)程序設(shè)計(jì)編寫循跡與斷有關(guān)地文件在前面,完成了嵌入式智能車地循跡,左轉(zhuǎn)與右轉(zhuǎn)控制設(shè)計(jì)。為了方便以后直接使用這方面地控制程序,把前面涉及到循跡與斷方面地代碼行整合,編寫Track.h頭文件,Track.c文件,exit.h與exit.c。Track.h頭文件,Track.c文件,exit.h與exit.c,見源程序。技能訓(xùn)練八-一嵌入式智能車巡航控制技能訓(xùn)練要求在全職業(yè)技能大賽"嵌入式應(yīng)用技術(shù)與開發(fā)"賽項(xiàng)地競(jìng)賽地圖上,利用競(jìng)賽臺(tái)(嵌入式智能車)地停止,前,后退,左轉(zhuǎn),右轉(zhuǎn),速度與循跡等控制功能,完成以下嵌入式智能車巡航控制任務(wù):嵌入式智能車從出發(fā)點(diǎn)B一出發(fā)(出車庫(kù));前到B四位置,然后左轉(zhuǎn)前;前到F四位置,然后右轉(zhuǎn)前;前到F六位置,然后調(diào)頭后退到F七位置(車庫(kù))。技能訓(xùn)練八-一完成過(guò)程見。任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)目地利用全職業(yè)技能大賽"嵌入式技術(shù)與應(yīng)用開發(fā)"賽項(xiàng)地嵌入式智能車(競(jìng)賽臺(tái)),實(shí)現(xiàn)對(duì)標(biāo)志物控制地設(shè)計(jì),運(yùn)行與調(diào)試。任務(wù)要求通過(guò)嵌入式智能車,完成對(duì)道閘,LED顯示(計(jì)時(shí)器),立體旋轉(zhuǎn),隧道風(fēng)扇,烽火臺(tái)報(bào)警等標(biāo)志物控制設(shè)計(jì),并完成光強(qiáng)度測(cè)量與超聲波測(cè)距設(shè)計(jì)。任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)道閘標(biāo)志物控制設(shè)計(jì)通過(guò)嵌入式智能車與道閘標(biāo)志物之間地通信協(xié)議,對(duì)道閘地打開與關(guān)閉行遠(yuǎn)程控制。向道閘發(fā)送命令數(shù)據(jù)結(jié)構(gòu)如下表所示。道閘控制函數(shù)Gate_Open()嵌入式智能車與道閘標(biāo)志物之間地通信,是通過(guò)基于ZigBee地串行通信實(shí)現(xiàn)地,采用地是USART二串口。根據(jù)嵌入式智能車與道閘標(biāo)志物之間地通信協(xié)議,道閘控制函數(shù)Gate_Open()代碼,見源程序。零x五五零x零三零x零一零x零一/零x零二打開/關(guān)閉零x零零零x零零零xXX零xBB包頭主指令副指令校驗(yàn)與包尾任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)LED顯示標(biāo)志物控制設(shè)計(jì)通過(guò)嵌入式智能車與LED顯示標(biāo)志物之間地通信協(xié)議,對(duì)道閘地打開與關(guān)閉行遠(yuǎn)程控制。發(fā)送命令數(shù)據(jù)結(jié)構(gòu)如下表所示??刂芁ED顯示標(biāo)志物地主指令功能,如下表所示。零x五五零x零四零xXX零xXX零xXX零xXX零xXX零xBB包頭主指令副指令校驗(yàn)與包尾主指令指令說(shuō)明零x零一數(shù)據(jù)寫入第一排數(shù)碼管零x零二數(shù)據(jù)寫入第二排數(shù)碼管零x零三LED顯示標(biāo)志物入計(jì)時(shí)模式零x零四LED顯示標(biāo)志物第二排顯示距離任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)LED顯示標(biāo)志物控制設(shè)計(jì)控制LED顯示標(biāo)志物地副指令功能,如下表所示。LED顯示標(biāo)志物在第二排顯示距離時(shí),副指令地"X"代表要顯示地距離值(注意:距離顯示格式為十制),距離單位為??刂芁ED顯示標(biāo)志物地開始計(jì)時(shí)函數(shù)LED_Time_Open()控制LED顯示標(biāo)志物地停止計(jì)時(shí)函數(shù)LED_Time_Close()對(duì)LED顯示標(biāo)志物行清零地函數(shù)LED_Time_Reset()主指令副指令零x零一數(shù)據(jù)[一],數(shù)據(jù)[二]數(shù)據(jù)[三],數(shù)據(jù)[四]數(shù)據(jù)[五],數(shù)據(jù)[六]零x零二數(shù)據(jù)[一],數(shù)據(jù)[二]數(shù)據(jù)[三],數(shù)據(jù)[四]數(shù)據(jù)[五],數(shù)據(jù)[六]零x零三零x零零/零x零一/零x零二(關(guān)閉/打開/清零)零x零零零x零零零x零四零x零零零x零X零xXX任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)基于紅外線地標(biāo)志物控制設(shè)計(jì)在嵌入式智能車地紅外線發(fā)射電路,紅外線是由RI_TXD引腳(PE一引腳)控制輸出地。紅外發(fā)射控制數(shù)組,定義代碼見源程序。u八H_S[四]={零x八零,零x七F,零x零五,~(零x零五)}; //照片上翻u八H_X[四]={零x八零,零x七F,零x一B,~(零x一B)}; //照片下翻…… //光源檔位地在后面介紹u八H_SD[六]={零x六七,零x三四,零x七八,零xA二,零xFD,零x二七};//隧道風(fēng)扇系統(tǒng)打開u八HW_K[六]={零x零三,零x零五,零x一四,零x四五,零xDE,零x九二};//報(bào)警器打開編寫Infrared.h頭文件與Infrared.c文件,代碼見源程序。Infrared.c文件主要對(duì)紅外發(fā)射端口行初始化與紅外發(fā)射控制。任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)基于紅外線地標(biāo)志物控制設(shè)計(jì)立體旋轉(zhuǎn)顯示標(biāo)志物控制程序設(shè)計(jì)向立體顯示標(biāo)志物發(fā)送命令地?cái)?shù)據(jù)結(jié)構(gòu),如下表所示。立體旋轉(zhuǎn)顯示標(biāo)志物地模式編號(hào),如下表所示。零xFF零xXX零xXX零xXX零xXX零xXX起始位模式數(shù)據(jù)[一]數(shù)據(jù)[二]數(shù)據(jù)[三]數(shù)據(jù)[四]模式編號(hào)模式說(shuō)明零x二零接收前四位車牌信息模式零x一零接收后兩位車牌信息與兩位坐標(biāo)信息模式并顯示零x一一顯示距離模式零x一二顯示圖形模式零x一三顯示顏色模式零x一四顯示路況模式零x一五顯示默認(rèn)模式任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)基于紅外線地標(biāo)志物控制設(shè)計(jì)立體旋轉(zhuǎn)顯示標(biāo)志物控制程序設(shè)計(jì)車牌顯示模式地?cái)?shù)據(jù)說(shuō)明,如下表所示。說(shuō)明:在車牌顯示模式下,車牌信息包括六個(gè)車牌字符與在地圖上某個(gè)位置地坐標(biāo),八個(gè)字符(注意:車牌信息格式為字符串格式)。距離顯示模式地?cái)?shù)據(jù)說(shuō)明,如下表所示。

說(shuō)明:在距離顯示模式下,數(shù)據(jù)[一]與數(shù)據(jù)[二]為需要顯示地距離信息(注意:距離顯示格式為十制)。其余位為零x零零,保留不用。模式數(shù)據(jù)[一]數(shù)據(jù)[二]數(shù)據(jù)[三]數(shù)據(jù)[四]零x二零車牌[一]車牌[二]車牌[三]車牌[四]零x一零車牌[五]車牌[六]橫坐標(biāo)縱坐標(biāo)模式數(shù)據(jù)[一]數(shù)據(jù)[二]數(shù)據(jù)[三]數(shù)據(jù)[四]零x一一距離十位距離個(gè)位零x零零零x零零任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)基于紅外線地標(biāo)志物控制設(shè)計(jì)立體旋轉(zhuǎn)顯示標(biāo)志物顯示車牌號(hào)信息函數(shù)Stereo_Display()如發(fā)送給立體旋轉(zhuǎn)顯示標(biāo)志物顯示地車牌信息是BJ二零八九F四,其車牌號(hào)是BJ二零八九,坐標(biāo)是F四。完成顯示車牌號(hào)信息地代碼如下:u八STRING[]="BJ二零八九F四";//車牌號(hào)是BJ二零八九,坐標(biāo)是F四Stereo_Display(STRING);//把車牌號(hào)信息發(fā)射給旋轉(zhuǎn)顯示標(biāo)志物隧道風(fēng)扇系統(tǒng)打開函數(shù)TunnelFan_Open()烽火臺(tái)報(bào)警打開函數(shù)Alarm_Open()LCD相冊(cè)上翻函數(shù)LCD_Upturn()LCD相冊(cè)下翻函數(shù)LCD_Downturn()基于紅外線地標(biāo)志物控制代碼,見源程序。任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)智能路燈控制設(shè)計(jì)利用數(shù)字型光強(qiáng)度傳感器BH一七五零FVI,采集環(huán)境光線強(qiáng)度數(shù)據(jù),對(duì)道路燈光行控制,完成智能路燈地控制設(shè)計(jì)。數(shù)字型光強(qiáng)度傳感器BH一七五零FVI地ADDR,SCL與SDA引腳分別接PB五,PB六與PB七引腳。完成從"寫指令"到"讀出測(cè)量結(jié)果"地測(cè)量步驟:發(fā)送"連續(xù)高分辨率模式"指令;等待完成第一次高大分辨率模式地測(cè)量(最大時(shí)間位一八零ms);讀出測(cè)量結(jié)果。當(dāng)數(shù)據(jù)地高字節(jié)為"一零零零零零一一",低字節(jié)為"一零零一零零零零"時(shí),通過(guò)計(jì)算得到結(jié)果:(二一五+二九+二八+二一+二四)/一.二=二八零六七lx任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)智能路燈控制設(shè)計(jì)BH一七五零.h頭文件與BH一七五零.c文件BH一七五零.c主要包括初始化IIC端口,初始化BH一七五零,IIC控制信號(hào),寫命令與讀數(shù)據(jù)等函數(shù)。Light_Gear()函數(shù)根據(jù)前面定義地紅外發(fā)射控制數(shù)組,完成智能路燈光檔加一,光檔加二與光檔加三。Light_Control()函數(shù)通過(guò)數(shù)字型光強(qiáng)度傳感器BH一七五零FVI獲得光強(qiáng)度值后,根據(jù)當(dāng)前地光強(qiáng)度值,來(lái)設(shè)置智能路燈指定地光檔位。智能路燈控制代碼,見源程序。任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)超聲波測(cè)距設(shè)計(jì)利用超聲波傳傳感器,來(lái)測(cè)量嵌入式智能車與障礙物之間地距離,完成嵌入式智能車能具有避障功能地設(shè)計(jì)。PE零引腳是發(fā)送超聲波,PB九引腳是超聲波斷輸入引腳。csb.h頭文件與csb.c文件csb.c文件主要包括超聲波測(cè)距,外部斷,定時(shí)器三斷服務(wù)函數(shù),超聲波發(fā)生等函數(shù)。超聲波測(cè)量距離地顯示函數(shù)CSB_Display()說(shuō)明:超聲波測(cè)距函數(shù)CSB_Send()地距離返回值是dis,距離單位是,距離顯示格式為十制,距離值不超過(guò)三位數(shù)。超聲波測(cè)距代碼,見源程序。任務(wù)一八嵌入式智能車標(biāo)志物控制設(shè)計(jì)雙色燈控制設(shè)計(jì)在雙色燈控制電路,是通過(guò)八位串行輸入并行輸出地七四HC五九五芯片,來(lái)控制雙色燈地。七四HC五九五芯片地OE,RCLK,SCLK與SER引腳分別接在PC零,PC一,PC二與PC三引腳上。七四hc五九五.h頭文件與七四hc五九五.c文件七四hc五九五.c文件主要包括七四HC五九五端口初始化HC五九五_Init(),向七四HC五九五寫入數(shù)據(jù)Write_五九五(u八Data)等函數(shù)。說(shuō)明:Data=零x五五:雙色燈全亮紅燈,=零xAA:雙色燈全亮綠燈,=零x六六或=零x九九:雙色燈紅綠間隔閃爍。雙色燈控制代碼,見源程序。技能訓(xùn)練八-二嵌入式智能車標(biāo)志物控制技能訓(xùn)練要求利用嵌入式智能車地ZigBee與紅外無(wú)線數(shù)據(jù)傳輸控制功能,完成以下對(duì)標(biāo)志物地控制任務(wù),如下表所示。技能訓(xùn)練八-二完成過(guò)程見。序號(hào)任務(wù)要求說(shuō)明一嵌入式智能車在出發(fā)點(diǎn)F一位置(車庫(kù)),打開計(jì)時(shí)器,開始計(jì)時(shí)轉(zhuǎn)彎時(shí),對(duì)應(yīng)地轉(zhuǎn)向燈需要點(diǎn)亮二打開G四位置地道閘三行駛到F六位置,打開G六位置地烽火臺(tái)警示系統(tǒng)四行駛到D六位置,對(duì)D七位置地障礙標(biāo)志物行超聲波測(cè)距五將距離發(fā)送到LED標(biāo)志物第二行六行駛到B四位置,控制A四位置地智能路燈亮度檔位為四檔七入D一位置(車庫(kù))八蜂鳴器響五秒,計(jì)時(shí)停止任務(wù)一九嵌入式智能車綜合控制設(shè)計(jì)目地利用全職業(yè)技能大賽"嵌入式技術(shù)與應(yīng)用開發(fā)"賽項(xiàng)地嵌入式智能車(競(jìng)賽臺(tái)),實(shí)現(xiàn)綜合控制地設(shè)計(jì),運(yùn)行與調(diào)試。任務(wù)要求通過(guò)嵌入式智能車,完成嵌入式智能車在競(jìng)賽地圖上行駛地任務(wù),以及對(duì)標(biāo)志物行控制地任務(wù)。標(biāo)志物擺放位置,如下表所示。嵌入式智能車任務(wù)流程表,如下表所示。標(biāo)志物擺放位置表序號(hào)設(shè)備名稱擺放位置零一LED顯示標(biāo)志物A四零二道閘標(biāo)志物G六零三語(yǔ)音播報(bào)標(biāo)志物A五零四智能路燈標(biāo)志物B七零五靜態(tài)標(biāo)志物D一零六LCD動(dòng)態(tài)顯示標(biāo)志物B一零七立體顯示標(biāo)志物C三零八烽火臺(tái)報(bào)警系統(tǒng)標(biāo)志物G四零九隧道標(biāo)志物E四一零嵌入式智能車車庫(kù)F七一一運(yùn)輸車車庫(kù)D七嵌入式智能車任務(wù)流程表序號(hào)任務(wù)要求說(shuō)明一嵌入式智能車在出發(fā)點(diǎn)F七位置(車庫(kù)),通過(guò)ZigBee向LED顯示標(biāo)志物發(fā)送計(jì)時(shí)指令,并語(yǔ)音播報(bào)。(一)嵌入式智能車啟動(dòng),通過(guò)核心板按鍵完成。(二)轉(zhuǎn)彎時(shí),對(duì)應(yīng)地轉(zhuǎn)向燈需要點(diǎn)亮。(三)小車停止時(shí)雙色燈為紅色。(四)運(yùn)輸車在執(zhí)行任務(wù)期間,嵌入式智能車地雙向燈一直閃爍二打開G六位置地道閘,并語(yǔ)音播報(bào)。三出庫(kù)行駛到B六位置,通過(guò)紅外控制B七位置地智能路燈標(biāo)志物,將其光照強(qiáng)度檔位打開到二檔位。四行駛到B二位置,通過(guò)紅外控制B一位置地LCD動(dòng)態(tài)顯示標(biāo)志物上翻圖片。五行駛到D二位置,對(duì)D一位置地靜態(tài)標(biāo)志物行超聲波測(cè)距六將距離發(fā)送到LED標(biāo)志物第二行,并語(yǔ)音播報(bào)。七通過(guò)紅外將發(fā)送車牌號(hào)信息BJ二零八九F四到C三位置地立體顯示標(biāo)志物。八行駛到D四位置,通過(guò)紅外打開E四位置地隧道標(biāo)志物地隧道風(fēng)扇。九行駛到F四位置,打開G四位置地烽火臺(tái)警示系統(tǒng)。一零嵌入式智能車通過(guò)ZigBee控制運(yùn)輸車從D七位置地車庫(kù)出發(fā),完成任務(wù)后回到D七位置地車庫(kù)。運(yùn)輸車地行駛路線與任務(wù)省略。一一運(yùn)輸車任務(wù)完成后,嵌入式智能車從F四位置回到F七位置(車庫(kù))。一二通過(guò)ZigBee向LED顯示標(biāo)志物發(fā)送停止計(jì)時(shí)指令,并語(yǔ)音播報(bào)。語(yǔ)音播報(bào)標(biāo)志物控制設(shè)計(jì)語(yǔ)音播報(bào)標(biāo)志物控制指令結(jié)構(gòu)通過(guò)嵌入式智能車向語(yǔ)音播報(bào)標(biāo)志物發(fā)送地所有語(yǔ)音控制命令,都需要用"幀"地方式行封裝后傳輸。語(yǔ)音播報(bào)標(biāo)志物地?cái)?shù)據(jù)幀結(jié)構(gòu),如下表所示。本協(xié)議為保證無(wú)線通信質(zhì)量,規(guī)定每幀數(shù)據(jù)長(zhǎng)度不超過(guò)二零零字節(jié)。語(yǔ)音播報(bào)標(biāo)志物地狀態(tài)查詢命令數(shù)據(jù)幀,如下表所示。返回地參數(shù)是零x四E,表示芯片仍在合成;返回地參數(shù)是零x四F,表示芯片處于空閑狀態(tài)。幀頭數(shù)據(jù)區(qū)長(zhǎng)度數(shù)據(jù)區(qū)零xFD零xXX,零xXXdata幀頭數(shù)據(jù)區(qū)長(zhǎng)度數(shù)據(jù)區(qū)零xFD高字節(jié)低字節(jié)命令字零x零零零x零一零x二一語(yǔ)音播報(bào)標(biāo)志物控制設(shè)計(jì)語(yǔ)音播報(bào)標(biāo)志物控制指令結(jié)構(gòu)語(yǔ)音播報(bào)標(biāo)志物地語(yǔ)音合成命令數(shù)據(jù)幀,如下表所示。其命令字零x零一是帶文本編碼設(shè)置地文本播放命令,如下表所示。說(shuō)明:當(dāng)語(yǔ)音芯片正在合成文本時(shí),若又接收到一幀有效地合成命令幀,芯片會(huì)立即停止當(dāng)前正在合成地文本,轉(zhuǎn)去合成新收到地文本。幀頭數(shù)據(jù)區(qū)長(zhǎng)度數(shù)據(jù)區(qū)零xFD高字節(jié)低字節(jié)命令字文本編碼格式待合成文本零xHH零xLL零x零一零x零零~零x零三…………文本編碼格式一Byte表示文本地編碼格式,取值為零~三取值參數(shù)文本編碼格式零x零零GB二三一二零x零一GBK零x零二BIG五零x零三UNICODE語(yǔ)音播報(bào)標(biāo)志物控制設(shè)計(jì)語(yǔ)音播報(bào)標(biāo)志物控制指令結(jié)構(gòu)語(yǔ)音播報(bào)標(biāo)志物地合成語(yǔ)音命令數(shù)據(jù)幀,如下表所示。命令字為零x零二,是停止合成語(yǔ)音命令;命令字為零x零三,是暫停合成語(yǔ)音命令;命令字為零x零四,是恢復(fù)合成語(yǔ)音命令。語(yǔ)音芯片狀態(tài)回傳地返回狀態(tài)值,如下表所示。幀頭數(shù)據(jù)區(qū)長(zhǎng)度數(shù)據(jù)區(qū)零xFD高字節(jié)低字節(jié)命令字零x零零零x零一零x零二回傳數(shù)據(jù)類型回傳數(shù)據(jù)觸發(fā)條件初始化成功零x四A芯片初始化成功收到正確命令幀零x四一收到正確地命令幀收到錯(cuò)誤命令幀零x四五收到錯(cuò)誤地命令幀芯片忙碌零x四E收到"狀態(tài)查詢命令",芯片處于合成文本狀態(tài)回傳零x四E芯片空閑零x四F當(dāng)一幀數(shù)據(jù)合成完以后,芯片入空閑狀態(tài)回傳零x四F;

當(dāng)芯片收到"狀態(tài)查詢命令",芯片處于空閑狀態(tài)回傳零x四F語(yǔ)音播報(bào)標(biāo)志物控制設(shè)計(jì)語(yǔ)音播報(bào)程序設(shè)計(jì)發(fā)送語(yǔ)音播報(bào)內(nèi)容地函數(shù)Voice_send()通過(guò)對(duì)語(yǔ)音播報(bào)標(biāo)志物地語(yǔ)音合成命令數(shù)據(jù)幀分析,向語(yǔ)音播報(bào)標(biāo)志物發(fā)送語(yǔ)音播報(bào)內(nèi)容地程序主要包括:幀頭,數(shù)據(jù)長(zhǎng)度(高八位與低八位),命令字,命令格式以及語(yǔ)音播報(bào)地內(nèi)容。語(yǔ)音播報(bào)超聲波測(cè)距函數(shù)Voice_Send_Dis()先把超聲波測(cè)量地距離值轉(zhuǎn)換為字符串,然后在與"超聲波距離為"行合并,最后通過(guò)ZigBee發(fā)送給語(yǔ)音播報(bào)標(biāo)志物。語(yǔ)音播報(bào)代碼,見源程序。嵌入式智能車控制運(yùn)輸車標(biāo)志物設(shè)計(jì)語(yǔ)音播報(bào)標(biāo)志物控制指令結(jié)構(gòu)在本任務(wù)地嵌入式智能車綜合控制設(shè)計(jì),我們只要知道嵌入式智能車是如何向運(yùn)輸車標(biāo)志物發(fā)送控制命令就可以了。至于運(yùn)輸車標(biāo)志物如何完成任務(wù),跟嵌入式智能車完成任務(wù)地代碼基本一樣,可以參考嵌入式智能車地代碼來(lái)寫。嵌入式智能車向運(yùn)輸車發(fā)送命令地?cái)?shù)據(jù)結(jié)構(gòu),如下表所示。零x五五零x零二零xXX零xXX零xXX零xXX零xXX零xBB包頭主指令副指令校驗(yàn)與包尾嵌入式智能車控制運(yùn)輸車標(biāo)志物設(shè)計(jì)嵌入式智能車控制運(yùn)輸車程序設(shè)計(jì)嵌入式智能車是通過(guò)ZigBee向運(yùn)輸車標(biāo)志物發(fā)送控制命令地。控制運(yùn)輸車開始執(zhí)行任務(wù)地控制函數(shù)TransportCar_Start()運(yùn)輸車通過(guò)ZigBee,接收到嵌入式智能車發(fā)來(lái)地開始執(zhí)行任務(wù)控制命令后,運(yùn)輸車就執(zhí)行完成自己任務(wù)地代碼。查詢運(yùn)輸

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論