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

正文內(nèi)容

基于距離感知的自動玩具小車系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)畢業(yè)論文(參考版)

2025-07-17 14:32本頁面
  

【正文】 平滑游戲搖桿(觸屏方向?qū)Ш剑OL].2011. [5] 張毅剛,彭喜元,姜守達(dá)等. 新編MCS52單片機(jī)應(yīng)用設(shè)計(jì)(第3版)[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008.[6] 劉彥文,張向東,譚峰. 微型計(jì)算機(jī)原理與接口技術(shù)[M]. 北京:中國林業(yè)出版社;北京大學(xué)出版社,2006.[7] DHT11中文說明書[OL]. .[8] Michael McRoberts著,楊繼志,郭敬譯. Arduino從基礎(chǔ)到實(shí)踐[M]. 北京:電子工業(yè)出版社,2013.[9] 王成華,潘雙來,江愛華. 電路與模擬電子學(xué)(第二版)[M]. 北京:科學(xué)出版社,2007.[10] 談敏,劉高平,陳紅良. 基于手機(jī)藍(lán)牙接口的小車遙控系統(tǒng)[N]. 浙江萬里學(xué)院學(xué)報(bào),2012.致謝。當(dāng)小車遇到障礙物時(shí),小車自動停止,可以通過后退指令讓小車遠(yuǎn)離障礙物。小車停止時(shí)點(diǎn)擊“檢測”按鈕,屏幕中間便顯示出了小車所處位置的環(huán)境信息。連接成功后,點(diǎn)擊“控制”按鈕,就跳轉(zhuǎn)到了車的控制界面。上述兩種情況連接成功后會有“連接成功”的Toast提示。小車一切正常時(shí),打開手機(jī)APP,點(diǎn)擊“藍(lán)牙開”按鈕,點(diǎn)擊后按鈕會變?yōu)椤八{(lán)牙關(guān)”,稍等一會兒,可以在狀態(tài)欄上看到藍(lán)牙標(biāo)志出現(xiàn),說明手機(jī)藍(lán)牙設(shè)備已經(jīng)打開,然后點(diǎn)擊“搜索”按鈕,可以看到按鈕下方出現(xiàn)已配對和未配對的藍(lán)牙設(shè)備,尋找下位機(jī)的SPPCA藍(lán)牙模塊,這里已經(jīng)將SPPCA藍(lán)牙模塊的名稱改為了“designSGM”,點(diǎn)擊連接。通電后,分別按下電池電源開關(guān),單片機(jī)電源開關(guān),直流電機(jī)開關(guān),全部打開后,檢查每個(gè)傳感器模塊的電源指示燈是否顯示正常,若不正常需要斷電檢查并解決問題。第四章 系統(tǒng)測試與分析 測試過程 檢查好連接后,就可以給小車通電。通過這種方式可以了解下位機(jī)是否接收到指令。為了方便查看哪部分的軟件有問題,我設(shè)置了一些硬件顯示來作為軟件的調(diào)試斷點(diǎn)。語法錯(cuò)誤一般在keil中的編譯階段可以報(bào)錯(cuò),主要是功能的調(diào)試。測量無誤后,將各個(gè)模塊的電源引腳接入開發(fā)板,一般的模塊都有電源指示燈,若顯示正常,則說明模塊的電源沒問題。 下位機(jī)調(diào)試 硬件調(diào)試將硬件連接前,需要對每個(gè)模塊進(jìn)行調(diào)試,以確保每個(gè)模塊能正常工作。第四章 系統(tǒng)整體調(diào)試 上位機(jī)程序調(diào)試上位機(jī)程序,即Android應(yīng)用程序是在Eclipse開發(fā)環(huán)境,Android應(yīng)用程序一般來說可以通過啟動模擬器來實(shí)現(xiàn)調(diào)試,但是由于模擬器沒有藍(lán)牙功能,故本次Android程序的調(diào)試是通過將真機(jī)用USB與電腦連接然后做調(diào)試的。 程序文件的結(jié)構(gòu)對于一般的C52開發(fā),當(dāng)程序較小時(shí),對于本次課題,由于程序量較大,且不同的傳感器對應(yīng)著不同的總線時(shí)序,此時(shí)若將所有代碼放入一個(gè)文件中不方便閱讀,也顯得很混亂。check()中,主要做兩件事,一件事是從傳感器獲取環(huán)境參數(shù)值,另一件事是將獲得的原始數(shù)據(jù)稍作處理并把數(shù)據(jù)打包以便上傳。//上傳數(shù)據(jù) } break。 case CHECK_CMD://檢測指令 if (CAR_STATE == 0) { check()。 MOTOR_IN22=ON。 MOTOR_IN12=ON。 delay_ms(300)。 if (CAR_STATE == ON) { CAR_STATE=OFF。 break。 BACK_FLAG=OFF。 break。 MOTOR_IN21=ON。 MOTOR_IN11=ON。 delay_ms(300)。 case RUN://前進(jìn) if (BACK_FLAG == ON) { BACK_FLAG=OFF。 MOTOR_IN22=OFF。 MOTOR_IN12=OFF。 //直流電機(jī)瞬間倒轉(zhuǎn)前做停止延時(shí)操作 } CAR_STATE=ON。 stop_car()。 break。 MOTOR_IN21=ON。 MOTOR_IN11=OFF。 delay_ms(300)。 程序的主要組成部分系統(tǒng)程序主要包括環(huán)境數(shù)據(jù)采集與處理、小車控制、數(shù)據(jù)上傳三個(gè)部分,主程序的流程圖如下:開始初始化下位機(jī)狀態(tài)及中斷(中斷)是否接受到指令?NY是否為小車運(yùn)行控制指令?Y執(zhí)行指令,控制小車運(yùn)行N環(huán)境數(shù)據(jù)采集與處理上傳環(huán)境數(shù)據(jù)結(jié)束串口中斷子程序清接受標(biāo)志RI讀接受緩沖區(qū)指令SBUF設(shè)置接收標(biāo)志CONTROL_FLAG返回主程序是否有障礙物且不是倒退與檢測指令?N停止小車運(yùn)行Y圖311 主程序及中斷子程序流程圖小車控制部分可以根據(jù)表21和表33來實(shí)現(xiàn),當(dāng)檢測到有新指令接收到,即CONTROL_FLAG為1時(shí),通過switch語句對不同的指令做相應(yīng)的操作,實(shí)現(xiàn)代碼如下:switch (CMD) { case TURN_LEFT://左轉(zhuǎn)指令 if (BACK_FLAG == ON) { BACK_FLAG=OFF??梢酝ㄟ^串口發(fā)送指令到藍(lán)牙模塊以便設(shè)置SPPCA模塊的內(nèi)部參數(shù)及屬性,SPPCA模塊的主要指令如下表(發(fā)送AT指令時(shí)需要加回車換行):表34 SPPCA藍(lán)牙串口模塊指令表功能指令響應(yīng)參數(shù)測試指令A(yù)TOK無模塊復(fù)位(重啟)AT+RESETOK無獲取版本號AT+VERSION+VERSION=ParamOKParam:版本號恢復(fù)默認(rèn)狀態(tài)AT+DEFAULTOK無查詢藍(lán)牙地址碼AT+LADDR+LADDR=ParamOKParam:地址碼默認(rèn)地址碼:“AA:BB:CC:11:22:33”設(shè)置藍(lán)牙地址碼AT+LADDRParamOK查詢設(shè)備名稱AT+NAME+NAME=ParamOKParam:藍(lán)牙設(shè)備名稱默認(rèn)名稱“SPPCA”設(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ì)下位機(jī)的程序開發(fā)環(huán)境為Keil uVision4,開發(fā)語言為C52。本次選用的藍(lán)牙模塊是SPPCA,SPPCA藍(lán)牙模塊是專門為了無線數(shù)據(jù)傳輸而設(shè)計(jì)的,本模塊支持SPP藍(lán)牙串口協(xié)議,成本低、功耗低、體積小、收發(fā)靈敏度高,[10]很適合52單片機(jī)這種低功耗的開發(fā)板。sbit MOTOR_IN22=P2^3。sbit MOTOR_IN12=P2^5。直流電機(jī)的兩個(gè)端口的電壓不同,電機(jī)運(yùn)轉(zhuǎn)方式不同。小車的輪子是由兩個(gè)直流電機(jī)驅(qū)動的,52單片機(jī)的I/O口不能夠直接驅(qū)動直流電機(jī),因?yàn)閱纹瑱C(jī)I/O口的電流過小,驅(qū)動力不足。三輪車的方向由兩個(gè)驅(qū)動輪控制,所以控制起來很方便。 環(huán)境感知傳感器的硬件連接傳感器與單片機(jī)的I/O口連接如下表:表32 傳感器與I/O連接表傳感器引腳I/O引腳MQ2:AOUTPCF8591:AN2PCF8591:SDA、SCLSTC89C52RC:、DHT11:DATASTC89C52RC:DS18B20:DATASTC89C52RC: 小車的運(yùn)動控制機(jī)構(gòu)設(shè)計(jì)只有一塊開發(fā)板是不夠的,缺乏靈活性,所以把開發(fā)板用一個(gè)兩驅(qū)三輪小車搭載起來。模擬量經(jīng)過PCF8591轉(zhuǎn)換成數(shù)字量,數(shù)字量轉(zhuǎn)換成相應(yīng)濃度的公式為:co=co*4。(3)可燃?xì)怏w濃度這里的可燃性氣體主要為甲烷、酒精、CO、氫氣,為了可以測量這四種氣體的濃度,本次課題選擇了MQ2型氣敏傳感器,其靈敏度特性圖見下:圖310 MQ2靈敏度特性由上圖可知,MQ2對甲烷、酒精、CO、氫氣的靈敏相對較高,故可以作為這四種氣體濃度檢測的傳感器。light*=4。 _Nop()。 _Nop()。 SDA=1。 _Nop()。 _Nop()。 //發(fā)送結(jié)束條件的時(shí)鐘信號 SCL=1。}/*結(jié)束總線*/void Stop_I2c(){ SDA=0。 //鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) _Nop()。 _Nop()。 _Nop()。 //發(fā)送起始信號 _Nop()。 _Nop()。 _Nop()。 _Nop()。 //發(fā)送起始條件的數(shù)據(jù)信號 _Nop()。C總線時(shí)序圖I178。C總線的時(shí)序與單總線不同,它有單獨(dú)的數(shù)據(jù)線和控制線,I178。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行I178。單片機(jī)不能直接讀取模擬電壓,所以需要通過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號。[9]電導(dǎo)率的變化會導(dǎo)致電壓變化,所以不同的電壓就對應(yīng)了不同的光照強(qiáng)度。(2)光照強(qiáng)度傳感器光照強(qiáng)度傳感器,顧名思義,是檢測光照強(qiáng)度的,市場上一般叫做光度計(jì),但是一般的光度計(jì)體積大,而且價(jià)格較高,為了節(jié)約成本,本課題利用光敏電阻和PCF8591設(shè)計(jì)了一個(gè)簡略的光度計(jì)。 dat = DQ1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。_nop_()。_nop_()。 _nop_()。_nop_()。_nop_()。 DQ1=1。寫0:DQ1=0。DQ1=1。_nop_()。 DQ1=1。 time_delay(240)。本次課題因?yàn)榫偷厝〔牡木壒?,設(shè)計(jì)之初選擇了溫濕度傳感器DHT11,但是通過查找手冊發(fā)現(xiàn)DHT11檢測溫度的范圍在0~50℃,[7]不符合實(shí)際檢測溫度的范圍要求,但是DHT11對于濕度的檢測范圍符合要求,所以DHT11的工作主要是檢測濕度,而溫度的檢測則使用檢測范圍更大的DS18B20,DS18B20的測量范圍為55℃~+125℃。 環(huán)境感知傳感器的選擇與設(shè)計(jì)本次課題下位機(jī)需
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1