freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于距離感知的自動玩具小車系統(tǒng)的設(shè)計實現(xiàn)畢業(yè)論文-資料下載頁

2025-07-14 14:32本頁面
  

【正文】 ”設(shè)置設(shè)備名稱AT+NAMEParamOK查詢模塊角色AT+ROLE+ROLE=ParamOKParam:參數(shù)取值如下:0 從角色(Slave)1 主角色(Master)默認(rèn)值:0設(shè)置模塊角色AT+ROLEParamOK查詢配對碼AT+PIN+PIN=ParamOKParam:配對碼默認(rèn)值:“1234”設(shè)置配對碼AT+PINParamOK查詢串口波特率AT+BAUD+BAUD=ParamOKParam:波特率1—12002—24003—48004—96005—192006—384007—576008—1152009—230400A—460800B—921600C—1382400默認(rèn):4—9600設(shè)置串口波特率AT+BAUDParamOK 下位機(jī)程序設(shè)計下位機(jī)的程序開發(fā)環(huán)境為Keil uVision4,開發(fā)語言為C52。C52的語法規(guī)則與標(biāo)準(zhǔn)C類似,但是比標(biāo)準(zhǔn)C更接近底層,也比匯編更接近高級語言,對于單片機(jī)的程序開發(fā)提供了很方便的庫和開發(fā)方法,可以提高下位機(jī)程序的開發(fā)效率。 程序的主要組成部分系統(tǒng)程序主要包括環(huán)境數(shù)據(jù)采集與處理、小車控制、數(shù)據(jù)上傳三個部分,主程序的流程圖如下:開始初始化下位機(jī)狀態(tài)及中斷(中斷)是否接受到指令?NY是否為小車運行控制指令?Y執(zhí)行指令,控制小車運行N環(huán)境數(shù)據(jù)采集與處理上傳環(huán)境數(shù)據(jù)結(jié)束串口中斷子程序清接受標(biāo)志RI讀接受緩沖區(qū)指令SBUF設(shè)置接收標(biāo)志CONTROL_FLAG返回主程序是否有障礙物且不是倒退與檢測指令?N停止小車運行Y圖311 主程序及中斷子程序流程圖小車控制部分可以根據(jù)表21和表33來實現(xiàn),當(dāng)檢測到有新指令接收到,即CONTROL_FLAG為1時,通過switch語句對不同的指令做相應(yīng)的操作,實現(xiàn)代碼如下:switch (CMD) { case TURN_LEFT://左轉(zhuǎn)指令 if (BACK_FLAG == ON) { BACK_FLAG=OFF。 stop_car()。 delay_ms(300)。//直流電機(jī)瞬間倒轉(zhuǎn)前做停止延時操作 } CAR_STATE=ON。 MOTOR_IN11=OFF。 MOTOR_IN12=OFF。 MOTOR_IN21=ON。 MOTOR_IN22=OFF。 break。 case TURN_RIGHT://右轉(zhuǎn) if (BACK_FLAG == ON) { BACK_FLAG=OFF。 stop_car()。 delay_ms(300)。 //直流電機(jī)瞬間倒轉(zhuǎn)前做停止延時操作 } CAR_STATE=ON。 MOTOR_IN11=ON。 MOTOR_IN12=OFF。 MOTOR_IN21=OFF。 MOTOR_IN22=OFF。 break。 case RUN://前進(jìn) if (BACK_FLAG == ON) { BACK_FLAG=OFF。 stop_car()。 delay_ms(300)。 //直流電機(jī)瞬間倒轉(zhuǎn)前做停止延時操作 } CAR_STATE=ON。 MOTOR_IN11=ON。 MOTOR_IN12=OFF。 MOTOR_IN21=ON。 MOTOR_IN22=OFF。 break。 case STOP://停止指令 CAR_STATE=OFF。 BACK_FLAG=OFF。 stop_car()。 break。 case BACK://后退指令 BACK_FLAG=ON。 if (CAR_STATE == ON) { CAR_STATE=OFF。 stop_car()。 delay_ms(300)。 //直流電機(jī)瞬間倒轉(zhuǎn)前做停止延時操作 } MOTOR_IN11=OFF。 MOTOR_IN12=ON。 MOTOR_IN21=OFF。 MOTOR_IN22=ON。 break。 case CHECK_CMD://檢測指令 if (CAR_STATE == 0) { check()。//檢測環(huán)境 send_msg()。//上傳數(shù)據(jù) } break。 }在case CHECK_CMD中,分別是環(huán)境數(shù)據(jù)檢測與處理check()和數(shù)據(jù)上傳操作send_msg()。check()中,主要做兩件事,一件事是從傳感器獲取環(huán)境參數(shù)值,另一件事是將獲得的原始數(shù)據(jù)稍作處理并把數(shù)據(jù)打包以便上傳。數(shù)據(jù)打包完后,就可以send_msg()了。 程序文件的結(jié)構(gòu)對于一般的C52開發(fā),當(dāng)程序較小時,對于本次課題,由于程序量較大,且不同的傳感器對應(yīng)著不同的總線時序,此時若將所有代碼放入一個文件中不方便閱讀,也顯得很混亂。在Keil中開發(fā)下位機(jī)程序時,命名規(guī)則就是傳感器的名稱,這樣,方便調(diào)試和修改。,,第四章 系統(tǒng)整體調(diào)試 上位機(jī)程序調(diào)試上位機(jī)程序,即Android應(yīng)用程序是在Eclipse開發(fā)環(huán)境,Android應(yīng)用程序一般來說可以通過啟動模擬器來實現(xiàn)調(diào)試,但是由于模擬器沒有藍(lán)牙功能,故本次Android程序的調(diào)試是通過將真機(jī)用USB與電腦連接然后做調(diào)試的。在程序中,我添加了很多調(diào)試點,()方法就可以在調(diào)試窗口看到設(shè)置調(diào)試斷點的信息,調(diào)試信息如下所示:圖41 Eclipse調(diào)試窗口將需要調(diào)試的應(yīng)用程序安裝到手機(jī)上后,就可以點擊界面上每個按鈕,如果沒有報錯信息,且調(diào)試信息輸出正常,說明沒有問題。 下位機(jī)調(diào)試 硬件調(diào)試將硬件連接前,需要對每個模塊進(jìn)行調(diào)試,以確保每個模塊能正常工作。首先要將VCC和GND用萬用電表測量電壓和正負(fù)極,防止因設(shè)計和焊接問題而導(dǎo)致模塊燒毀等問題出現(xiàn)。測量無誤后,將各個模塊的電源引腳接入開發(fā)板,一般的模塊都有電源指示燈,若顯示正常,則說明模塊的電源沒問題。圖42 DHT11模塊調(diào)試圖圖43 MQ2模塊調(diào)試圖圖44 SPPCA藍(lán)牙模塊調(diào)試圖 軟件調(diào)試 軟件的調(diào)試一般來說主要包括兩部分,分別是keil C52開發(fā)時的語法邏輯調(diào)試和開發(fā)板上實際功能調(diào)試。語法錯誤一般在keil中的編譯階段可以報錯,主要是功能的調(diào)試。 由于不知道硬件中真正做了什么事,所以軟件調(diào)試起來相對麻煩。為了方便查看哪部分的軟件有問題,我設(shè)置了一些硬件顯示來作為軟件的調(diào)試斷點。軟件功能調(diào)試的最重要部分就是上下位機(jī)通信的問題,而軟件是通過中斷的方式來接收由上位機(jī)發(fā)送的指令的,所以,我在中斷函數(shù)中添加了P0=~P0這段代碼,P0與LED燈相連,當(dāng)有指令接收到時LED燈會由亮變暗或者由暗變亮這種閃爍。通過這種方式可以了解下位機(jī)是否接收到指令。當(dāng)然,為了能更好的了解接收指令的內(nèi)容,可以將指令發(fā)送到P0口,即P0=CMD,這樣通過LED的顯示可以知道接收到指令的內(nèi)容,不過顯示的是指令二進(jìn)制數(shù)。第四章 系統(tǒng)測試與分析 測試過程 檢查好連接后,就可以給小車通電。調(diào)試時用的是電源適配器,但是實際測試時小車是要實際跑動起來的,所以,小車的電源就改為了電池。通電后,分別按下電池電源開關(guān),單片機(jī)電源開關(guān),直流電機(jī)開關(guān),全部打開后,檢查每個傳感器模塊的電源指示燈是否顯示正常,若不正常需要斷電檢查并解決問題。藍(lán)牙模塊在沒有與其他設(shè)備建立連接時電源燈處于閃爍狀態(tài)。小車一切正常時,打開手機(jī)APP,點擊“藍(lán)牙開”按鈕,點擊后按鈕會變?yōu)椤八{(lán)牙關(guān)”,稍等一會兒,可以在狀態(tài)欄上看到藍(lán)牙標(biāo)志出現(xiàn),說明手機(jī)藍(lán)牙設(shè)備已經(jīng)打開,然后點擊“搜索”按鈕,可以看到按鈕下方出現(xiàn)已配對和未配對的藍(lán)牙設(shè)備,尋找下位機(jī)的SPPCA藍(lán)牙模塊,這里已經(jīng)將SPPCA藍(lán)牙模塊的名稱改為了“designSGM”,點擊連接。若是已經(jīng)配對過的,則可以直接連接;若未配對,點擊后會彈出輸入配對碼的對話框,這里的配對碼是默認(rèn)的“1234”,輸入,確定。上述兩種情況連接成功后會有“連接成功”的Toast提示。連接成功后,可以發(fā)現(xiàn)SPPCA藍(lán)牙模塊的電源指示燈由閃爍變?yōu)榱碎L亮,這說明連接成功了。連接成功后,點擊“控制”按鈕,就跳轉(zhuǎn)到了車的控制界面。搖動模擬搖桿,小車便可以隨搖桿搖動的方向移動,釋放搖桿后,小車自動停止。小車停止時點擊“檢測”按鈕,屏幕中間便顯示出了小車所處位置的環(huán)境信息。 測試結(jié)果通電后,小車的狀態(tài)見下圖:圖45 小車通電后狀態(tài)打開APP:圖46 APP打開界面搜索藍(lán)牙:圖47 搜索藍(lán)牙界面連接成功,進(jìn)入控制界面:圖48 前進(jìn)圖49 右轉(zhuǎn)圖410 左轉(zhuǎn)圖411 倒退檢測環(huán)境:圖412 環(huán)境信息顯示 結(jié)果分析小車對上位機(jī)的指令響應(yīng)時間很短,所以小車的控制很靈敏,當(dāng)小車停止后,可以根據(jù)顯示的環(huán)境信息來判斷小車指定地點的環(huán)境情況,從而做出相應(yīng)決策。當(dāng)小車遇到障礙物時,小車自動停止,可以通過后退指令讓小車遠(yuǎn)離障礙物。結(jié) 論本次的系統(tǒng)設(shè)計是從人們很關(guān)注的一個點—安全出發(fā)參考文獻(xiàn)[1] 王向輝,張國印,賴明珠. Android應(yīng)用程序開發(fā)(第二版)[M]. 北京:清華大學(xué)出版社,2012.[2] 李寧. Android應(yīng)用開發(fā)實戰(zhàn)(第2版)[M]. 北京:機(jī)械工業(yè)出版社,2012.[3] 林長青,成海量. 基于Android系統(tǒng)和藍(lán)牙通信的手機(jī)遙控車設(shè)計[J]. 山西電子技術(shù), 2012. [4] 李華明. Android游戲開發(fā)二十四:360176。平滑游戲搖桿(觸屏方向?qū)Ш剑OL].2011. [5] 張毅剛,彭喜元,姜守達(dá)等. 新編MCS52單片機(jī)應(yīng)用設(shè)計(第3版)[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008.[6] 劉彥文,張向東,譚峰. 微型計算機(jī)原理與接口技術(shù)[M]. 北京:中國林業(yè)出版社;北京大學(xué)出版社,2006.[7] DHT11中文說明書[OL]. .[8] Michael McRoberts著,楊繼志,郭敬譯. Arduino從基礎(chǔ)到實踐[M]. 北京:電子工業(yè)出版社,2013.[9] 王成華,潘雙來,江愛華. 電路與模擬電子學(xué)(第二版)[M]. 北京:科學(xué)出版社,2007.[10] 談敏,劉高平,陳紅良. 基于手機(jī)藍(lán)牙接口的小車遙控系統(tǒng)[N]. 浙江萬里學(xué)院學(xué)報,2012.致謝
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1